Skip to content
Citable
Structured dataBeginner · 8 min read

FAQ content that answer engines pick up (and why FAQPage rich results went away)

How to choose real questions, write self-contained answers, keep them in the HTML and mark them up — now that Google has retired the FAQ rich result.

Published

Short answer

FAQ content works for answer engines when each item pairs a question people ask with a self-contained answer of 40–80 words, rendered in the HTML rather than loaded on click, and mirrored in FAQPage JSON-LD from the same fields. Google restricted FAQ rich results in 2023 and withdrew them in May 2026, but FAQPage remains valid schema.org, and question-and-answer pairs are the passages retrieval systems extract.

Key takeaways

  1. 01Google limited FAQ rich results to government and health sites in 2023 and withdrew them entirely in May 2026; FAQPage markup remains valid schema.org.
  2. 02Source questions from People Also Ask, forum threads and assistant-style prompts, and keep the user's phrasing in the heading.
  3. 03Each answer should stand alone in 40–80 words, naming the entity in its first sentence and never pointing back to earlier text.
  4. 04Render answers in the HTML with native details and summary elements; collapsed content stays in the DOM, content fetched on click does not.
  5. 05Generate FAQPage JSON-LD from the same CMS fields as the visible questions so markup and page can never disagree.
  6. 06Use an in-article FAQ for follow-up questions and a dedicated page when the questions are the topic itself.
On this page

What changed, and what did not

The FAQ rich result — the expandable question-and-answer block that used to appear under a Google listing — went away in two steps.

On 8 August 2023, Google's Search Central blog announced that FAQ rich results would "only be shown for well-known, authoritative government and health websites"; for every other site the rich result "will no longer be shown regularly". The same post said there was no need to remove the markup: "structured data that's not being used does not cause problems for Search, but also has no visible effects in Google Search."

On 8 May 2026, Google's documentation changelog added a deprecation notice stating that the feature "will no longer appear in Google Search starting May 7, 2026". In June 2026 the changelog recorded that the FAQ rich result documentation had been removed altogether.

That is the whole story of the rich result. Three things did not change.

  • FAQPage is still a valid schema.org type. schema.org/FAQPage defines it as "a WebPage presenting one or more 'Frequently asked questions'", a subtype of WebPage. The vocabulary is unchanged and anything that parses JSON-LD can still read it.
  • Question-and-answer pairs are still the tidiest passage a retrieval system can extract. Answer engines split pages into chunks and score each chunk against a query. A heading that is the question, followed by a paragraph that is the answer, is a chunk that needs no context from anywhere else on the page.
  • Visible text is still what counts. Google's documentation for AI features says you "don't need to create new machine readable files, AI text files, or markup to appear in these features" and that "there's also no special schema.org structured data that you need to add". The requirement is that the page is indexed and eligible to be shown with a snippet.

So the job of an FAQ section moved. It used to be a search-result decoration. Now it is a set of quotable passages that also carry a machine-readable label.

Find the questions people actually ask

An FAQ written from inside the company answers questions nobody asked. An FAQ that gets cited answers the questions people type into a search box or an assistant. There are four cheap places to find them.

  1. People Also Ask. Search for your main query in Google and expand the People Also Ask box; each expansion reveals further questions, phrased the way searchers phrase them.
  2. Forum phrasing. Reddit threads, Stack Overflow, GitHub issues and product forums show the question with its constraints attached: "does X still work if I…".
  3. Assistant-style prompts. Questions put to ChatGPT, Claude or Perplexity are longer and more conversational than search queries, and often carry a situation ("I run a Next.js site and…"). Write at least one question in that register.
  4. Your own data. Search Console queries containing "how", "why", "can", "does" and "vs"; support tickets; sales call notes.

Keep the phrasing: the heading should read the way the question is asked, not the way a marketing team would rewrite it.

Written from the insideWritten from the question
CompatibilityDoes FAQPage markup still work after the 2023 change?
Pricing and plansIs there a free plan, and what does it leave out?
Our approach to securityWhere is my data stored and who can access it?

One question per item. "How do I install it and what does it cost?" is two chunks fighting over one heading.

Write answers that stand on their own

An answer engine will lift the answer paragraph out of your page and drop it into a context where the heading, the previous paragraph and the product name may all be missing. Write for that context.

  • Name the entity in the first sentence. "FAQPage markup is still valid schema.org" travels; "Yes, it still works" does not.
  • Answer, then qualify. The first sentence is the answer. The second and third add the condition, the exception or the number. Nothing comes before the answer.
  • Stay within 40–80 words. Long enough for an answer and one qualification, short enough to be quoted whole. An answer that wants 300 words is a section or a page; write the short answer here and link to the long one.
  • Put one verifiable thing in it. A date, a version, a named source, a number with a unit. The GEO study by Aggarwal et al. found that adding citations, quotations and statistics raised a source's visibility in generated answers substantially.
  • No back-references. No "as mentioned above", no "this" without a noun, no "the tool" when you mean the product name.

Put the answers in the HTML with native details

The most common way FAQ sections fail is an accordion that renders the question in HTML and fetches the answer only on click. A crawler with a small rendering budget sees questions with nothing under them.

The fix is the platform's own disclosure widget. MDN describes <details> as a widget "in which information is visible only when the widget is toggled into an open state", and the content stays in the DOM whether the widget is open or closed. A group of <details> elements that share a name attribute behaves as an exclusive accordion — "only one of the grouped <details> elements can be open at a time" — with no script at all.

html
<section aria-labelledby="faq-heading">
  <h2 id="faq-heading">Frequently asked questions</h2>

  <details name="faq" open>
    <summary>
      <h3>Should I remove FAQPage markup now that the rich result is gone?</h3>
    </summary>
    <p>No. Google's 2023 announcement said there was no need to remove it,
    and unused structured data does not cause problems for Search…</p>
  </details>

  <details name="faq">
    <summary>
      <h3>How long should an FAQ answer be?</h3>
    </summary>
    <p>Aim for 40–80 words…</p>
  </details>
</section>

Three details matter.

  • Open the first item by default. Google's general structured data guidelines say "don't mark up content that is not visible to readers of the page". An open first answer leaves no room for argument.
  • Keep the heading outline intact. Each question is an <h3> under the FAQ <h2>, so a chunker gets one heading-plus-paragraph unit per item.
  • Do not fetch on demand. If the answer text is not in the initial HTML response, assume it is not in the index.

Generate FAQPage JSON-LD from the same fields

The shape Google documented while the rich result existed, and which schema.org still defines, is small: a FAQPage whose mainEntity is an array of Question, each Question with a name and an acceptedAnswer, and each Answer with text. That is the whole schema. Google's general guidelines require markup to describe what the HTML body shows, so generate it from the same fields that render the visible FAQ, never from a second copy.

ts
// lib/faq-jsonld.ts
export interface FaqItem {
  question: string;
  answer: string; // plain text, or minimal HTML
}

export function faqPageJsonLd(items: FaqItem[]) {
  return {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    mainEntity: items.map((item) => ({
      "@type": "Question",
      name: item.question,
      acceptedAnswer: { "@type": "Answer", text: item.answer },
    })),
  };
}

In a Next.js App Router page, pass the same items array to the visible <Faq> component and to a <script type="application/ld+json"> tag rendered from faqPageJsonLd(items). One source, two outputs.

Two things not to do:

  • Do not use QAPage for an FAQ. Google's QAPage documentation is explicit: "Don't use QAPage markup for FAQ pages or pages where there are multiple questions per page." QAPage is for a single question with user-submitted answers, such as a forum thread.
  • Do not mark up a question whose answer is on another page. The text of each Answer must be the answer, on this page; "see our pricing page" is a link, not an answer.

A dedicated FAQ page or an FAQ inside the article

Both work; they do different jobs.

Use an in-article FAQ when…Use a dedicated FAQ page when…
The questions qualify the main answer: edge cases, "does this apply if…"The questions are the topic: pricing, shipping, a product's limits
There are three to six of themThere are dozens, and they cluster into groups
Each answer fits in 40–80 wordsSome answers need their own heading, so the page becomes a hub
You want the article's canonical URL to collect the citationYou want a URL that support, sales and the footer can all link to

Two rules cut across both.

  1. One question per URL when the question is big. If a question needs more than a paragraph, it has become a guide. Give it a page with the question in the title and H1, and leave a short answer plus a link in the FAQ.
  2. Never duplicate the main answer in the FAQ. If the article's opening paragraph answers "what is X", the FAQ should not ask "what is X" again. Two near-identical passages on one page compete in retrieval and dilute both.

FAQ section pre-publish check

  • Every question is phrased the way a person asks it, and ends with a question mark
  • One question per item, no compound questions
  • Every answer is 40–80 words, names the entity in the first sentence and contains no back-references
  • Answers are in the initial HTML, using details and summary, not fetched on click
  • The first item is open by default and each question is an H3 under the FAQ H2
  • FAQPage JSON-LD is generated from the same fields that render the visible FAQ
  • No QAPage markup, and no question whose answer lives on a different page
  • The FAQ does not repeat the article's own short answer

Frequently asked questions

Should I remove FAQPage structured data now that the rich result is gone?

No. Google's August 2023 announcement said there was no need to proactively remove it, and that unused structured data does not cause problems for Search. Google has since retired the rich result and its documentation, but FAQPage remains a valid schema.org type that labels each question-and-answer pair for any parser that reads JSON-LD. Keep it, generated from the same fields as the visible FAQ.

How long should an FAQ answer be for answer engines?

Aim for 40–80 words. That is long enough to state the answer, name the entity and add one qualification, and short enough to be quoted whole. If an answer needs 300 words it is not an FAQ item; give it its own heading or its own page, and link to it from a shorter answer.

Do answer engines read content hidden inside a collapsed details element?

The content of a closed details element is still in the HTML and the DOM, so any crawler that parses HTML can read it. What crawlers cannot reliably read is content that is only fetched or rendered after a click. Use native details and summary, open the first item by default, and avoid loading answers with JavaScript.

Should I use FAQPage or QAPage markup?

Use FAQPage when you write both the questions and the answers and there is one answer per question. Use QAPage only for a page about a single question where users can submit their own answers, such as a forum thread. Google's documentation says not to use QAPage for FAQ pages or pages with multiple questions.

Do I need FAQ markup to appear in Google AI Overviews?

No. Google's documentation for AI features says no special schema.org structured data is required, and that a page only needs to be indexed and eligible to be shown with a snippet. The markup helps parsers label the pairs; the retrieval benefit comes from the answer text itself being visible, self-contained and quotable.

Sources

  1. [1]
    Changes to HowTo and FAQ rich results

    Google Search Central Blog · 2023

  2. [2]
    Latest Google Search documentation updates

    Google Search Central · 2026

  3. [3]
    General structured data guidelines

    Google Search Central · 2026

  4. [4]
    Schema for Q&A pages (QAPage)

    Google Search Central · 2026

  5. [5]
    AI features and your website

    Google Search Central · 2025

  6. [6]

Terms used in this guide

Structured data
Structured data, in the web context, is machine-readable markup embedded in a page that states explicitly what the page contains — an article, its author, a publication date, a question and its answer — using a shared vocabulary such as Schema.org. It is written as JSON-LD, Microdata or RDFa and lets crawlers and answer engines identify entities and relationships without inferring them from prose.
JSON-LD
JSON-LD (JSON for Linking Data) is a W3C standard for expressing linked data as ordinary JSON. On the web it is the format Google recommends for Schema.org structured data: a single script block of type application/ld+json that describes the page's entities — article, author, dates, FAQ, definitions — without touching the visible HTML.
Schema.org
Schema.org is a shared vocabulary of types and properties — Article, Person, FAQPage, DefinedTerm and hundreds of others — for describing what a web page is about in a form machines can read. Founded in 2011 by Google, Microsoft, Yahoo and Yandex, it is maintained in the open through a W3C community group and can be written as JSON-LD, Microdata or RDFa.
Passage retrieval
Passage retrieval is the search technique of scoring and returning short spans of text — a paragraph, a section, a window of tokens — rather than whole documents, so that a system can answer a question from the most relevant fragment. It is the retrieval step in most answer engines, and it is why a page is cited passage by passage rather than as a unit.
Answer engine
An answer engine is a system that responds to a question with a synthesised answer rather than a ranked list of links. Modern answer engines — Google AI Overviews and AI Mode, Perplexity, ChatGPT search, Claude with web search and Microsoft Copilot — retrieve passages from the web and generate the answer with a large language model, usually with citations to the sources used.

Written by

Front-end engineer & author of Citable

Endrit Krasniqi is a front-end engineer who builds content platforms with React, Next.js, Nuxt and headless CMSs such as Storyblok. He writes Citable to document, with working code, how websites can be structured so that search engines, answer engines and large language models quote them accurately.

All guides
  • Structured data

    Structured data for AI answers: the schema.org types that matter

    Structured data for AI answers is JSON-LD that labels what a page contains: Article or TechArticle for provenance (author, datePublished, dateModified, citation), FAQPage for question–answer pairs, DefinedTerm for definitions, Person with sameAs for authors, BreadcrumbList and WebSite for context, and SpeakableSpecification for the direct answer. Google requires no markup for AI features; its value is removing ambiguity, so generate it from the CMS fields that render the visible text.

    9 min read

  • Content

    How to write answer-first content that LLMs can quote

    Answer-first content opens every page and every section with a self-contained answer of roughly 40–70 words, then explains, qualifies and expands. The first sentence names the main entity, each heading carries exactly one question, and no passage depends on a pronoun or a paragraph elsewhere. Written this way, a passage still makes sense after an answer engine splits the page into chunks and retrieves one of them in isolation.

    8 min read

  • Fundamentals

    What is Answer Engine Optimization (AEO)?

    Answer Engine Optimization (AEO) is the practice of structuring content so that AI-powered answer engines — ChatGPT, Perplexity, Claude, Copilot and Google's AI Overviews — can retrieve it, understand it and cite it inside a generated answer. Where classic SEO competes for a ranking position, AEO competes for extraction: a self-contained passage that resolves one question, from a page with a clear author, date and sources.

    6 min read