All fix guides
WarningAI & Answer Engines

How to Add FAQ Structured Data (FAQPage Schema)

Your page shows questions and answers but has no FAQPage structured data telling machines how they pair. Valid FAQPage JSON-LD makes that Q&A explicit and machine-readable. The 2026 context matters: Google removed FAQ rich results from Search on May 7, 2026, so the payoff now is answer-engine visibility (ChatGPT, Perplexity, Google AI Overviews) and cleaner content parsing, not SERP dropdowns.

What this means

The audit flagged that your page presents questions and answers to readers but includes no FAQPage structured data in the source. Structured data is a block of machine-readable JSON-LD (a script in the page's head or body) that labels each question and its matching answer using the Schema.org vocabulary. Without it, a crawler sees a wall of text and has to guess which sentence answers which question. With it, the pairing is unambiguous: this is the question, this is its accepted answer.

The two audit codes mean slightly different things. no_structured_data means the page has no meaningful Schema.org markup at all. no_aeo_schema is narrower: the page lacks the kind of structured data that answer engines use to extract and cite content. FAQPage is the highest-leverage schema type for that job because it maps onto how an LLM consumes content: a discrete question, a discrete answer.

One piece of 2026 context so you set the right expectation. Google deprecated FAQ rich results. The expandable FAQ accordions that used to show under listings were restricted to government and health sites in August 2023, and on May 7, 2026 Google removed them from Search entirely. Adding FAQPage schema will not bring back those SERP dropdowns. The markup is still a valid Schema.org type, it does not harm your page or rankings, and it now works primarily as an answer-engine and content-parsing signal rather than a Google SERP feature.

Why it matters

The value moved from Google's blue links to answer engines, and that is where FAQPage still earns its keep. ChatGPT, Perplexity, and Google AI Overviews lean on structured Q&A to pull clean, quotable answers and attribute them to a source. A question paired explicitly with its answer in JSON-LD is easier for a model to lift and cite than the same content buried in prose. The size of the effect is hard to pin down and you should distrust the specific percentages floating around, but the direction is well-supported: exposing Q&A as structured data makes it more extractable.

There is a classic-SEO benefit too, even without rich results. FAQPage markup reinforces the topic and entities on the page and clarifies the question intent you cover. It also keeps your content aligned with the direct question-then-answer format that featured snippets and People Also Ask reward, and that voice assistants read aloud.

The cost of skipping it is opportunity cost, not a penalty. You will not be penalized for missing FAQPage schema, but you leave the most citation-friendly format on the table at the moment AI search is deciding which sources to quote. For a page that already answers real questions, adding the markup is a small one-time change with durable upside in a growing channel.

How to fix it

  1. 1

    Confirm the page is a real FAQ

    FAQPage is only appropriate when the page shows a list of questions and their answers that you (the site owner) wrote, and every question and answer is visible to human visitors. Do not use it for a single Q&A exchange, product review threads, or user-submitted questions where multiple people can answer. If the page is a support forum or a Q&A community thread, the correct type is QAPage instead, which has different rules.

  2. 2

    Write valid FAQPage JSON-LD

    Build one script block using the Schema.org FAQPage type. Its mainEntity is an array of Question items. Each Question needs a name (the question text) and an acceptedAnswer, which is an Answer object with a text property holding the full answer. The answer text may contain basic HTML such as links and lists, but it must match what is shown on the page. Add one Question object per FAQ. See the code example below for the exact structure.

  3. 3

    Place the script and match the visible content

    Insert the JSON-LD in the page's HTML, in either the head or the body. Google's core rule: the questions and answers in the markup must match what is visible on the page. Do not add hidden questions, do not mark up answers the user cannot read, and do not stuff keywords or promotional text into the answer fields. Mismatched or hidden content is the most common reason FAQ markup is judged spammy or invalid.

  4. 4

    Apply it through your platform

    WordPress: Yoast SEO and Rank Math both ship an FAQ block for the Gutenberg editor that outputs the markup automatically as you type. Shopify: add the JSON-LD to the relevant Liquid template (a page or product template) or use a schema app that injects it. Squarespace and Wix: neither generates FAQPage schema natively, so add the JSON-LD through a code injection or embed block. Raw HTML, Next.js, or other frameworks: render a script tag with type application/ld+json, generating the Question array from your content data so the markup and the page never drift apart.

  5. 5

    Validate the markup

    Run the page through the Schema.org validator at validator.schema.org to confirm the JSON-LD parses with no errors. Google is dropping FAQ support from the Rich Results Test in June 2026, so the Schema.org validator is the reliable check going forward. Fix any errors, such as a missing text property or a malformed array. A single syntax error can invalidate the whole block.

  6. 6

    Write self-contained, direct answers

    Since the real payoff is AI citation, write each answer so it stands alone: lead with a one-to-two-sentence direct answer, then add detail. Answer engines prefer neutral, specific responses they can quote without surrounding context. This also fixes the related issue questions-without-direct-answers. Valid markup plus a well-written answer is what actually gets you cited.

Example

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does shipping take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Standard orders ship within 2 business days and arrive in 3 to 5 business days. Express orders arrive in 1 to 2 business days."
      }
    },
    {
      "@type": "Question",
      "name": "What is your return policy?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "You can return unused items within 30 days for a full refund. Start a return from your account page or contact support and we'll email a prepaid label."
      }
    }
  ]
}
</script>

A valid FAQPage JSON-LD block. Place it in the page's head or body, and make sure every question and answer matches the visible text on the page.

Free tool
Check this with the FAQ Schema Generator

Frequently asked

Does FAQ structured data still work now that Google removed FAQ rich results?

The SERP feature (the expandable FAQ dropdowns) is gone as of May 7, 2026, so you will not get those back. But FAQPage is still a valid Schema.org type and does not harm your page. Its value now is answer-engine visibility: ChatGPT, Perplexity, and Google AI Overviews use structured Q&A to extract and cite content. So yes, it still works, just for a different purpose than it served in 2019.

Will adding FAQPage schema hurt my rankings or trigger a penalty?

No. Google's guidance is that unused or deprecated structured data does not affect Search rankings. You will not be penalized for adding valid FAQPage markup or for leaving existing FAQ markup in place. The only way FAQ markup causes trouble is if it breaks the content rules, for example marking up hidden content, questions not visible on the page, or keyword-stuffed answers.

What is the difference between FAQPage and QAPage schema?

Use FAQPage when you, the site owner, wrote both the questions and the single authoritative answers and all of it is visible on the page (a classic FAQ section). Use QAPage when the page is a community or forum thread where a user asks a question and other users submit multiple possible answers that can be voted on. They are not interchangeable, and using the wrong one is a common mistake.

Do the questions and answers have to be visible on the page?

Yes. Google's content rule for FAQ markup is that every question and answer in the JSON-LD must also appear as visible text for human visitors. You cannot mark up hidden or invented content. Accordion FAQs are fine as long as the content is present in the HTML and accessible; the key is that the markup and the visible content match.

Should I use JSON-LD or microdata?

Use JSON-LD. It is the format Google and most tooling recommend, and it keeps your structured data in one self-contained script block instead of threading attributes through your HTML. It is also easier to generate programmatically from your content, so the markup and the page stay in sync. Microdata still parses, but there is no reason to pick it for a new implementation.

Does your site have this issue?

Run a free, AI-powered audit and we’ll flag this and 150+ other checks in about a minute. No signup.

No signup needed. Results in under 60 seconds.

Related fixes