FAQ Accordion Schema Builder

Build FAQPage JSON-LD plus a matching accessible accordion. Copy either one independently.

JSON-LD Schema (paste in <head>)

HTML Accordion

Preview

FAQPage Rich Results

Google shows FAQ rich results (expandable Q&A directly in the SERP) when pages have valid FAQPage schema. Since 2023, FAQ rich results are limited to well-known authoritative sites — but the schema is still valuable for other search engines and AI-powered search (Bing Copilot, Google SGE) which parse structured data heavily.

Required Properties

  • @type: FAQPage on the parent
  • mainEntity array — one Question per Q
  • Each Question needs name (the question text) and acceptedAnswer (an Answer object with text)

Critical Rules

  1. Content must be visible. Every Q&A in the schema must be on the page. Hidden FAQ schema is a policy violation and will be ignored or penalised.
  2. No duplicates. Each question must appear only once per page.
  3. No marketing fluff. Answers should be factual. "Our product is amazing!" is not a valid answer.
  4. Only FAQ content. Don't mark up product Q&As, user-generated content or forum threads — use appropriate schema types.

Accessible Accordion

The generated HTML uses native <details> and <summary> elements — accessible by default, works with keyboard navigation and screen readers, no JavaScript required. Style the summary with CSS for custom appearance.

FAQ Schema FAQ

Does FAQ schema still work in 2026?

Rich results are limited to authoritative sites since 2023. But the schema still helps Bing, AI search and entity understanding. Worth adding regardless.

Do I need the visible FAQ content?

Yes, absolutely. Schema must match visible content. Hidden FAQ schema is a policy violation and can be penalised.

Can I use FAQ schema on a product page?

Only for actual FAQ content about the product, not for product attributes. Product Q&A should use different markup or no structured data.

How many FAQs should I include?

3–8 typically. More than 10 starts to feel like filler. Focus on genuinely-asked questions.