FAQPage Schema Generator — Curate Questions and Answers
Generate valid FAQPage JSON‑LD for curated FAQs. Keep questions and answers aligned with visible content and manage expectations around limited FAQ display.
Try the FAQ GeneratorWhy many FAQ pages underperform
- Teams expect an FAQ rich result, which Google stopped showing in May 2026.
- Hidden or mismatched Q&A content triggers validator issues and policy flags.
- Using FAQPage on non‑FAQ pages confuses search engines and users.
- Manually maintaining JSON‑LD makes it easy to drift from on‑page content.
How SwiftSchema helps
The FAQPage generator produces a clean `mainEntity` array of Questions with accepted Answers that must match your visible content, reducing policy and validation issues.
Use it only on dedicated FAQ pages; choose QAPage for user‑generated Q&A threads. Our output is copy‑ready to keep content and markup in sync.
How it works
- 01
Choose FAQPage in the generator below.
- 02
Enter each question and its official answer exactly as shown on the page.
- 03
Add URLs if you want to link to detailed answers or anchors.
- 04
Copy JSON or Script, paste into the FAQ page, and validate in the Schema Markup Validator.
- 05
Keep FAQs updated and remove entries that are no longer relevant.
Ready to build the markup?
Use on dedicated FAQ pages. Validate. Ship.
What is FAQPage structured data?
FAQPage marks up a publisher‑curated list of questions with their official answers. It improves machine understanding and may qualify for limited FAQ features.
Use FAQPage when:
- The page is primarily a list of publisher‑curated FAQs with one official answer each.
- All questions and answers are visible on the page to users and crawlers.
- The content is non‑promotional and genuinely helps users.
Avoid FAQPage when:
- The content is user‑generated with multiple answers (use QAPage).
- The page is primarily a product detail page (consider Product with QA/HowTo/Review where relevant).
- You are tempted to add FAQs to every page; keep it to genuine FAQ hubs or relevant sections.
Eligibility and policy notes
- Google stopped showing FAQ rich results on May 7, 2026. Use FAQPage to describe the page accurately, not to win a search display.
- Keep FAQs non‑spammy and directly relevant to the page topic.
- Match on‑page text exactly; don’t inject hidden questions/answers.
- Avoid redundant, promotional, or lead‑gen disguised as FAQs.
On-page parity checklist
- Questions and answers in JSON-LD match the visible text word for word (formatting differences are OK; meaning must match).
- Each question has a single accepted answer; no multiple accepted answers.
- If you include URLs in answers, they resolve and match the linked text.
- Page is indexable (no
noindex, no robots.txt block) and uses a self-referential canonical. - H1 describes the FAQ topic; questions are grouped logically (by theme or section).
Property guidance
- mainEntity[].name (required): The question text. Keep concise and human-readable.
- acceptedAnswer.text (required): The complete, visible answer. Avoid truncated or teaser answers.
- acceptedAnswer.url (recommended): Link to a detailed anchor or page if the answer is summarized.
- inLanguage (recommended): Add locale (e.g.,
en-US) for multi-language sites. - author.name / dateCreated (optional): If your FAQs are authored and time-sensitive, add attribution.
JSON-LD examples
Minimal FAQPage
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is structured data?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A standardized format that helps search engines understand a page."
}
},
{
"@type": "Question",
"name": "How do I validate JSON-LD?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Use the Schema Markup Validator and resolve reported issues."
}
}
]
}
FAQPage with anchor URLs and language
{
"@context": "https://schema.org",
"@type": "FAQPage",
"inLanguage": "en-US",
"mainEntity": [
{
"@type": "Question",
"name": "Can I combine FAQPage with HowTo?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Use FAQPage for general questions and HowTo for step-by-step instructions when both are on the same page and visible.",
"url": "https://www.example.com/faq#combine-faq-howto"
}
},
{
"@type": "Question",
"name": "Can I add FAQPage to every page?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. Only use FAQPage where the primary purpose is FAQs. Irrelevant or repetitive FAQs can be ignored or trigger issues.",
"url": "https://www.example.com/faq#where-to-use"
}
}
]
}
Implementation steps (detailed)
- Confirm page intent: The page is primarily FAQs; if not, consider embedding a smaller FAQ section sparingly and ensure it’s visible.
- Prepare question/answer pairs: Write concise, truthful Q&A. Keep answers self-contained (no clickbait).
- Generate JSON-LD: Use this guide’s generator; ensure the Q&A text matches on-page copy.
- Place schema: Include one FAQPage JSON-LD block per page in
<head>or before</body>. - Validate: Run the Schema Markup Validator. Google’s Rich Results Test and Search Console no longer report on FAQ markup.
- Maintain: Update or remove outdated questions; keep answers in sync with product/features/policies.
Common mistakes to avoid
- Hidden or mismatched content: Questions/answers in JSON-LD that aren’t visible on the page.
- Site-wide repetition: Copy-pasting the same FAQ block to every page.
- Using FAQPage on UGC threads: Use QAPage instead.
- Overly promotional answers: Keep answers factual and useful.
- Broken links in answers: Validate any URLs included.
Troubleshooting and validation
- Validator warnings: Verify required fields (
name,acceptedAnswer.text) exist and match on-page content. - No FAQ rich results shown: Expected. Google retired the display in May 2026.
- Language mismatches: Add
inLanguageand serve localized content per URL/section. - Duplicate content across URLs: Consolidate FAQs where possible; avoid near-duplicate pages.
Maintenance routine
- Review quarterly or when product/policy changes happen.
- Remove outdated or duplicative questions; add new, genuinely helpful ones.
- Refresh
lastReviewedafter updates and revalidate a sample page.
Required properties
mainEntity[].@type=QuestionmainEntity[].namemainEntity[].acceptedAnswer.@type=AnswermainEntity[].acceptedAnswer.text
Recommended properties
mainEntity[].acceptedAnswer.urlmainEntity[].author.namemainEntity[].acceptedAnswer.dateCreatedinLanguage
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is structured data?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A standardized format that helps search engines understand a page."
}
},
{
"@type": "Question",
"name": "How do I validate JSON-LD?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Use the Schema Markup Validator and resolve reported issues."
}
}
]
}FAQs
When should I use FAQPage structured data?ShowHide
Use it on a page that is primarily a list of questions with their answers (an FAQ page). Do not use it on forum posts or individual Q&A threads.
Do FAQ rich results still appear in Google?ShowHide
No. Google stopped showing FAQ rich results on May 7, 2026. FAQPage is still a valid schema.org type that describes your questions and answers for other search engines and AI assistants.
Do the answers need to be visible on the page?ShowHide
Yes. The structured data must match the visible content. Don’t include questions or answers that aren’t shown to users.
What’s the difference between FAQPage and QAPage?ShowHide
FAQPage is for a publisher‑curated list of questions with a single official answer each. QAPage is for user‑generated Q&A with multiple answers and one best answer.