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 there is no Google result format left to win. What remains is machine-readable Q&A. Microsoft says schema helps its AI systems read content for Copilot and AI answers in Bing (2025-10-08); Google says structured data is not required for its own AI features (2026-07-10); OpenAI and Perplexity say nothing either way.

·

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.

This guide covers one audit code: no_aeo_schema. It fires when the crawl found question-and-answer content on your site but no FAQPage, QAPage or HowTo markup on any page. FAQPage is the schema type that fits that job most directly: a discrete question, a discrete answer. Whether any given AI engine uses it is a separate question, and Microsoft is the only operator that says it does. If your audit instead reported no_structured_data or no_schema_markup — no Schema.org markup of any kind — start with the general JSON-LD guide, add-machine-readable-metadata, which picks the type that fits the page (Article, Organization, WebSite, Product) instead of steering every site to FAQPage.

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 and it does not harm your page or rankings, but it now works as a content-parsing aid rather than a Google SERP feature. Google also removed FAQ support from the Rich Results Test in June 2026, so validate the block at validator.schema.org instead (Google Search Central changelog, May 2026, read 2026-09-23).

Why it matters

The Google result format is gone, so the honest case for FAQPage is narrower than most articles admit, and it is worth stating who says what. Microsoft says schema markup helps its AI systems read content with more confidence, in the context of Copilot and AI answers in Bing (Microsoft Advertising blog, 2025-10-08, read 2026-09-23). Google says the opposite for its own AI features: structured data is not required for generative AI search and there is no special markup to add (AI optimization guide, last updated 2026-07-10, read 2026-09-23). OpenAI and Perplexity publish no guidance either way. The one independent measurement we know of found no uplift: a difference-in-differences study of 1,885 pages that added JSON-LD found citation changes indistinguishable from zero on Google AI Mode and ChatGPT (Ahrefs, 2026-05-11, read 2026-09-23; a vendor study, limited to pages already cited many times). So valid FAQPage markup makes your Q&A unambiguous to any parser, one major operator says that helps, and nobody has demonstrated a citation gain. Treat it as cheap machine-readability, not as a citation lever.

Do not expect a classic-SEO benefit from the markup itself. Google's guidance is that structured data with no rich result attached does not affect Search rankings, and FAQ no longer has one. What still pays off is the underlying shape: a direct answer placed immediately after each question is what featured snippets and People Also Ask reward, and what a voice assistant can read aloud, whether or not you mark it up.

The cost of skipping it is opportunity cost, not a penalty. You will not be penalized for missing FAQPage schema, and you will not be penalized for keeping the markup you already have. For a page that already answers real questions, adding it is a small one-time change: cheap to do, harmless if an engine ignores it, and useful the moment anything needs to read your Q&A as data rather than as prose.

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 removed FAQ support from the Rich Results Test in June 2026, so the Rich Results Test will not check this block at all and the Schema.org validator is the check to use (Google Search Central changelog, read 2026-09-23). 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

    Whatever an engine does with the markup, the answer text is the part a reader or a model can actually quote, so write each one to stand alone: lead with a one-to-two-sentence direct answer, then add detail. Keep it neutral and specific enough to make sense without the surrounding page. This also fixes the related issue questions-without-direct-answers. No markup rescues a vague answer.

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 (Google Search Central changelog, May 2026, read 2026-09-23). FAQPage is still a valid Schema.org type and does not harm your page. What it buys you now is machine-readable Q&A, and the operators disagree about what that is worth: Microsoft says schema helps its AI systems read content for Copilot and AI answers in Bing (2025-10-08), Google says structured data is not required for its own AI features (2026-07-10), and OpenAI and Perplexity say nothing either way. So it still does a job, just a smaller and less certain one than it did 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 270+ other checks. No signup.

No signup needed. Homepage results first, the full report in minutes.

Related fixes

More fixes