What is FAQ schema?
FAQ schema (formally FAQPage structured data) is a type of JSON-LD markup you add to a web page to tell search engines and AI platforms that specific content is a list of questions and answers. You add it as a <script type="application/ld+json"> block in your page HTML.
Google used to show FAQ schema as expandable rich snippets in search results, but ended support for FAQ rich results in 2026. However, FAQ schema is still worth implementing because AI search platforms — ChatGPT, Perplexity, Google AI Overviews, and Bing Copilot — actively use structured data to identify and surface question-and-answer content when users ask related queries.
Google no longer shows FAQ rich snippets (2026)
Google deprecated FAQPage rich results in 2026. Adding FAQ schema will not produce expandable question rows in Google search. However, valid FAQ schema still helps AI platforms like ChatGPT, Perplexity, and AI Overviews understand and cite your content — making it worth validating and fixing.
What does valid FAQ schema look like?
FAQ schema must be placed in a <script type="application/ld+json"> block in your page's HTML. Here is the minimal valid structure:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is FAQ schema?",
"acceptedAnswer": {
"@type": "Answer",
"text": "FAQ schema is JSON-LD structured data that tells
Google which content on a page is a question-and-answer pair."
}
},
{
"@type": "Question",
"name": "How do I add FAQ schema?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Add a <script type='application/ld+json'> block
to your page's <head> or <body> containing the FAQPage JSON-LD."
}
}
]
}Every field in this example is required. Skip any one of them and your schema is invalid — Google will ignore it entirely for rich results.
| Field | Required | What it must contain |
|---|---|---|
| @context | ✅ Yes | "https://schema.org" — exactly this string |
| @type | ✅ Yes | "FAQPage" — exactly this value |
| mainEntity | ✅ Yes | Array of Question objects (at least one) |
| Question @type | ✅ Yes | "Question" — each item in mainEntity |
| Question name | ✅ Yes | The question text as a string |
| acceptedAnswer @type | ✅ Yes | "Answer" |
| acceptedAnswer text | ✅ Yes | The answer text — cannot be empty |
How to test and validate your FAQ schema — 3 free methods
There are three ways to test FAQ schema code. Use all three for confidence before expecting rich results — each FAQ schema checker catches different classes of errors.
SEO-Snap FAQ Schema Validator (fastest)
Enter your page URL. SEO-Snap fetches the page, extracts your JSON-LD, and validates all required fields against Google's FAQPage specification. Get specific error messages — not just "invalid schema".
Validate FAQ Schema →Google Rich Results Test (structure check)
Google's tool at search.google.com/test/rich-results confirms whether Google's crawler can parse your schema structure. Note: Google ended FAQ rich results in 2026, so you won't get rich snippets — but this still validates your JSON-LD is syntactically correct.
JSON validator (for syntax errors)
If the tools above show a parsing error, paste your JSON-LD into jsonlint.com to find exact syntax errors — missing commas, unclosed brackets, incorrect quote types. Fix syntax first, then revalidate schema structure.
Most common FAQ schema errors (and how to fix them)
Missing acceptedAnswer.text
Very commonThe text property inside acceptedAnswer cannot be empty or absent. Every question must have an answer with actual text content. Even a one-sentence answer is fine — just not an empty string.
// ❌ Bad
{"@type":"Answer"} // missing text property// ✅ Good
{"@type":"Answer","text":"Your answer here."}Incorrect @type casing
CommonSchema.org type names are case-sensitive. "faqpage", "FAQ Page", and "Faqpage" are all wrong. Use exactly "FAQPage", "Question", and "Answer".
// ❌ Bad "@type": "Faqpage" // wrong casing
// ✅ Good "@type": "FAQPage" // correct
JSON syntax error (trailing comma, wrong quotes)
CommonJSON does not allow trailing commas after the last item in an array or object. Use straight double quotes (") not curly/smart quotes ("). Validate with jsonlint.com if the schema validator cannot parse your block.
// ❌ Bad
{"name": "Q?",} // trailing comma// ✅ Good
{"name": "Q?"} // correctFAQ content not visible on page
Less obviousGoogle requires that FAQ schema questions and answers are visible to users on the page — not hidden behind JavaScript that doesn't render server-side, or collapsed by default with no way to expand. The content must be in the HTML that Googlebot fetches.
Using FAQ schema on product/homepage without real FAQ content
Policy violationGoogle's guidelines state FAQ schema should only be used when the page's primary purpose is answering questions. Using it on homepages or product pages as a trick to get more SERP space can lead to manual actions. Only add FAQ schema to pages with genuine FAQ content.
How to add FAQ schema to your page
Add a <script> block anywhere in your page (inside <head> or <body>):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Your question here?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Your complete answer here."
}
}
]
}
</script>Use a plugin like Rank Math or Yoast SEO — both have built-in FAQ block support. Add FAQ content using the FAQ block in the editor, and the plugin generates valid JSON-LD automatically.
Add a Custom Code component (Embed element) to your page. Paste the JSON-LD script block directly. Webflow does not inject structured data automatically.
Edit your theme's Liquid template. Add the JSON-LD script in the product or page template, using Liquid to dynamically output FAQ questions if they're stored as metafields.
Use dangerouslySetInnerHTML in a <script type="application/ld+json"> tag in your page component or layout. SSR ensures Googlebot sees the structured data on first fetch.
FAQ schema validator vs Google Rich Results Test
Both tools test FAQ schema, but they serve different purposes. Use both for full confidence.
| Capability | SEO-Snap Validator | Google Rich Results Test |
|---|---|---|
| Specific field-level errors | ✅ | ⚠️ Sometimes |
| Confirms Google crawler parses schema | ❌ | ✅ |
| Tests JavaScript-rendered schema | ❌ | ✅ |
| Checks full SEO alongside schema | ✅ | ❌ |
| Instant, no login needed | ✅ | ✅ |
| Explains how to fix errors | ✅ | ❌ |
| Note: neither shows FAQ rich results — Google ended these in 2026 | — | — |
Why FAQ schema still matters in 2026: AI search
Google ended FAQ rich snippets in 2026, but FAQ schema has a new purpose: AI-powered search platforms use structured data as a key signal when generating answers.
When a user asks ChatGPT, Perplexity, or Google AI Overviews a question, these systems scan the web for pages with relevant Q&A content. FAQPage schema explicitly marks your questions and answers as structured data — making it easier for AI models to identify, parse, and cite your content in responses.
ChatGPT
Uses web browsing to pull content for answers. Structured Q&A is easier to extract than prose paragraphs.
Perplexity
Indexes and cites web sources. FAQPage schema helps it identify authoritative Q&A content on your page.
AI Overviews
Google's AI summaries at the top of search results. Structured FAQ data improves how your answers are understood.
The bottom line
Valid FAQ schema = AI platforms can correctly read your Q&A content. Invalid or missing FAQ schema = AI platforms treat your FAQ as generic prose and may miss it entirely. The value of validating is now about AI visibility, not Google rich snippets.
Frequently asked questions
What is an FAQ schema validator?▼
How many FAQ questions should I include in my schema?▼
Does FAQ schema still matter after Google ended rich snippets?▼
How do I test FAQ schema for free?▼
How do I get my FAQ content into ChatGPT or Perplexity answers?▼
Check your FAQ schema now — free
Validate your FAQPage structured data in seconds. Get specific error messages, not just pass/fail. Fix issues so AI platforms can correctly read your content.
Validate FAQ Schema Free →