Most posts about FAQPage schema were written when the SERP rich
result was the prize. That prize is gone for almost everyone. On
August 8, 2023, Google announced on the Search Central blog that
FAQ rich results would be limited to "well-known, authoritative
government and health websites." Every other site stopped seeing
the expandable Q&A treatment in search within a week. A lot of teams
quietly stripped the schema. That was the wrong call.
The 2026 reason to ship FAQPage is different. Answer engines lift
your Q&A pairs straight into their responses, often with a citation
back to your URL. Ship it.
What FAQPage schema actually does in 2026
In April 2025, Google's Search team confirmed structured data gives pages an advantage in AI Overview retrieval. In March 2025, Microsoft Bing's Fabrice Canel said the same about schema and Copilot. Neither platform claims schema is sufficient. Both treat it as a parsing shortcut. The model gets a labeled question paired with a labeled answer instead of guessing where one ends and the next starts.
Perplexity and ChatGPT have not formally documented their pipelines.
Industry tracking through 2025 showed a strong correlation between
FAQPage markup and citation rates across all four engines. A
December 2024 Search/Atlas study found no causal link, so treat the
correlation honestly: schema lowers extraction cost, it does not
manufacture authority. Pair it with prose worth citing.
The August 2023 change, in plain terms
Google did not deprecate FAQPage as a Schema.org type. The class
is still in the vocabulary. Google's Search Central blog post
narrowed who can earn the rich result, not what the schema means.
Three things follow.
The FAQ rich result still appears for .gov and major health
publishers. Everyone else gets ignored at the SERP layer. Keeping or
adding the schema does not penalize you. Google's own guidance
says it has no negative effect.
HowTo got a harder cut. Google extended the desktop restriction
on September 14, 2023 and dropped support entirely. FAQPage is in
a different bucket: deprecated as a SERP feature for most sites,
still useful as machine-readable Q&A.
The visible-content rule (this is where most pages fail)
Google's FAQPage documentation is explicit: every question and answer in your JSON-LD must appear in full, visible text on the rendered page. Hidden-only content is a guideline violation. Accordions and expandable panels are fine when the content is in the DOM and reachable. What is banned is schema that contains Q&A the user cannot see at all.
Two more constraints from the same page. There must be one
FAQPage definition per page. Every Question instance must sit
inside the mainEntity array. The text field in acceptedAnswer
takes plain text. No HTML tags. No embedded links. Strip markup
before serialization or your validator will silently accept the
string while extractors mangle the rendering.
Do not duplicate the same FAQ block across many URLs. Pick the
canonical home for each question and let internal links carry users
to it. Duplicate FAQPage blocks across a site dilute which URL
gets cited.
A valid block you can ship
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Does Google still show FAQ rich results in 2026?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Only for well-known government and health websites. Google narrowed eligibility on August 8, 2023. Other sites keep the schema for AI extraction, not for SERP rich results."
}
},
{
"@type": "Question",
"name": "Do AI Overviews and Perplexity read FAQPage schema?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Google and Microsoft confirmed in 2025 that structured data helps their AI systems parse pages. Perplexity and ChatGPT have not published their pipelines, but industry observation links FAQPage markup to higher citation rates across all four engines."
}
},
{
"@type": "Question",
"name": "Can I hide FAQ answers behind a toggle and still mark them up?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes if the content is in the rendered DOM and reachable by the user. No if the answer text exists only inside the JSON-LD. Google requires markup to match visible content."
}
}
]
}
</script>That block validates against the Schema.org vocabulary and Google's
Rich Results Test. The required path is @context → @type:
"FAQPage" → mainEntity array → each Question with name and
acceptedAnswer.Answer.text. Anything beyond that is optional.
Validation and the two URLs you need
Run two checks before deploy. The Schema.org validator
catches vocabulary errors that Google-specific tools skip: wrong
@type strings, missing required properties, malformed JSON. It is
the rebrand of Google's old Structured Data Testing Tool, now
hosted at validator.schema.org, and it covers the full Schema.org
graph.
Pair it with Google's Rich Results Test. This one only validates the subset Google uses for SERP features. For most sites the FAQ rich result is no longer eligible, so the tool reports the schema as "detected" without the rich result preview. That is the expected, healthy state. You want detected, not eligible. Eligibility is gated to the government and health allowlist now.
If you ship through a CMS, paste the rendered HTML into Schema.org's validator after every template change, because layout refactors are where injected JSON-LD silently disappears between commits without breaking any visible markup. Server-rendered JSON-LD beats client-injected blocks for AI extraction because more crawlers parse the source HTML without executing JavaScript. A Cloudflare Worker will inject the block at the edge if your origin renders too late.
Where to put it (and where not to)
Use FAQPage only on pages that genuinely answer a list of
questions and where each question has a single accepted answer. A
product landing page with three marketing FAQs at the bottom
qualifies. A documentation page with a Q&A appendix qualifies. A
forum thread with multiple competing answers does not. That maps
to QAPage, a different type with different semantics.
Phrase the name field the way real users phrase the question.
"What is two-factor authentication?" beats "2FA: definition." Match
the question text to natural-language search intent. The answer
text should be self-contained: usable as a quoted snippet without
the surrounding page context. Forty to sixty words is the sweet
spot for AI extraction; longer answers get truncated.
Verify before shipping
isitready.dev audits structured data
across every page of your site. It validates FAQPage blocks
against the Schema.org spec. It flags hidden-only Q&A that violates
Google's visible-content rule. It reports duplicate blocks shared
across URLs. Run it against your canonical origin before launch
and after any template change that touches the <head>.