Scope: This is an implementation reference. Validate claims against current Google, vendor, and platform documentation before making a release or policy decision.
The eligibility distinction
Separate three claims: the markup is syntactically valid, it describes visible content, and Google may show a rich result. Only the first two are implementation responsibilities. Do not promise a SERP enhancement from FAQ JSON-LD on a commercial site.
FAQ content can still improve usability and semantic clarity. Use the page heading, direct answer paragraphs, and internal links as the primary experience; schema is the machine-readable mirror.
Production-safe JSON-LD
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Does FAQPage schema guarantee a rich result?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. Google eligibility is restricted and rendering is not guaranteed."
}
}
]
}
</script>Escape JSON safely when rendering inline, keep one canonical question per item, and do not include hidden, contradictory, user-generated, or promotional answers. Validate syntax with the JSON-LD linter and validate Google eligibility separately when it applies.
Combine schema with AEO formatting
Use the same semantic unit in the visible page:
<section aria-labelledby="faq-heading">
<h2 id="faq-heading">Frequently asked questions</h2>
<h3>Does FAQPage schema guarantee a rich result?</h3>
<p>No. Google eligibility is restricted and rendering is not guaranteed.</p>
</section>The answer should be self-contained, precise, and near the question. Add `Article` or `WebPage` schema for the page itself when appropriate; do not force every page into FAQPage.