FAQ Schema Markup: How to Get Rich Snippets in Google
FAQ schema markup is one of the fastest ways to stand out in Google search results. It adds expandable question-and-answer dropdowns directly below your listing — taking up more screen space and driving more clicks.
Here's how to add it to your site, what the JSON-LD looks like, and which pages it actually makes sense for.
What FAQ Rich Snippets Look Like
When Google detects valid FAQ schema on your page, it can display your questions as expandable accordions right in the search results. Each question shows the first ~300 characters of the answer when expanded.
The result: your listing can take up 3-4x more vertical space than a normal result, pushing competitors further down the page.
When to Use FAQ Schema (And When Not To)
FAQ schema works best on pages that genuinely answer multiple related questions:
- Service pages — "How much does roof repair cost?" "How long does it take?" "Do you offer financing?"
- Product pages — "What sizes are available?" "What's the return policy?" "Is this compatible with X?"
- Category/pillar pages — answering the top questions people ask about a broad topic
- Blog posts — especially "ultimate guide" or "everything you need to know" formats
Don't use it on actual FAQ pages that are just a dumping ground for unrelated questions. Google wants the questions to be relevant to the main topic of the page.
Pages to Avoid
- Homepage — too broad, questions won't match specific search queries
- Contact pages — no real FAQ content here
- Pages with one question — you need at least 2 Q&A pairs for it to make sense
The JSON-LD Code
FAQ schema uses the FAQPage type. Here's what it looks like:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How much does roof repair cost?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Roof repair typically costs between $300 and $1,500 depending on the damage. Minor shingle replacements run $300-$500, while structural repairs can reach $1,500 or more."
}
},
{
"@type": "Question",
"name": "How long does a roof repair take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Most roof repairs take 1-3 hours for minor fixes. Larger repairs involving structural work may take 1-2 days."
}
}
]
}
This goes in a <script type="application/ld+json"> tag in your page's <head> section. You can have as many Question objects in the mainEntity array as you want, though 3-8 is the sweet spot.
Step-by-Step: Adding FAQ Schema
1. Identify Your Questions
Look at your page content and pull out the questions you're already answering. If you don't have clear Q&A content, write some — but only if the questions are genuinely useful to someone reading that page.
Good sources for questions:
- Google's "People Also Ask" — search your target keyword and see what Google suggests
- Your actual customer questions — check support emails, chat logs, and phone call notes
- Google Search Console — look at queries bringing traffic to that page
2. Write Clear Answers
Each answer should be 1-3 sentences. Front-load the direct answer, then add context. Google shows about 300 characters in the expanded snippet, so make those first characters count.
Bad: "That's a great question. There are many factors to consider when thinking about cost..."
Good: "Roof repair costs $300-$1,500 depending on damage severity. Minor shingle work runs $300-$500, while structural repairs cost $1,000+."
3. Generate the JSON-LD
You can write the JSON-LD by hand, but it's easy to mess up the nesting. Our Schema Markup Generator builds valid FAQ schema automatically — just pick "FAQ" as the schema type, add your questions and answers, and copy the generated code.
4. Add It to Your Page
Paste the generated <script> tag into your page's <head>. If you're using a CMS:
- WordPress — use a plugin like Rank Math or Yoast, or paste into a custom
<head>section - Shopify — edit your theme's
theme.liquidfile or use the custom<head>field in page settings - Squarespace — Settings > Advanced > Code Injection > Header
- Next.js / React — add it to your page component's
<Head>or metadata export
5. Validate Your Markup
After publishing, test your page with Google's Rich Results Test. It shows exactly what Google sees and flags any errors in your schema.
Common validation errors:
- Missing
acceptedAnswer— every Question needs one - Empty
textfield — the answer text can't be blank - HTML in the
namefield — question text should be plain text, no tags
How Long Until Rich Snippets Appear?
There's no guaranteed timeline. Some pages get FAQ rich snippets within days, others take weeks. Factors that affect it:
- Crawl frequency — pages Google visits often get processed faster
- Page authority — established pages with backlinks tend to get rich snippets sooner
- Content quality — Google may choose not to show FAQ snippets if the content seems thin or spammy
- Competition — if too many pages in the SERP have FAQ schema, Google may limit how many it displays
You can speed things up by requesting a re-crawl in Google Search Console after adding the markup.
FAQ Schema and Click-Through Rates
The main benefit of FAQ schema is visibility. Studies from various SEO tool providers show pages with FAQ rich snippets can see CTR increases of 15-25% compared to standard listings. The extra screen real estate alone makes a difference — your result physically pushes competitors lower.
There's a tradeoff though: if your FAQ answers are too complete, searchers might get what they need without clicking. Keep answers concise enough to be useful in the snippet, but leave enough depth on the actual page to reward the click.
Combining FAQ Schema with Other Types
FAQ schema plays well with other structured data. Common combinations:
- LocalBusiness + FAQ — perfect for service businesses answering location-specific questions
- Product + FAQ — product pages with buying questions
- Article + FAQ — blog posts that answer multiple questions about a topic
Our Schema Markup Generator supports all these types. You can generate multiple schema blocks for the same page — just make sure each describes different content.
Quick Checklist
- Questions match the actual content on the page
- Answers are concise (1-3 sentences, front-loaded)
- JSON-LD is valid (test with Rich Results Test)
- Minimum 2 questions, sweet spot is 3-8
- No duplicate questions across different pages
- Schema is in a
<script type="application/ld+json">tag in<head>
Skip the guesswork and generate valid FAQ schema in seconds with the Schema Markup Generator. Pick your schema type, fill in your Q&As, and copy the ready-to-use JSON-LD code.
Ready to try it?
Create JSON-LD structured data for your website. Support for Article, LocalBusiness, Product, FAQ, and more schema types.
📋 Schema Markup Generator — Free Online ToolGet notified about new SEO tools
More free tools coming soon — keyword research, sitemap generator, and more.