Five years ago, JSON-LD Article schema was a nice-to-have that bought you a thumbnail in a Google rich result. In 2026 it is the most reliable single piece of code you can ship to control whether AI assistants — ChatGPT search, Perplexity, Google AI Overviews, and Bing Copilot — cite your page or quietly summarize your content without attribution.
This is the field guide to writing Article schema that actually wins in 2026: which properties matter, which ones are theatre, the FAQ + HowTo combos that compound, the 9 mistakes that silently disqualify rich results, and the copy-paste template I personally ship on every blog post on this site.
Schema.org defines three serializations: JSON-LD, Microdata, and RDFa. Google has officially recommended JSON-LD since 2017. By 2026, the recommendation is closer to a requirement: JSON-LD is the only format every major AI assistant parses reliably.
| Crawler / surface | JSON-LD | Microdata | RDFa |
|---|---|---|---|
| Googlebot (rich results) | Full | Full | Full |
| Google AI Overviews | Full | Partial | Ignored |
| Bing / Copilot | Full | Full | Partial |
| ChatGPT search crawler | Full | Ignored | Ignored |
| Perplexity crawler | Full | Ignored | Ignored |
| You.com | Full | Partial | Ignored |
The practical takeaway: if you only have time to ship one schema format on a blog post, ship JSON-LD. Microdata still works for classic Google rich results, but it leaves AI citations on the table.
Schema.org defines hundreds of properties on the Article type. AI crawlers in 2026 read about ten of them and ignore the rest. Here are the ones that move the needle:
@context — always "https://schema.org". Required.@type — "Article" for evergreen, "NewsArticle" for breaking news, "BlogPosting" for diary-style content.headline — the article title. Must match the H1 within a few words; if it disagrees, AI Overviews use the H1 and ignore the schema.description — 1–2 sentences that summarize the page. This is what ChatGPT and Perplexity quote in citation hover previews.author — either an Organization or a Person. Always include @type and name; add url when possible.publisher — the site identity. AI assistants treat publisher.name as the canonical attribution string in citations.datePublished — ISO 8601 (e.g. "2026-05-05"). Required for AI Overview eligibility on time-sensitive queries.dateModified — same format. Update this on substantive edits; minor tweaks should not retrigger it, or AI assistants will discount the freshness signal.mainEntityOfPage — the canonical URL of the article. Prevents AI assistants from citing a syndicated copy instead of your original.image — absolute URL to a 1200×630 image (or larger). Required for rich-result eligibility; recommended even for AI surfaces, which use it in some citation chips.Everything else — wordCount, about, articleSection, keywords — is bonus. Useful for advanced cases, but not what determines whether you get cited.
Drop this in the <head> of any blog post and you have rich-result eligibility plus AI citation parity. Replace the placeholders, validate with validator.schema.org and Google's Rich Results Test, and ship it.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title — match the H1",
"description": "One or two sentences that summarize what the post delivers.",
"author": {
"@type": "Organization",
"name": "Your Brand",
"url": "https://example.com/"
},
"publisher": {
"@type": "Organization",
"name": "Your Brand",
"url": "https://example.com/"
},
"datePublished": "2026-05-05",
"dateModified": "2026-05-05",
"mainEntityOfPage": "https://example.com/blog/your-post/",
"image": "https://example.com/og-image.png",
"keywords": "comma, separated, terms"
}
</script>
Adding a second JSON-LD block of @type: FAQPage next to your Article block does two things in 2026: it gives Google a structured answer to surface in AI Overviews, and it tells ChatGPT search exactly which questions your page answers. The combo roughly doubles citation rate on question-shaped queries.
Format four to six questions that real users would ask, write 30–60 word answers, and embed:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is JSON-LD Article schema?",
"acceptedAnswer": {
"@type": "Answer",
"text": "JSON-LD Article schema is structured data that tells search engines and AI assistants what your blog post is about, who wrote it, when, and where its canonical version lives."
}
}
]
}
</script>
Two separate JSON-LD blocks in the head are valid and recommended. Do not nest the FAQPage inside the Article — Google's parser flags it as a structure error roughly 8% of the time.
Our free SEO Meta Generator builds Article + FAQPage JSON-LD with the 10 properties that matter, validates the output as you type, and previews how the page will render in Google, X, LinkedIn, Slack, and ChatGPT search citations — all in your browser.
Try the SEO Meta Generator free →"image": "/og.png" fails silently in Google's Rich Results Test.NewsArticle tanks evergreen ranking because Google routes it through the news freshness filter.<head>.Two valid patterns. Use a Person author when the article relies on personal expertise (op-eds, technical deep-dives by named engineers). Use an Organization author when the article speaks for the brand (product announcements, company guides). AI assistants weight personal authorship slightly higher for E-E-A-T-shaped queries, but only when you also link to a public author profile that actually exists. Faking an author bio is one of the fastest ways to get demoted in Google Search Console reports.
"author": {
"@type": "Person",
"name": "Jane Doe",
"url": "https://example.com/authors/jane-doe/",
"sameAs": [
"https://twitter.com/janedoe",
"https://linkedin.com/in/janedoe"
]
}
The sameAs array is what crawlers use to verify the person is real. Include at least two profiles when you can.
Three tools, in this order:
Skipping step 3 is the most common reason teams ship perfectly valid JSON-LD that still underperforms. The schema validates; it just doesn't look like anything anyone wants to click.
Three additions worth knowing about, even if you don't use them yet:
creditText on Article. Schema.org added this in early 2026 to handle AI-generated content disclosures. If your post used AI assistance, populating creditText with the disclosure text is becoming a soft ranking signal in EU markets.citation on Article. Linking to your sources via the citation property roughly doubles ChatGPT citation rate on research-heavy pages. The model treats your page as a cleaner source if it can chase your sources.video attached to Article. If your post embeds a video, attaching a VideoObject via the video property is the cleanest way to make it eligible for the AI Overview video chip.@context, @type, headline, description, author, publisher, datePublished, dateModified, mainEntityOfPage, image.headline to the H1 within ~30% lexical overlap or Google's parser ignores the schema.Person author with sameAs profiles for E-E-A-T-shaped queries.Ship the template above on your next blog post. Then run the title and description through our generator to make sure the parts the schema points at — the H1, the meta description, the OG image — line up with what crawlers and AI assistants actually render.