Skip to content

FAQ schema in 2026: what FAQPage markup still does

Google no longer shows FAQ rich results. What FAQ schema still does, when FAQPage markup fits, the rules to follow and a JSON-LD example you can copy.

By Crawlito · 9 min read

In short

  • Google announced on August 8, 2023 that FAQ rich results would be limited to well-known, authoritative government and health sites, and stopped showing them in Search altogether from May 7, 2026.
  • Google removed its FAQ rich result documentation on June 15, 2026, and said in 2023 there was no need to remove existing FAQPage markup.
  • FAQPage markup still gives any parser a clean list of questions and answers, but no AI search operator documents it as a ranking or citation input.
  • Google says no special schema.org structured data is needed to appear in AI Overviews or AI Mode, so the visible FAQ text matters more than the markup.
  • Mark up only questions and answers that are visible on the page, written by you, and not used for advertising.
On this page

FAQ schema no longer earns a rich result in Google. Google cut FAQ rich results back to well-known government and health sites in August 2023, then stopped showing them in Search entirely on May 7, 2026. What FAQPage markup still does is describe your question-and-answer content in a structured, machine-readable form. That is useful, but modest: it is a tidy label on content that must already be readable on the page, not a documented way into AI answers.

This guide covers what changed, what the markup still does, when to use it, the rules to follow and a working example.

What happened to FAQ rich results?

FAQ rich results were the expandable questions shown under a search result. Google wound them down in two steps:

DateChangeSource
August 8, 2023FAQ rich results shown only for "well-known, authoritative government and health websites". Google said there was no need to proactively remove existing markup.Search Central blog
September 14, 2023HowTo documentation removed, because the HowTo rich result was no longer shown.Search Central updates
May 8, 2026Deprecation notice added: the FAQ feature no longer appears in Google Search starting May 7, 2026.Search Central updates
June 15, 2026FAQ rich result documentation removed.Search Central updates

So the common advice that "FAQ schema still works for gov and health sites" is out of date. At the time of writing, no site gets an FAQ rich result in Google Search, whatever markup it has.

Google's 2023 post also said the update "should not be considered a ranking change", and that structured data that is not being used "does not cause problems for Search". Leaving valid FAQPage markup in place does no harm.

What FAQPage markup still does

Schema.org defines FAQPage as a web page presenting one or more frequently asked questions. The type is still part of schema.org. What changed is that Google no longer turns it into a search feature.

What is left:

  • A clean question-and-answer structure. Any parser that reads JSON-LD gets each question and its full answer as separate fields, without guessing from the layout which paragraph answers which heading.
  • A consistency check for you. Writing the markup forces you to state each answer in full, in plain text, which often shows where the visible answer is vague or buried.
  • Validity in schema.org terms. It stays a correct description of the page for any tool that reads schema.org, including validators and site audits.

What it does not do, based on current public documentation:

  • It does not earn a Google rich result.
  • It is not required for Google's AI features. Google's AI features page says you don't need new machine-readable files or markup to appear in AI Overviews or AI Mode, and that no special schema.org structured data is required.
  • It is not documented as an input by the AI search crawlers. OpenAI, Anthropic and Perplexity describe what their crawlers are for, not which structured data types they read. Treat any claim that FAQPage markup gets you cited by ChatGPT or Perplexity as unverified.

This matters for AI search readiness because many AI crawlers read only the HTML your server returns. Vercel's December 2024 analysis found that OpenAI's crawlers, ClaudeBot and PerplexityBot did not run JavaScript. If the questions and answers are in that HTML as normal text, they can be read with or without markup. If they are not, markup alone will not fix it. Our wider guide to structured data for AI search separates the types that help from the ones that are hype.

When to use FAQPage markup

Use it when the page really is a list of questions with one answer each, written by you:

  • A help or support page with common questions about shipping, returns or billing.
  • A product or service page with a short FAQ section near the end.
  • A policy page that answers fixed questions, such as "Who can apply?".

Use something else when the content does not fit:

Your contentBetter fit
One question, with answers submitted by users (a forum thread, a community answer)QAPage. Google's QAPage guidelines rule out "an FAQ page written by the site itself", and its former FAQ guidelines sent pages where users submit answers to QAPage.
A blog post or essay that answers one question in depthArticle or BlogPosting. See Article and BlogPosting schema.
A product page with no real questionsProduct markup, with an FAQ only if the page has one.
Step-by-step instructionsPlain numbered steps in HTML. The HowTo rich result is gone.

If you are tempted to rewrite marketing copy as questions just to have something to mark up, skip it. The markup describes the page; it should not shape it.

The rules: visible, yours, and not ads

Google has removed its FAQ documentation, but the rules it used are still the right ones, and most of them come from Google's general structured data guidelines, which are still live:

  1. Every question and answer must be visible on the page. The general guidelines say: "Don't mark up content that is not visible to readers of the page." Google's former FAQ guidelines gave an answer inside an expandable section that the user can open as an acceptable example.
  2. The markup must match the page. The general guidelines say structured data "must be a true representation of the page content". Copy the full question and the full answer, not a shortened or keyword-stuffed version.
  3. No advertising. Google's former FAQ guidelines said not to use FAQPage for advertising, and its live QAPage guidelines say the same for QAPage.
  4. One answer per question, written by the site. If users can submit answers, it is not an FAQ in this sense.
  5. Mark up each FAQ once. Google's former FAQ guidelines said that if the same question and answer appear on several pages, you should mark up only one instance for the whole site.

Google's general guidelines also note that a structured data issue "can result in a manual action", which takes away the page's eligibility for rich results. Markup that claims content the page does not show is the classic case.

A working FAQPage example

Here is a small FAQ section and the JSON-LD that describes it. The HTML is the part crawlers read as text; the script is the structured description of the same content.

html
<section aria-labelledby="faq-title">
  <h2 id="faq-title">Shipping questions</h2>

  <details>
    <summary>How long does UK delivery take?</summary>
    <p>Standard delivery takes 2 to 4 working days. Express orders placed before 1pm arrive the next working day.</p>
  </details>

  <details>
    <summary>Can I return an opened item?</summary>
    <p>Yes, within 30 days, as long as it is unused and in its original packaging.</p>
  </details>
</section>
html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does UK delivery take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Standard delivery takes 2 to 4 working days. Express orders placed before 1pm arrive the next working day."
      }
    },
    {
      "@type": "Question",
      "name": "Can I return an opened item?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, within 30 days, as long as it is unused and in its original packaging."
      }
    }
  ]
}
</script>

Notes on the example:

  • mainEntity holds an array of Question items. Each has the question in name and one acceptedAnswer of type Answer, with the answer in text.
  • The text matches the visible answer word for word.
  • The <details> element keeps the answer in the HTML even while it is collapsed, so it is in the server response. That is not true of every accordion: some only load the answer when it is clicked. Our guide to tabs and accordions shows how to tell.

If your page already has other JSON-LD, such as an Article or Organization, you can put the FAQPage in the same @graph with its own @id. This blog does exactly that: each post's FAQ section at the end is published as a FAQPage node next to the BlogPosting.

How to check your FAQ markup

Check three things: the markup parses, it matches the page, and the answers are in the raw HTML.

1. Pull the JSON-LD from the live page

Fetch the page the way a crawler does and print every JSON-LD block:

bash
curl -sL https://www.example.com/help/shipping \
  | python3 -c 'import sys,re,json
html=sys.stdin.read()
for block in re.findall(r"<script[^>]*application/ld\+json[^>]*>(.*?)</script>", html, re.S):
    print(json.dumps(json.loads(block), indent=2))'

If json.loads throws an error, the JSON is broken: a trailing comma, an unescaped quote in an answer, or a stray HTML tag. Our list of common JSON-LD errors covers the usual causes. You can also paste the URL into the Schema Markup Validator, which checks schema.org syntax.

2. Confirm each answer is in the raw HTML

Pick a phrase from one answer, ideally one without apostrophes or ampersands, which HTML may encode differently, and count it in the server response:

bash
curl -sL https://www.example.com/help/shipping | grep -o "2 to 4 working days" | wc -l

On a page with FAQ markup, a result of 2 or more means the phrase is in both the visible HTML and the JSON-LD (some frameworks add a third copy in an inline data script). A result of 1 means it appears only once: check whether that copy is the JSON-LD alone, which would break the visibility rule. A result of 0 means it is in neither, often because the FAQ is built in the browser with JavaScript. The guide to raw vs rendered HTML explains why that matters for crawlers that don't run JavaScript.

3. Compare markup and page side by side

Check that the number of questions matches, that each answer is complete, and that no question in the markup is missing from the page. Mismatches creep in when a content edit updates the page but not a hard-coded JSON-LD block. Generating the JSON-LD from the same data as the visible FAQ, as this site does, prevents that drift.

Should you remove existing FAQ markup?

No, not if it is valid and matches the page. Google said in 2023 that there was no need to proactively remove it, and that unused structured data causes no problems for Search.

Do remove or fix it if:

  • It describes questions that are not on the page any more.
  • It is copied onto every page of the site.
  • It wraps sales copy in question form.
  • It breaks the page's JSON-LD so that other, more useful types such as Organization or Product fail to parse.

Then put the effort into the basics: clear, visible answers in the HTML, a page that returns 200 to crawlers, and robots rules that let search crawlers in. For other tactics that are often oversold, see AI search myths.

Frequently asked questions

Does FAQ schema still give rich results in Google?

No. Google's changelog says FAQ rich results stopped appearing in Google Search starting May 7, 2026, and the documentation was removed on June 15, 2026. Before that, from August 2023, they were shown only for well-known, authoritative government and health sites.

Does FAQPage markup help with AI Overviews or ChatGPT?

Not in any documented way. Google says no special schema.org structured data is needed to appear in AI Overviews or AI Mode, and the AI search operators do not document FAQPage as an input. What helps is having the questions and answers as readable text in the HTML.

Can I mark up an FAQ that is hidden in an accordion?

Yes, as long as the user can open it and the answer is on the page. Google's former FAQ guidelines gave an expandable section as an acceptable example. Make sure the answer is in the HTML the server sends, not loaded only after a click.

Is FAQPage the same as QAPage?

No. FAQPage is for a page of questions with one answer each, written by the site. QAPage is for a page focused on one question where users can submit answers, such as a forum thread.

Will FAQ markup hurt my site now that the rich result is gone?

Valid markup that matches the page does no harm; Google said unused structured data causes no problems for Search. Markup that describes content not shown on the page breaks Google's structured data guidelines and is worth fixing.

Check what crawlers see on your FAQ page

Markup only describes content; crawlers still have to reach and read it. Run the free single-page check, no account needed, to see what crawlers can reach and read on one page. For a whole site, the audit covers up to 500 pages, including whether structured data parses and carries its required fields. Checking that the values match what the page shows is still a manual step.

Filed under Structure and schema. Topics: structured-data, json-ld, google, ai-overviews