FAQPage Schema — Help AI Systems Cite Your Answers
FAQPage structured data marks up your question-and-answer content so AI systems can extract individual Q&A pairs and cite them directly in responses. This is one of the highest-impact schema types for AI visibility.
What is FAQPage Schema?
FAQPage is a Schema.org type that describes a page containing a list of frequently asked questions and their answers. You add it as a JSON-LD script block that mirrors the visible FAQ content on the page.
Each question is represented as a Question entity with an acceptedAnswer. This machine-readable structure allows AI systems to parse your Q&A pairs without relying on HTML parsing heuristics.
Why FAQPage Schema Matters for AI Visibility
AI language models and retrieval systems (ChatGPT, Claude, Perplexity, Google AI Overviews) index structured data alongside plain text. FAQPage schema gives these systems three concrete advantages:
- Exact boundaries. The schema tells the AI exactly where a question ends and its answer begins — eliminating ambiguity in chunking.
- Direct extraction. Google AI Overviews and Perplexity can surface your answer verbatim in response cards without further inference.
- Citation confidence. Because the schema is machine-verified, AI systems treat the source as more reliable and are more likely to attribute it.
Pages with FAQPage markup consistently appear in Google's FAQ rich results and are preferentially indexed by AI crawlers that look for structured signals.
JSON-LD Code Snippet
Place this <script> block inside your <head> or at the end of <body>. The content must match the visible text on the page.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is AI visibility and why does it matter?",
"acceptedAnswer": {
"@type": "Answer",
"text": "AI visibility is the ability of AI systems like ChatGPT, Claude and Perplexity to find, understand and cite your website content. As AI-powered search grows, websites that are not visible to AI lose significant organic traffic."
}
},
{
"@type": "Question",
"name": "How do I check if my website is visible to AI systems?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Use the free AI Visibility Scanner at aivisibilitycheck.net. It checks up to 19 signals including robots.txt configuration, structured data, llms.txt, Open Graph tags and content structure — and returns a score in under 30 seconds."
}
},
{
"@type": "Question",
"name": "Which AI bots should I allow in robots.txt?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Allow GPTBot (OpenAI), ClaudeBot (Anthropic), PerplexityBot, GoogleBot and Google-Extended. These are the primary AI crawlers that feed content into ChatGPT, Claude, Perplexity and Google AI Overviews respectively."
}
}
]
}
</script>
Where to Place FAQPage Schema
You can place the JSON-LD block in either location:
- Inside
<head>— recommended. The schema is processed before body content renders and is less likely to be stripped by CMS sanitization. - At the end of
<body>— acceptable. Some CMS platforms (WordPress, Shopify) inject structured data here via plugins.
Do not place JSON-LD inside <noscript> tags or load it via JavaScript after page load — Google and most AI crawlers only process statically rendered structured data.
Step-by-Step Implementation
- Identify your FAQ content. Find pages with clear question-and-answer sections. Typical candidates: product pages, documentation, landing pages with a "Common Questions" section.
- Write your JSON-LD. Copy the snippet above and replace the example questions and answers with your actual content. Keep answers concise — under 300 words per answer is a practical guideline.
- Match visible content exactly. The schema must reflect what is visibly rendered on the page. Google will reject markup for content that is hidden or not present in the HTML.
- Add the script to your page. In WordPress, use a plugin like Yoast SEO or RankMath, or add it to a custom HTML block. In custom HTML, paste directly into
<head>. - Validate with Google Rich Results Test. Visit search.google.com/test/rich-results, enter your URL and verify that FAQ rich results are detected without errors.
- Verify with Schema Markup Validator. Use validator.schema.org for a spec-level validation that is independent of Google's rendering.
Common Mistakes
- Schema does not match visible text. If the question or answer in the JSON-LD differs from what the user sees, Google will flag it as misleading markup and may penalise the page.
- Answers are too short. Single-word or one-sentence answers provide little value for AI extraction. Aim for 2–5 sentences per answer that fully address the question.
- More than one FAQPage per page. Include only a single
FAQPageentity. Multiple FAQPage blocks on one page cause validation errors. - Using HTML tags inside answer text. The
textproperty should be plain text. Avoid embedding<a>,<strong>or other HTML inside the JSON string. - Marking up promotional content as FAQ. Google's guidelines prohibit using FAQPage for content that is primarily promotional. Each Q&A must genuinely address a user question.
- Forgetting to test after CMS updates. Plugins and theme updates can silently remove or alter structured data. Re-test after major updates.
Official Sources
- Schema.org — FAQPage type definition
- Google Search Central — FAQPage structured data
- Google Rich Results Test
- Schema Markup Validator