Practical structured data guide
FAQ Schema Markup: build it from visible questions and answers
FAQPage JSON-LD is easy to copy and easy to misuse. The reliable approach is to start with the questions and answers a reader can see, then represent that content accurately in JSON-LD.
Quick answer
Do not use FAQ markup for hidden text or a collection of keyword variants. Put the complete questions and answers on the page, keep the markup aligned with them and review the current Google eligibility rules for your site type.
What belongs in FAQPage markup
A FAQPage describes a page with questions and accepted answers. The question text and answer meaning should be visible to readers on the same page. If the answer changes, update the page and the markup together.
Why eligibility is separate from validity
A JSON parser can accept the code while Google decides that a search feature is not appropriate for the page or site. Structured data enables eligibility; it does not guarantee a displayed rich result. Never promise a result only because a test is green.
How to keep the page useful
Answer the question directly before adding promotional copy. Use headings, readable answers and links to deeper documentation when needed. A useful FAQ can serve users even when no enhancement appears in Search.
Copy-ready JSON-LD example
Replace every placeholder with facts that are true and visible on your own page. Do not publish the sample identity, URL or values unchanged.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Where should JSON-LD be placed?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Place valid JSON-LD in the page HTML and verify the published URL after deployment."
}
},
{
"@type": "Question",
"name": "Does valid JSON-LD guarantee a rich result?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. Valid markup can make a page eligible, but search appearance is not guaranteed."
}
}
]
}What fails
The markup contains questions that are hidden, incomplete or different from the visible answers. It may still parse, but it does not accurately represent the page.
What works better
Publish the same questions and answers visibly, remove unsupported claims and validate both the code and the live page context.
Publishing checklist
- Questions and accepted answers are visible on the page.
- Answers are complete, current and written for readers.
- No hidden keyword blocks, fake reviews or unsupported claims are added.
- The page genuinely functions as an FAQ.
- Review Google guidance before relying on a search appearance.
A reliable workflow
Generate or edit the markup, validate the exact code, compare important properties with the visible page, publish it, then inspect the live URL. For critical pages, save a baseline and monitor for field changes after releases. A valid object can still be inaccurate if its data becomes stale.