FAQ schema markup is one of the easiest structured data wins in SEO — and one of the most overlooked. Add it correctly, and your FAQ answers can appear directly in Google's search results, taking up significantly more space than a standard result.
This guide explains what FAQ schema is, how to write it, how to add it to any website, and the mistakes that prevent it from working.
FAQ schema (technically FAQPage schema) is a type of structured data that tells Google a page contains a list of questions and answers. When Google recognises it, it can display those Q&As as expandable dropdowns directly in the search results — what's called a rich result.
Instead of a single blue link, your search result can show:
This takes up two to three times as much vertical space as a normal result — which typically means higher click-through rates, even if your ranking position stays the same.
Yes — with a caveat. Google reduced FAQ rich results in 2023, limiting them to authoritative government and health sites for generic queries. But FAQ rich results still appear regularly for:
For most business websites, FAQ schema is still worth implementing. The downside is minimal (a few lines of JSON-LD), the upside is a significantly larger search result when it triggers.
FAQ schema uses JSON-LD, a format Google prefers because it doesn't require changes to your visible HTML. Here's the basic structure:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup is structured data added to a webpage that helps search engines understand its content. It uses vocabulary from schema.org and is typically written in JSON-LD format."
}
},
{
"@type": "Question",
"name": "Does schema markup improve rankings?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup doesn't directly improve rankings, but it can increase click-through rates by enabling rich results — enhanced search listings that take up more space and display additional information."
}
}
]
}
</script>
The key elements:
@type: "FAQPage" — tells Google this is an FAQ pagemainEntity — an array containing all your questionsname (the question text) and an acceptedAnswer with a text field (the answer)Before implementing, make sure your page follows Google's guidelines — otherwise the rich result won't show:
Writing JSON-LD by hand is error-prone, especially with multiple questions. A missing comma or quote breaks the entire block. The easiest approach is to use SchemaGenerator.app's FAQ schema generator:
The output is validated and ready to paste. No manual JSON editing required.
Paste the JSON-LD script block into your page using a Custom HTML block in the Gutenberg editor, or add it to your theme's <head> via a plugin like Insert Headers and Footers. For a detailed walkthrough, see our guide on how to add schema markup to WordPress.
In your theme editor, open the relevant template file and paste the script block before the closing </section> tag. See our Shopify schema markup guide for step-by-step instructions.
Paste the <script type="application/ld+json"> block anywhere in the <head> or <body> of your HTML. Google reads it regardless of placement.
Always validate before considering it done. Two tools:
Common errors to watch for:
name and acceptedAnswer.text are both required for every question| Mistake | Why it's a problem | Fix |
|---|---|---|
| FAQ content not visible on page | Google requires schema to match page content | Add an FAQ section to the page HTML |
| Using FAQ schema on product pages | Product pages should use Product schema, not FAQPage | Match schema type to page type |
| Duplicate FAQ across multiple pages | Dilutes which page Google shows rich results for | Use FAQ schema on one canonical page per topic |
| JSON syntax errors | Entire block is ignored | Validate with Rich Results Test before publishing |
| Promotional answers | Google won't show rich results for sales copy | Write genuine, helpful answers |
The fastest way to get valid FAQPage schema is to use the FAQ schema generator — paste your URL, review the extracted questions, copy the output. It takes about 60 seconds and the result passes Google's Rich Results Test.
If you're not sure what schema types other pages on your site need, SchemaGenerator.app supports 13+ schema types — paste any URL and it'll generate the right structured data for that page automatically.