FAQPage schema: the shortest path to AI citations
FAQPage schema raises citation probability by 28-40%. Concrete JSON-LD examples, anti-patterns that hurt, and how to validate.
Of all structured data formats in 2026, FAQPage is the most impactful for AI visibility. Studies report 28-40% higher citation probability for pages with FAQPage schema versus pages without. No other schema type comes close.
This piece shows how to implement it correctly, what to avoid, and how to validate it works.
What FAQPage schema is
FAQPage is a Schema.org type for pages that hold a list of questions and answers. It's served as JSON-LD in a <script> tag in your HTML head or body.
A minimal working example:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is GEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "GEO stands for Generative Engine Optimization and means optimizing your site for AI search engines like ChatGPT, Claude, and Perplexity."
}
},
{
"@type": "Question",
"name": "Does GEO replace my SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. GEO is a layer on top of SEO. Many signals overlap, but specific optimization for AI engines requires additional techniques."
}
}
]
}
</script>
That's the entire base. But there's nuance in the details.
Why AI engines love it
Three reasons:
1. It matches how LLMs deliver answers An AI search engine produces answers in question-answer form. If your page is already in that form, the model has less to transform. Less transformation means a higher chance of verbatim citation.
2. It rides Google's Knowledge Graph Google's internal pipeline uses FAQPage data to enrich Knowledge Graph entries. That data feeds Gemini and is used by other AI systems that interact with Google's surfaces.
3. It signals structure and intent A page with FAQPage implicitly says: "I give answers, not marketing". That's exactly what AI engines hunt for at citation moments.
Important nuance: recent research (Schanbacher 2026, ZipTie) suggests LLMs often tokenize JSON-LD as raw text rather than parsing it as structured data. So part of the effect is indirect — through Google's pipeline and through the on-page Q&A text. The conclusion is the same: implement it, it works. But the Q&A text itself needs to be on the page, not only in JSON-LD.
Doing it right
Step 1: write real questions and answers
Not the questions you think people ask. Real ones. Sources:
- Search Console: queries you rank for but don't get clicks on
- AnswerThePublic, AlsoAsked for "people also ask" data
- Your own support tickets, sales calls, customer emails
- Reddit and forum threads in your niche
Step 2: write self-contained answers
An answer should make sense without the question above it. Models often cite isolated answer sentences. Make sure they're clear standalone.
❌ "Yes, we do." (depends on the question) ✅ "Priso scans both SEO and GEO signals, so yes — both aspects are in the same scan."
Step 3: put the Q&A visibly on the page
Not just in JSON-LD. Put the actual questions and answers in HTML as <h3> (question) and <p> (answer). Reason: models read your on-page text anyway. A mismatch between on-page and JSON-LD is a red flag. Google's documentation requires it.
Step 4: implement the JSON-LD
Full example for a blog post on GEO:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What exactly is GEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "GEO (Generative Engine Optimization) is the practice of structuring a website so AI search engines like ChatGPT, Claude, and Perplexity can find, understand, and cite it in their generated answers.",
"author": {
"@type": "Person",
"name": "Richard van Leeuwen",
"url": "https://www.linkedin.com/in/richard-vanleeuwen"
}
}
},
{
"@type": "Question",
"name": "How much traffic comes through AI search engines?",
"acceptedAnswer": {
"@type": "Answer",
"text": "In Q1 2026, between 12 and 18% of global web referral traffic flows through AI search engines, according to Similarweb. ChatGPT processes 250-500 million weekly queries."
}
}
]
}
</script>
Step 5: get mainEntity right
The biggest mistake we see in audits: mainEntity is missing or wrong. It's required in FAQPage schema. Without mainEntity, Google treats the schema as invalid and ignores it.
Anti-patterns that hurt
Anti-pattern 1: invented FAQs
Don't write FAQs no human would ever ask, just to fit keywords. Example: "What is the best accounting software for small business in New York at a sharp price?" That's not a question, that's keyword stuffing in question form. AI engines recognize this and devalue your content.
Anti-pattern 2: long answers
Answers of 500+ words backfire. Models can't compress a long answer for citation — they'll pick a shorter answer from someone else. Keep answers under 100 words, ideally 40-60.
Anti-pattern 3: no text on the page
Only JSON-LD without visible Q&A. That's cloaking-adjacent and almost always ignored. Always put Q&A visibly on the page.
Anti-pattern 4: schema mismatch
JSON-LD says "What is GEO?" and the HTML says "What does GEO actually mean?". Not the same. Keep them identical.
Anti-pattern 5: FAQPage on pages without an FAQ
Some sites stamp FAQPage schema on product pages without any Q&A in the body, hoping for rich results. Google tightened this in 2023 — only pages that are primarily an FAQ may use FAQPage. For product pages with a few questions at the bottom, use Product schema with embedded Question items instead.
How to validate
Validation 1: Google Rich Results Test
Paste your URL into search.google.com/test/rich-results. FAQPage detected and valid? Good.
Validation 2: Schema.org validator
validator.schema.org checks schema syntax. Stricter than Google's tool.
Validation 3: AI engine test
Paste a question from your FAQ into ChatGPT with "give me a source". Does your site come back? Test in Perplexity and Claude too.
Validation 4: Priso scan
A Priso GEO audit checks whether your FAQPage schema is found, valid, and matched against on-page text. We also test whether it's fetchable by Googlebot, GPTBot, ClaudeBot, and PerplexityBot.
How many FAQs are enough
No fixed number, but as a guideline:
- Product page: 3-5 questions (use Product schema with Question items, not FAQPage)
- Blog post: 3-6 questions at the bottom
- Service page: 5-10 questions
- Dedicated FAQ page: 10-30 questions, grouped by topic
Too many FAQs on one page (50+) dilutes the signal. Split into topic clusters.
What we see working
Three observations from Priso data over recent months:
1. SaaS sites with 5 questions on the homepage see noticeably more ChatGPT citations than the same sites without. Implementation time: 1-2 hours. ROI: high.
2. E-commerce sites with FAQPage in product descriptions (structured product questions, not generic "what is shipping time") lift on Perplexity and Claude. Especially in B2B niches.
3. Sites that pull FAQs from real support data get cited more than sites with "invented" SEO FAQs. Authentic data > keyword stuffing.
Done in 30 minutes
How to do it on your most important page today:
- Open your page, gather 5 questions that are actually asked
- Write 40-60 word answers
- Put them as
<h3>+<p>on the page - Generate JSON-LD via technicalseo.com/tools/schema-markup-generator or by hand
- Place in
<head>or just before</body> - Validate in Google Rich Results Test
- Run a Priso scan to see what else to improve
Test your full structured data setup free
Test your full structured data setup freeFAQ
Can I combine FAQPage and Article schema on one page?
Yes. FAQPage for the Q&A section, Article for the body content with author and datePublished. Both can sit in the same JSON-LD <script> tag (as an array) or in two separate tags.
Does FAQPage work without Google? Yes. AI engines like Claude and Perplexity read schema directly from your site. The effect isn't only Google-mediated.
How often should I update FAQs?
At least once per quarter, and always after a product update or policy change. Update dateModified in Article schema along with it — freshness counts.
Can I copy answer text between pages? Limited. Identical answers across pages = duplicate content. Vary the wording.
Written by Richard van Leeuwen, founder of Priso. Writes weekly structured data audits for SaaS and e-commerce sites.