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>.