Geodocs.dev

FAQ schema for AEO: common implementation mistakes (and fixes)

ShareLinkedIn

Open this article in your favorite AI assistant for deeper analysis, summaries, or follow-up questions.

FAQ schema still helps AI engines extract and cite Q&A pairs, but only if the markup is valid, the questions visibly match the rendered HTML, and the answers are self-contained. The most damaging mistakes are mismatched Q&A pairs, hidden answers, multiple FAQPage blocks, promotional answers, and assuming Google rich results still apply to non-authoritative sites after the 2023 restriction.

TL;DR

FAQ schema is no longer a free Google rich-snippet for most sites — since August 2023, FAQ rich results have been restricted to well-known authoritative government and health sites. But the markup still pays off in AEO: ChatGPT, Perplexity, Google AI Overviews, and Copilot all use clean Q&A structure (markup + visible HTML) to extract and cite answers. Most FAQ schema deployments fail one of twelve common checks below. Fix them in order.

Why FAQ schema still matters in 2026

  • Visible, structured Q&A blocks remain one of the most reliable shapes for AI answer extraction.
  • AI engines look for the pairing of a question and its self-contained answer; FAQPage JSON-LD makes that pairing explicit and machine-trivial.
  • Schema markup also feeds entity disambiguation and topical clustering inside both classic search indices and LLM retrieval pipelines.

What changed: Google's August 2023 update limited FAQ rich results in SERP listings to authoritative government and health websites. This is a SERP-display restriction, not a deprecation — the schema is still valid, still parsed, and still useful for AI engines.

The 12-point FAQ schema mistakes checklist

Walk every FAQ template through this list. Each item is a single failure mode with a concrete fix.

1. Treating FAQ schema like a 2022 rich-snippet hack

  • Mistake: Stuffing pages with marginal FAQs purely to grab Google rich results.
  • Why it hurts: Since Aug 2023, non-authoritative sites do not get FAQ rich results, and stuffed/low-quality FAQs hurt AI extraction quality.
  • Fix: Only mark up Q&A pairs that real users actually ask. Quality over quantity.

2. Markup that does not match visible HTML

  • Mistake: Putting Q&A pairs only inside the JSON-LD block, with no rendered HTML on the page.
  • Why it hurts: Google's guideline requires that the marked-up content be visible to users; AI extractors also weight visible HTML far higher than hidden JSON.
  • Fix: Render every Q&A pair as visible HTML (e.g., h3 for question, p for answer) and mirror it in JSON-LD.

3. Hidden answers behind toggles or accordions

  • Mistake: Wrapping answers in collapsed accordions where the answer text is loaded via JS only on click.
  • Why it hurts: AI crawlers and many extractors do not click; if the answer text is not in the initial DOM, it is not extractable.
  • Fix: Put the full answer in the rendered HTML on first paint. Accordions are fine visually as long as the text is present in the source.

4. Wrong type or missing required properties

  • Mistake: Using Question without nesting it under FAQPage, or omitting acceptedAnswer.text.
  • Why it hurts: Validators reject the markup; AI engines may skip malformed blocks entirely.
  • Fix: Use the canonical shape: FAQPage → mainEntity (array of Question) → acceptedAnswer (Answer with text).

5. Multiple FAQPage blocks per page

  • Mistake: Emitting one FAQPage block per FAQ section.
  • Why it hurts: Schema.org expects one FAQPage per page; multiple blocks confuse parsers and may cause some AI engines to ignore all of them.
  • Fix: One FAQPage per page, with all Q&A pairs in the mainEntity array.

6. Marketing copy in answers

  • Mistake: Answers like "At Acme, our award-winning team always delivers..."
  • Why it hurts: Promotional language signals low extraction quality; AI engines prefer direct, factual answers.
  • Fix: Lead with a direct one-sentence answer to the question. Save brand voice for surrounding paragraphs.

7. Answers that are not self-contained

  • Mistake: "See above", "Click here for details", or answers that depend on the previous question's context.
  • Why it hurts: AI engines extract individual Q&A pairs; orphaned answers either get dropped or get cited with missing context.
  • Fix: Every answer must read correctly on its own, even if pulled out of the page.

8. Embedded HTML in acceptedAnswer.text