What is FAQPage Schema?
FAQPage schema is a type of structured data (JSON-LD) that marks up a page's question-and-answer content so Google can display it as an FAQ rich result in search — a dropdown list of expandable questions directly in the SERP. It doubles the visual space your listing occupies, improves click-through rates, and signals Q&A structure to AI systems for both AEO and GEO purposes.
- FAQPage schema only works on pages that genuinely contain FAQ-style content — don't apply it to promotional pages.
- Google typically shows 2-3 FAQ dropdowns per result — include at least 5-7 questions to maximise selection.
- Each FAQ answer should be 40-100 words — long enough to be useful, short enough to fit the dropdown.
- Google has restricted FAQPage rich results to authoritative government and health sites for some query types — test to confirm eligibility.
- FAQ schema also feeds AI systems — it's the clearest signal that a page has structured, extractable Q&A content.
How FAQPage Schema Works
FAQPage schema is added as a JSON-LD script in the page <head>. It maps each question to an answer using the Question and Answer schema types. Google's rich results system reads this markup and, for eligible pages, displays expandable FAQ dropdowns below your SERP listing.
The rich result shows 2-3 questions by default. Users can click to expand each and see the full answer without visiting the page. If the answer satisfies their query, they're done. If not, the source link is visible — and pre-qualified traffic clicks through.
Implementing FAQPage Schema in Next.js
In your page.tsx or TermPage component, add a <script type='application/ld+json'> tag with the FAQPage schema JSON:
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "Your question here?", "acceptedAnswer": { "@type": "Answer", "text": "Your answer here." } }] }
Generate this dynamically from your FAQ data in the database. Validate with Google's Rich Results Test before deploying.
Most guides are already outdated.
One email a week. The search stuff that actually matters — what shifted, what died, and what to do about it.
Subscribe free →Store questions and answers in your database or a typed constant. Each entry needs a 'question' string and an 'answer' string — keep answers plain text, no HTML tags.
In your page.tsx or TermPage component, map over the FAQ array to construct the schema object: @type FAQPage with a mainEntity array of Question/Answer pairs.
Use Next.js's built-in <Script> component or a <script type='application/ld+json'> tag with dangerouslySetInnerHTML to output the serialized JSON-LD in the document head.
Paste your live URL or raw HTML into search.google.com/test/rich-results. Confirm FAQPage is detected, all questions are parsed, and no errors or warnings are flagged.
Check the Enhancements > FAQ section in GSC after indexing. Track impression and CTR changes in Performance reports to measure rich result impact over 30–60 days.
| Attribute | Standard Listing | FAQPage Rich Result |
|---|---|---|
| SERP visual space | ~1 standard result height | 2–3× taller with expandable rows |
| User interaction before click | None — click required | Can read 2–3 answers inline without clicking |
| Traffic quality | Unfiltered intent | Pre-qualified — user saw answer and still clicked |
| AI/AEO indexing signal | Implicit from page content | Explicit Q&A structure machine-readable by LLMs and AI overviews |
| Implementation required | None | JSON-LD script in page <head> |
| Eligibility requirement | Automatic | Visible Q&A content on page must match schema markup |
How does your site score on AEO?
Paste your URL. Get a score and a fix list across all three disciplines. No form, no email.
Run Free Audit →Frequently Asked Questions
Include 5-10 genuine questions per page. Google typically displays 2-3 in the rich result, but having more gives Google options to select the most relevant ones for each query variation. Don't pad with low-value questions — quality matters more than quantity.
Common reasons: the page isn't authoritative enough for the query type, the schema contains errors (validate with Rich Results Test), the questions aren't relevant to search queries, or Google has restricted FAQ rich results for that topic category. Check Search Console → Enhancements → FAQ to see if there are errors.
- 1.Google — FAQPage structured data documentation
- 2.Google Rich Results Test
- 3.Schema.org — FAQPage type
Read next
AI Overviews
AI Overviews (formerly Search Generative Experience) are AI-generated summaries that appear at the top of Goog…
Featured Snippets
A featured snippet is a selected search result that appears at the top of Google's results in a special box —…
People Also Ask
People Also Ask (PAA) is a Google SERP feature that displays a box of related questions — each expandable to s…
Schema Markup
Schema markup (structured data) is code you add to your web pages — typically in JSON-LD format — that explici…