JSON-LD FAQ schema for Google AI Overviews
Google's AI Overviews extract answers directly from structured FAQPage schema. Here's how to implement it correctly and what pitfalls to avoid so your content gets cited instead of ignored.
Google AI Overviews pull answers from FAQPage JSON-LD when the schema is present, correctly structured, and matches the visible page content. A valid FAQPage block with at least two question-answer pairs makes your page eligible for a rich result and dramatically increases your chances of appearing inside an AI Overview answer card.
The correct FAQPage schema structure
FAQPage schema lives inside a single script tag of type application/ld+json. The top-level object has @context set to https://schema.org and @type set to FAQPage. Each question-answer pair is a mainEntity array item with @type Question, name holding the question text, and acceptedAnswer holding an Answer object whose text property is the answer.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is JSON-LD FAQ schema?",
"acceptedAnswer": {
"@type": "Answer",
"text": "JSON-LD FAQ schema is structured data markup that tells Google your page contains question-and-answer content, making it eligible for rich results and AI Overview citations."
}
}
]
}How VeloCMS handles FAQ schema automatically
VeloCMS detects article slugs that follow a question pattern — slugs starting with how-do-i, what-is, why-does, can-i, and similar prefixes — and automatically generates a FAQPage schema node alongside the Article and BreadcrumbList schemas. The answer text is pulled from the article's first paragraph (the direct-answer paragraph). You don't need to write schema by hand. What you do need to do is ensure the first paragraph is a complete, self-contained answer — because that's what gets emitted into the acceptedAnswer.text field.
Google's guidelines require that FAQ schema content matches what's visible on the page. Don't write one answer in the schema and a different answer in the article body — mismatches trigger manual actions and can remove your rich results eligibility.
Common mistakes that break FAQ rich results
The most common mistake is duplicating the same FAQ schema across many pages — Google considers this spam. Each page should have a unique set of questions that are genuinely answered by that page's content. Another mistake is answer text over 300 words inside the schema; keep acceptedAnswer.text concise and let the article body carry the depth. Finally, avoid wrapping question text in HTML tags inside the schema — plain text only.
To validate your schema, paste your page URL into Google's Rich Results Test tool. For a deeper look at AEO strategy, see 'What is AEO and how is it different from SEO' — it covers the broader landscape of answer engine signals beyond structured data alone.