AEO · Answer Engine Optimisationintermediate3 min read

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.

2x
SERP real estate gained when FAQPage rich results are active
Source: SEOBestie analysis
Fact-checked against 3 sourcesLast updated 8 June 2026
Key Takeaways
  • 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.

Stay sharp

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 →
FAQPage SchemaAEO

A structured data markup type (JSON-LD) applied to pages containing question-and-answer content. It enables Google to render expandable FAQ dropdowns directly in the SERP beneath your listing, increasing visual real estate and signaling Q&A structure to both search engines and AI answer systems.

Average SERP space occupied by an FAQ rich result vs. a standard listing
20–30%
Reported CTR lift for pages with FAQ rich results (Search Engine Land)
2–3
Questions shown by default before user expansion
0
Extra page visits required for Google to validate FAQ schema — reads directly from JSON-LD
✓ DO

Include the full answer text inside the schema — match exactly what appears on the page

Limit FAQ schema to pages where Q&A content is genuinely present and visible to users

Use concise, direct answers of 50–300 words per question for optimal rich result rendering

Validate every implementation with Google's Rich Results Test before deploying to production

Generate schema dynamically from a structured FAQ data source to keep markup and content in sync

✗ DON'T

Don't add FAQPage schema to pages that don't visibly display question-and-answer content

Don't use FAQPage schema for promotional or advertising content — Google may demote or ignore it

Don't duplicate the same FAQ schema block across multiple pages; it dilutes specificity

Don't nest HTML tags inside the 'text' field of acceptedAnswer — use plain text only

Don't add more than 10 questions to a single FAQPage schema block; prioritize the most search-relevant ones

HOW TO IMPLEMENT FAQPAGE SCHEMA IN NEXT.JS
01
Build your FAQ data structure

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.

02
Generate the JSON-LD object dynamically

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.

03
Inject via a <script> tag in the <head>

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.

04
Validate with Google's Rich Results Test

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.

05
Monitor in Google Search Console

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.

FAQPAGE SCHEMA VS. STANDARD SERP LISTING
AttributeStandard ListingFAQPage Rich Result
SERP visual space~1 standard result height2–3× taller with expandable rows
User interaction before clickNone — click requiredCan read 2–3 answers inline without clicking
Traffic qualityUnfiltered intentPre-qualified — user saw answer and still clicked
AI/AEO indexing signalImplicit from page contentExplicit Q&A structure machine-readable by LLMs and AI overviews
Implementation requiredNoneJSON-LD script in page <head>
Eligibility requirementAutomaticVisible Q&A content on page must match schema markup
FAQPAGE SCHEMA PRE-LAUNCH CHECKLIST
0/8 complete
All questions in the schema are visibly displayed on the live page for users
Answer text in schema exactly matches or faithfully summarizes the on-page answer
No HTML tags present inside any 'text' field of acceptedAnswer
JSON-LD script is placed in the document <head>, not the body
Schema validated with zero errors in Google's Rich Results Test
Page has been submitted for indexing via Google Search Console URL Inspection
FAQ content is genuinely informational — not promotional or incentivized
Dynamic generation confirmed: updating FAQ data in the database updates the schema automatically
Free Tool

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.

Sources & Further Reading
  • 1.Google — FAQPage structured data documentation
  • 2.Google Rich Results Test
  • 3.Schema.org — FAQPage type