In 2026 Google still uses Article and BreadcrumbList markup on blog posts: Article helps it show the right title, image and date, and breadcrumbs appear in desktop results. FAQ rich results are gone. Google stopped showing them on 7 May 2026 and removed their documentation on 15 June 2026, so FAQPage markup no longer changes how your result looks.
I checked every Google page below on 16 October 2026 and note when each was last updated. Then I show the JSON-LD our own blog outputs today, copy-ready examples for yours, and the checklist I use before a post goes live.
What Google does with each type in 2026
| Schema type | What Google shows or uses (checked on 16 October 2026) | Status |
|---|---|---|
Article (Article, NewsArticle or BlogPosting) | Helps Google understand the page and show better title text, images and date information. No required properties; all are recommended | Supported. Article docs, updated 2026-09-08 |
| BreadcrumbList | Shows the page's position in your site as a breadcrumb trail. Google lists the feature as available on desktop in all regions and languages | Supported. Breadcrumb docs, updated 2026-09-08 |
| FAQPage | Nothing visible. Since August 2023 only well-known government and health sites got FAQ rich results; from 7 May 2026 nobody does | Retired. Docs removed 15 June 2026; the old URL now redirects to the changelog entry |
| ItemList | Powers host carousels only when combined with Course list, Movie, Recipe or Restaurant markup | Supported for those types. Carousel docs, updated 2026-09-08. A list of blog posts doesn't qualify |
| HowTo | Nothing. Removed from desktop and mobile in September 2023 | Retired |
The search gallery (updated 2026-06-15) lists 25 features Google supports. Article and Breadcrumb are on it. FAQ is not, and it's also missing from the list of types the Rich Results Test help page says the test supports.
How FAQ rich results ended
The FAQ change happened in two steps, both documented by Google:
- 8 August 2023: Google's post Changes to HowTo and FAQ rich results said FAQ rich results would only be shown for well-known, authoritative government and health websites. For every other site, they would no longer be shown regularly. The same post said there was no need to remove the markup, and that structured data that isn't used doesn't cause problems for Search.
- May and June 2026: Google's documentation changelog records a deprecation notice on 8 May 2026, saying the feature would no longer appear in Google Search starting 7 May 2026. On 15 June 2026 Google removed the FAQ documentation because the feature is no longer shown in Google Search results.
FAQ wasn't the only cut. Google's June 2025 post Simplifying the search results page phased out Book Actions, Course Info, Claim Review, Estimated Salary, Learning Video, Special Announcement and Vehicle Listing, and said the change doesn't affect ranking. Practice problems followed (documentation removed in January 2026). Google keeps trimming features people rarely used, so it's worth checking the gallery before you add a new type.
What Google still uses structured data for
Rich results are only half the story. Google's introduction to structured data (updated 2025-12-10) says it uses structured data to understand the content of a page and to gather information about the people, books or companies in the markup. Two more points from Google's own pages matter for a blog:
- Your post's image. On 2 March 2026 Google added a section to its image docs clarifying that it uses both schema.org markup and the
og:imagemeta tag when choosing image thumbnails in Search and Discover (recorded in the changelog). The Articleimageproperty is one of those sources. - Your author. The Article docs recommend
authorwith@type,nameand aurl(orsameAs) that identifies the author, one author per entry, and nothing but the name inauthor.name: no job title, no "posted by".
The general structured data guidelines (updated 2026-07-10) set the rules for every type. Mark up only content readers can see, keep it accurate and current, put it on the page it describes, and don't block the page to Googlebot. A structured data manual action removes rich result eligibility but, Google says, doesn't affect how the page ranks. And correct markup never guarantees a rich result.
Does schema help AI answers?
Of the pages I checked, only two search companies say anything about it, and they say different things.
Google: not required. Google's guide to optimizing for generative AI features (updated 2026-07-10) lists "overfocusing on structured data" among the things you can ignore: structured data isn't required for generative AI search, and there's no special schema.org markup to add. It still recommends structured data as part of your SEO because it helps with rich result eligibility. Its AI features page (updated 2025-12-10) adds one requirement that does involve schema: make sure your structured data matches the visible text on the page.
Bing: may help grounding. The Bing Webmaster Guidelines cover Bing search, Copilot and grounding API results. Under "Use Structured Data Accurately" they say structured data "may support clearer grounding but does not guarantee visibility." Markup must reflect visible content, and misleading markup may be ignored. Bing's structured data help page accepts schema.org in JSON-LD, Microdata or RDFa, plus Microformats and Open Graph, and lists breadcrumbs among the scenarios it supports for rich snippets.
Others: nothing stated. OpenAI's, Anthropic's and Perplexity's crawler pages, which I opened the same day for this article, describe their bots and robots.txt controls and don't mention structured data. So I make no claim about schema and ChatGPT, Claude or Perplexity answers. Getting crawled is what their pages do talk about, and I covered that in How to Let AI Crawlers Read Your Blog.
A worked example: what our blog outputs today
This blog runs on LotsBlog, and LotsBlog writes the Article and BreadcrumbList markup for every post automatically. Here is what LotsBlog vs Ghost serves, fetched on 16 October 2026. I shortened the author bio, cut the FAQ to one question and tidied the spacing; every other value is exactly as served.
BreadcrumbList (Home, then the post):
{ "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://blog.lots.blog" }, { "@type": "ListItem", "position": 2, "name": "LotsBlog vs Ghost: A Ghost Alternative for Your AI Agent", "item": "https://blog.lots.blog/lotsblog-vs-ghost" } ] }
Article, built from the post's title, meta description, cover image, dates, the author's profile and the blog's logo:
{ "@context": "https://schema.org", "@type": "Article", "headline": "LotsBlog vs Ghost: A Ghost Alternative for Your AI Agent", "description": "LotsBlog vs Ghost(Pro): an MCP server that runs your blog vs Ghost's docs-only MCP, Admin API plan gates, /blog hosting and prices, checked 15 Oct 2026.", "image": ["https://media.lots.blog/5b8d645b-8043-408f-a33c-2a04b901c0bd/lotsblog-vs-ghost-cover-74117ce0.webp"], "datePublished": "2026-10-16T03:30:16.037Z", "dateModified": "2026-10-16T03:30:16.037Z", "author": { "@type": "Person", "name": "Sivaguru Ayyadurai", "url": "https://blog.lots.blog/profile/sivaguru", "image": { "@type": "ImageObject", "url": "https://media.lots.blog/64d7562a-1f16-4d63-8797-871e95c37a4c/avatar-1780930832642.jpg" }, "description": "Sivaguru Ayyadurai is the founder of LotsTech... (shortened here)", "sameAs": ["https://www.linkedin.com/in/sivagurudurai/", "https://x.com/sivagurudurai", "https://sivaguru.me"] }, "publisher": { "@type": "Organization", "name": "LotsBlog", "url": "https://blog.lots.blog", "logo": { "@type": "ImageObject", "url": "https://media.lots.blog/blogs/5b8d645b-8043-408f-a33c-2a04b901c0bd/branding/jtw/logo.png" } }, "mainEntityOfPage": { "@type": "WebPage", "@id": "https://blog.lots.blog/lotsblog-vs-ghost" }, "url": "https://blog.lots.blog/lotsblog-vs-ghost", "keywords": "LotsBlog vs Ghost, Ghost alternative AI, Ghost vs, Ghost(Pro) pricing, Ghost MCP server, Ghost Admin API, Ghost subdirectory /blog, blog platform with MCP" }
FAQPage, which my agent passed in the post's structured_data field with the same text as the visible FAQ:
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "Is LotsBlog a Ghost alternative?", "acceptedAnswer": { "@type": "Answer", "text": "Yes, for a blog your AI agent writes and runs. LotsBlog costs $9 per blog or $24 for three, includes an MCP server and REST API on every plan, and serves blogs on a custom domain or at yourdomain.com/blog. For paid memberships and built-in newsletters, Ghost is built for that." } }] }
Topic pages get their own markup. AI Blogging and SEO serves a CollectionPage with a BreadcrumbList and an ItemList of its posts. Per the carousel docs above, Google won't turn that list into a carousel, but it describes the page accurately for anything that reads it.
How the pieces map in LotsBlog:
- Generated for you: Article on every post (NewsArticle when you switch a post to News Article in the post editor), BreadcrumbList on every post, ItemList on list posts and topic pages, and Organization, WebSite and Blog on the home page.
- Added by your agent: supplemental schema such as FAQPage or HowTo, through
structured_dataoncreate_blog_postorupdate_blog_post(or the same field in the REST API). LotsBlog skips any Article, NewsArticle, BlogPosting or BreadcrumbList sent there, so a post never ships two competing Article blocks (the docs ask agents to leave out ItemList too), and it strips inline JSON-LD from post bodies.
Why do I still send FAQPage when Google no longer shows it? It describes a real, visible part of the page, Google's 2023 post said unused markup doesn't cause problems, and Bing's guidelines say accurate structured data may support grounding. It costs nothing to keep accurate. What I don't do is expect a rich result from it.
Copy-ready JSON-LD for a blog post
Replace the example.com values, keep every value identical to what the page shows, and put each block in a <script type="application/ld+json"> tag. If your platform already generates Article or breadcrumbs (LotsBlog, most CMS plugins), add only what's missing, or you'll have two of the same type.
Article for a blog post. Google accepts Article, NewsArticle or BlogPosting; BlogPosting is the most specific for a blog, and Google's guidelines ask for the most specific type that applies.
{ "@context": "https://schema.org", "@type": "BlogPosting", "headline": "How We Cut Our Onboarding Emails From Nine to Three", "description": "What we removed, what we kept and the numbers after 60 days.", "image": [ "https://example.com/images/onboarding-16x9.jpg", "https://example.com/images/onboarding-4x3.jpg", "https://example.com/images/onboarding-1x1.jpg" ], "datePublished": "2026-10-16T09:00:00+05:30", "dateModified": "2026-10-16T09:00:00+05:30", "author": [{ "@type": "Person", "name": "Jane Doe", "url": "https://example.com/authors/jane-doe" }], "publisher": { "@type": "Organization", "name": "Example", "url": "https://example.com" }, "mainEntityOfPage": { "@type": "WebPage", "@id": "https://example.com/blog/onboarding-emails" } }
BreadcrumbList. At least two items. Google recommends a trail that matches a typical reader's path rather than the URL structure, and the last item may leave out item (Google then uses the page's own URL).
{ "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Blog", "item": "https://example.com/blog" }, { "@type": "ListItem", "position": 2, "name": "Email", "item": "https://example.com/blog/topic/email" }, { "@type": "ListItem", "position": 3, "name": "How We Cut Our Onboarding Emails From Nine to Three" } ] }
FAQPage, only if the page shows the same questions and answers, word for word:
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "How many onboarding emails do you send now?", "acceptedAnswer": { "@type": "Answer", "text": "Three: a welcome email, a setup reminder on day two and a check-in on day seven." } }, { "@type": "Question", "name": "Did fewer emails lower activation?", "acceptedAnswer": { "@type": "Answer", "text": "No. Activation held steady over the 60 days we measured." } } ] }
On LotsBlog, ask your agent for it in plain words:
Add a "Common questions" section to this draft with four real questions readers ask, and pass the same questions and answers as FAQPage in structured_data. Keep it a draft.
Validation checklist
Before a post goes live:
- Run the Rich Results Test on the URL (or paste the code). Article and Breadcrumb should show as valid items. Don't expect FAQ: it's no longer in the test's list of supported types.
- Check every type, FAQPage included, with the Schema Markup Validator from schema.org. It parses any schema.org type, so it's where you catch a broken FAQ block now.
- Compare markup to the page. Headline matches the H1,
imagerepresents the post (your cover image works), dates match the visible dates, the author is the person in the byline, and FAQ text matches the visible FAQ exactly. - Use full ISO 8601 dates with a timezone, and update
dateModifiedonly when the content really changed. - List each author in their own entry, with
@typeand aurlorsameAs. Only the name goes inauthor.name. - Make sure Googlebot can fetch the page and its images: no robots.txt block, no
noindex, no login wall. The test runs as Google-InspectionTool, so a blocked page fails there first. - Look for duplicates. Two Article blocks from a theme and a plugin is a common mistake; view the page source and count them.
- After publishing, inspect the URL in Search Console, then watch the Breadcrumbs report and the Performance report. Google's intro page suggests comparing pages with and without markup over a few months if you want to measure the effect.
What this means for your blog
Keep Article and BreadcrumbList on every post, accurate and complete. They're the two types a blog post still gets something visible from in Google. Keep FAQPage only where a real FAQ is on the page, and treat it as description, not as a way to get a bigger result. And don't add markup in the hope of AI citations: Google says none is needed, and Bing says accurate markup may help grounding but guarantees nothing. What every AI answer does need is a page it can crawl and trust, which comes back to content: see Does Google Penalize AI-Written Blog Posts? for what Google says about that.
LotsBlog generates the Article and breadcrumb markup, the sitemap, RSS and llms.txt for every post, and your agent adds FAQPage when the post has a FAQ. Give your agent this to set it up:
Read https://lots.blog/skill.md and help me connect LotsBlog for you.
LotsBlog costs $9 per blog, or plans from $24 for 3 blogs, with unlimited posts, page views and authors. New accounts get 10,000 free credits, valid 90 days, no card. See pricing.
Common questions
Does Google still show FAQ rich results?
No. Google stopped showing FAQ rich results on 7 May 2026 and removed the FAQ documentation on 15 June 2026. Since August 2023 they had only appeared for well-known government and health websites.
Should I remove FAQPage schema from my blog posts?
You don't have to. When Google limited FAQ results in 2023, it said there was no need to remove the markup and that unused structured data doesn't cause problems for Search. Keep it only where the same questions and answers are visible on the page.
Should a blog post use Article or BlogPosting schema?
Either works for Google, which accepts Article, NewsArticle and BlogPosting. BlogPosting is the most specific type for a blog post. What matters more is the recommended properties: headline, image, datePublished, dateModified and author.
Do breadcrumbs still show in Google results?
Yes. Google's breadcrumb documentation, updated September 2026, lists the feature as available on desktop in all regions and languages where Google Search is available. A BreadcrumbList needs at least two items with position and name.
Does schema help my posts appear in AI Overviews, Copilot or ChatGPT?
Google says structured data isn't required for its generative AI features and there's no special markup to add. Bing says structured data may support clearer grounding in Copilot but doesn't guarantee visibility. OpenAI's, Anthropic's and Perplexity's crawler pages don't mention it.
How do I test FAQPage markup now that the Rich Results Test doesn't support it?
Use the Schema Markup Validator at validator.schema.org, which checks any schema.org type. Use Google's Rich Results Test for Article and Breadcrumb, then compare the FAQ markup with the visible FAQ by eye.
