Structured data is the markup that tells Google “this thing on the page is an article, a person, a breadcrumb trail.” Done right, it earns rich results: author bylines, publish dates, and a breadcrumb path in place of the raw URL. Done wrong, it does nothing or trips a structured-data manual action.
The catch in 2026: Google has been retiring rich-result types fast. FAQ rich results stopped appearing on May 7, 2026 and are being fully removed from the tooling this summer. HowTo results were dropped back in 2023. The sitelinks search box went away in November 2024. So most of the schema “tips” floating around are now chasing features that no longer exist. This guide covers only what still works, and you can ship all of it in one afternoon.
TL;DR
- Ship exactly three JSON-LD types:
Article(orBlogPosting) on every article,BreadcrumbListon pages with a breadcrumb trail, andOrganizationonce on your homepage. - Do not add
FAQPagefor rich results anymore. As of May 7, 2026 it shows for nobody, and Google is pulling it from the Rich Results Test in June 2026. (Keeping a real FAQ section on the page is still good for readers and AI Overviews; just do not expect a SERP snippet.) - Skip
HowTo,Product,Recipe,Eventunless your page literally is that thing.HowTorich results were deprecated in 2023. - Validate with the Rich Results Test and confirm coverage in Search Console after 1–2 weeks.
What Google still supports for content sites (June 2026)
Here is the honest scorecard. Rich-result eligibility changed a lot between 2023 and 2026, so this is the part most older tutorials get wrong.
| Schema type | Rich result in 2026? | Worth adding? |
|---|---|---|
Article / BlogPosting | Byline, publish/modified date, article image | Yes, on every article |
BreadcrumbList | Breadcrumb path replaces the URL in SERP | Yes, if you have breadcrumbs |
Organization | Feeds the knowledge panel + publisher logo | Yes, once on homepage |
FAQPage | No — removed for all sites May 7, 2026 | No (keep the FAQ text, drop the markup goal) |
HowTo | No — deprecated Sept 2023 | No |
Sitelinks search box (WebSite + SearchAction) | No — removed Nov 21, 2024 | No |
Product / Review | Price, stars, availability | Only on real product pages |
The pattern is clear: Google has narrowed rich results to types that describe a page’s core identity (Article, Breadcrumb, Organization, Product) and retired the “bonus” types that sites were gaming (FAQ, HowTo). Chasing the retired ones in 2026 is wasted effort.
When to bother with this
- You run a content site (blog, docs, guides) with 10+ articles.
- Your articles have an author, a publish date, and a single canonical URL.
- You want author and publish-date metadata in the Google snippet.
- You are preparing for AdSense or affiliate review and want clean, accurate technical-SEO signals.
If your framework already injects this schema, you may be done. Most modern starters (Astro, Next.js content kits, Hugo themes) emit Article and BreadcrumbList out of the box. View source before you add anything.
The three types, field by field
1. Article (or BlogPosting) on every article page
Google’s official guidance is blunt: there are no strictly required properties for Article. You add the ones that apply. But to actually earn the byline and date display, include these recommended fields:
headline— concise; Google truncates long titles in the rich result, so keep it under roughly 110 characters and matching your visible<h1>.author— aPersonobject withnameand aurlto an author page. Put only the name inauthor.name; no titles or honorifics.datePublishedanddateModified— both in ISO 8601 (2026-06-01T08:00:00+00:00).image— a full absolute URL. Google recommends supplying 16:9, 4:3, and 1:1 versions; each should be high-resolution (the documented floor is 50,000 px, i.e. width × height, so a 1200×630 hero clears it easily).publisher— anOrganizationwithnameand alogo.
BlogPosting is a subtype of Article and is the cleaner choice for a personal blog; Article is the safe, portable default. NewsArticle only makes sense if you are a news publisher chasing Top Stories, which has its own eligibility bar.
2. BreadcrumbList on pages with a breadcrumb trail
If your page has a Home › Category › Article trail, mark it up. Each ListItem needs a position (1, 2, 3…), a name, and the item URL. When Google honors it, the breadcrumb path replaces the raw URL in the result, which reads cleaner and nudges CTR. This is one of the few “bonus” rich results that survived the 2023–2026 cull, so it is worth the few lines.
3. Organization once on the homepage
Drop a single Organization block on your homepage with name, url, and a logo. This is what feeds your publisher logo into Article rich results and seeds a knowledge panel. Note what changed: the old advice to bolt a WebSite + SearchAction block on for a “sitelinks search box” is dead — Google removed that visual element globally on November 21, 2024 and pulled the report from Search Console. You can leave the WebSite block in (unsupported markup does no harm), but it earns you nothing now.
Step by step
- Audit one article. View source and search for
application/ld+json. Nothing there means you need to add markup. Something there means validate it before adding more. - Add
Article/BlogPostingto your article template with the fields above. Templates beat per-post markup — wire it once into the layout so every post inherits it. - Add
BreadcrumbListif you render breadcrumbs. Generate the list from the same route data your visible breadcrumb uses, so the two never drift apart. - Add
Organizationto the homepage only. One block, not per page. - Validate with the Rich Results Test. Paste a live URL or the JSON-LD itself. Read the warnings — they name the exact recommended field that would unlock more of the result. (Heads up: the test stops flagging
FAQPagein June 2026, so don’t rely on it to validate FAQ markup.) - Confirm in Search Console. Deploy, wait 1–2 weeks, then open Search Console and check the per-type enhancement reports (Article, Breadcrumbs). Errors there are almost always a missing recommended field or an
image/logoURL that 404s.
Common pitfalls
- Markup that contradicts the visible page. If your JSON-LD
headlinediffers from the<h1>text, orauthordiffers from the visible byline, Google can ignore the block or flag it as spammy. The markup must mirror what a reader sees. - Still chasing
FAQPagein 2026. It earns zero rich results now and the tooling support is being removed (Rich Results Test in June 2026, Search Console API in August 2026). Keep genuine FAQ content — it helps readers and gets cited in AI Overviews — but stop treating the schema as a snippet play. - Tagging any article with steps as
HowTo.HowTorich results were deprecated in September 2023. A best-practices post with numbered tips was never aHowToanyway; that type was for single-task instructions (a recipe, a repair). - Broken or undersized
image/logoURLs. Relative paths, 404s, or images below the 50,000-px floor get silently skipped. Use absolute URLs and a 16:9 hero of at least 1200×630. - Stuffing five schema types per page “for coverage.” More markup is not more rich results. Pick the types that genuinely describe the page; extras just add validation noise.
FAQ
- Does JSON-LD boost rankings?: No. It does not move your position. It changes how Google displays an already-ranking result (byline, date, breadcrumb), and a better-looking result earns more clicks at the same rank.
- Should I delete my
FAQPagemarkup now that FAQ rich results are gone?: You don’t have to — unsupported markup won’t hurt you and won’t trigger errors. But don’t add newFAQPagemarkup expecting a snippet; that ship sailed on May 7, 2026 for every non-exempt site. - JSON-LD or Microdata?: JSON-LD. Google has preferred it for years, and it is far easier to maintain because it lives in one
<script>block instead of being threaded through your HTML attributes. Article,BlogPosting, orNewsArticle?:BlogPostingfor a personal blog (it’s the more specific subtype),Articleas the safe default for guides and docs, andNewsArticleonly if you are a news publisher targeting Top Stories.- My Astro/Next starter already emits schema. Do I need to touch anything?: View source and run one URL through the Rich Results Test. If
ArticleandBreadcrumbListalready validate cleanly, you are done — don’t add a second, conflicting block.