FAQPage schema is one of the highest-impact AEO optimizations you can make. It gives AI search engines a machine-readable list of questions and answers on your page, making it trivial for them to extract and cite your content. Here’s exactly how to add it.
What is FAQPage Schema?
FAQPage schema is a type of structured data markup defined by Schema.org. It tells search engines and AI models that a page contains a list of frequently asked questions with answers. The markup is written in JSON-LD format and placed in a <script> tag in your page’s HTML.
Both Google and AI search engines like ChatGPT, Perplexity, and Claude can read this markup. Google may display FAQ rich snippets in search results, while AI engines can directly extract the Q&A pairs for their responses.
The Basic JSON-LD Template
Here’s the minimal valid FAQPage schema. You need at least one question-answer pair, but we recommend 3-6 for maximum impact.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is Answer Engine Optimization?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Answer Engine Optimization (AEO) is the practice of structuring website content so AI search engines can extract, understand, and cite it."
}
},
{
"@type": "Question",
"name": "How do I improve my AEO score?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Add FAQ schema, write 40-60 word answer blocks, use semantic HTML, create an llms.txt file, and allow AI bots in your robots.txt."
}
},
{
"@type": "Question",
"name": "Is AEO different from SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. SEO optimizes for search result rankings. AEO optimizes for AI-generated answers. You need both."
}
}
]
}
</script>Copy-paste FAQPage JSON-LD template with 3 questions
Adding FAQ Schema in React / Next.js
const faqs = [
{ q: 'What is AEO?', a: 'AEO is the practice of...' },
{ q: 'How do I improve my score?', a: 'Add FAQ schema...' },
]
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'FAQPage',
mainEntity: faqs.map((faq) => ({
'@type': 'Question',
name: faq.q,
acceptedAnswer: { '@type': 'Answer', text: faq.a },
})),
}
// In your component:
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>Dynamic FAQ schema in React / Next.js
Adding FAQ Schema in WordPress
If you use WordPress, the easiest approach is a plugin like Yoast SEO (Premium), Rank Math, or Schema Pro — all of which have FAQ block types that automatically generate the JSON-LD. If you prefer manual control, paste the JSON-LD script into a Custom HTML block at the bottom of your post.
Best Practices
- •Use 3-6 questions per page — enough for AI engines to find useful content without diluting the focus.
- •Match real user questions — Use the exact phrasing people type into search or AI chat. Check Google’s "People Also Ask" for ideas.
- •Keep answers concise — 50-150 words per answer. AI engines prefer brief, quotable text.
- •Match visible content — Google requires that FAQ schema answers match content visible on the page. Don’t hide FAQ content.
- •One FAQPage per page — Don’t add multiple FAQPage schemas to a single URL.
- •Validate your markup — Use Google’s Rich Results Test (search.google.com/test/rich-results) to verify your schema is valid.
Common Mistakes
- •Promotional answers — Google may ignore FAQ schema if the answers are purely promotional ("Buy our product!") instead of genuinely helpful.
- •Duplicate questions — Don’t repeat the same question with slightly different wording.
- •Missing @context — The JSON-LD won’t be recognized without "@context": "https://schema.org".
- •Answers too long — Keep answers under 200 words. Long paragraphs are harder for AI to extract cleanly.
Test Your FAQ Schema
After adding FAQ schema to your pages, run a free AEO scan to verify it’s detected correctly. The scan checks for valid FAQPage markup, question count, and answer quality as part of the 6-factor AEO analysis.
Check your AEO score for free
Enter your URL and see how your site scores across all 6 AEO factors. No signup required.