Structured Data fix

How to add FAQ schema to your page

If your page has a genuine list of questions and answers, FAQ schema lets Google show them as expandable dropdowns right under your result — extra space, extra clicks.

FAQ schema is a FAQPage block of JSON-LD that marks up the questions and answers already visible on your page, so search engines can display them as rich results.

The golden rule: the Q&A in the schema must match the Q&A a visitor actually sees on the page. Marking up questions that aren't on the page is against Google's guidelines and can earn a manual action.

Why it matters

An FAQ rich result takes up more vertical space in the SERP and can answer follow-up questions before the user even clicks — which both raises visibility and pre-qualifies the click. It's also increasingly useful for AI answer engines, which lean on clean Q&A structure to extract and cite answers.

How to tell if this is you

Abby flags “FAQ Schema” when a page has FAQ-style content but no FAQPage markup. The fix is adding one JSON-LD block listing each on-page question and its answer.

Not sure if your site has this?

Run Abby's free scan — it checks this and 25 other on-page, technical, and structured-data signals in about 60 seconds, no signup.

Scan my site free

The fix

If your page has FAQ content, add FAQPage schema: <script type="application/ld+json"> {"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Q?","acceptedAnswer":{"@type":"Answer","text":"A."}}]} </script>

Before

<!-- FAQ visible on the page, but no FAQPage schema wrapping it -->

After

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Do you offer refunds?",
    "acceptedAnswer": {"@type": "Answer", "text": "Yes — within 30 days, no questions asked."}
  }]
}
</script>

Fix it on your platform

WordPress

Use Yoast SEO's FAQ block in the block editor, or Rank Math's FAQ schema module. These generate valid FAQPage schema automatically.

Shopify

Use a FAQ app that includes schema markup, or manually add the JSON-LD to your page template's <head> section via theme.liquid.

Wix

Use the Wix FAQ app or add custom JSON-LD via Page Settings > Advanced SEO > Structured Data Markup.

Squarespace

Add FAQ schema via Code Injection (Page Settings > Advanced > Page Header Code Injection) with a JSON-LD script block.

Next.js

Add FAQPage JSON-LD in your page component: <script type="application/ld+json" dangerouslySetInnerHTML={{__html: JSON.stringify({"@context":"https://schema.org","@type":"FAQPage","mainEntity":[...]})}} />

When this doesn’t apply

Only relevant if your page genuinely answers questions in a Q&A format. Marketing pages, feature lists, and documentation should not fake FAQ structure to capture rich results — Google penalizes spammy schema use.

Fix every issue at once.

Abby's free scan finds which of 26 checks your site fails. The $8.99 fix guide turns each one into a copy-ready fix for your exact pages — prioritized, with code — or bundle it with a security fix guide for $19.99.

Get my fix plan

FAQ

Do the FAQs in the schema have to be visible on the page?

Yes. Google requires the marked-up questions and answers to be present and visible on the page. Hidden or invented FAQs violate the guidelines and can trigger a manual action.

How many FAQs should I mark up?

Mark up every genuine Q&A on the page — there is no hard cap. Just make sure each is a real question a user might ask, not keyword-stuffed filler.

Why is my FAQ rich result not showing?

Google shows FAQ rich results selectively and has narrowed them over time (favouring authoritative and government/health sites for some queries). Valid markup makes you eligible; it does not guarantee display.