FAQ content has FAQPage schema
Why it matters
The two biggest AI-answer vendors disagree about schema, and this check reflects both positions honestly. Microsoft's Bing guidance explicitly recommends JSON-LD schema for AI search answers — "Schema is a type of code that helps search engines and AI systems understand your content" — and Bing's index powers Microsoft Copilot and feeds ChatGPT search as a named third-party provider. Google says the opposite for its own AI features: "Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add," while still recommending it for rich-results eligibility. Net: FAQPage markup on existing FAQ content is a low-cost win on the Bing/Copilot side and harmless on the Google side. It is not a gate — well-written visible Q&A is extractable without it.
Severity rationale
Low because schema is endorsed for AI answers by Bing but explicitly not required by Google, so absence costs a structured signal on one vendor family rather than gating citation anywhere.
Remediation
Add a FAQPage JSON-LD block to any page with FAQ content. Each visible question needs a corresponding Question entry — stale subsets (fewer than 80% of visible questions) fail the check.
// Inline in your FAQ page component
<script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify({
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": faqItems.map(item => ({
"@type": "Question",
"name": item.question,
"acceptedAnswer": {
"@type": "Answer",
"text": item.answer
}
}))
})}} />
Derive schema entries directly from the same data array that renders the visible FAQ, so the schema never gets out of sync. Avoid hardcoding a subset of questions.
Detection
-
ID:
faq-schema-markup -
Severity:
low -
What to look for: If FAQ content exists on the site, check whether it's backed by FAQPage JSON-LD schema markup. Count all
<script type="application/ld+json">blocks in the codebase. Search for blocks containing"@type": "FAQPage"or"@type": "Question"near FAQ sections. In Next.js, also check for structured data inmetadataexports or separate JSON-LD components. Count the number of FAQ questions in the schema vs. the number visible on the page. -
Pass criteria: FAQ sections are backed by FAQPage JSON-LD or Microdata schema with Question and Answer items. The schema must contain at least as many Question items as the visible FAQ has questions (the schema should not be a stale subset). Count schema questions vs. visible questions — at least 80% of visible questions must have corresponding schema entries.
-
Fail criteria: FAQ content exists on the site but has no FAQPage schema markup (0 FAQPage schemas found). The questions and answers are visible to users but not structured for AI systems. Also fails if FAQPage schema exists but covers fewer than 80% of visible FAQ questions. Report:
"X of Y visible FAQ questions have schema markup — Z% (threshold: 80%)"or"0 FAQPage schemas found". -
Skip (N/A) when: No FAQ content exists on the site (this is caught by the
faq-content-presentcheck — if that check fails or skips, this one skips too). -
Detail on fail:
"FAQ section on /docs has 8 questions but 0 FAQPage schema markup blocks found. Bing's AI-search guidance recommends JSON-LD schema; Google does not require it for AI features — adding it is a low-cost Bing/Copilot-side win."or"Homepage FAQ uses accordion component with 6 questions but no JSON-LD FAQPage schema — 0 of 6 questions have schema markup" -
Cross-reference: For a deeper analysis of all structured data types (Organization, BreadcrumbList, Product, etc.) and schema validation, the Advanced SEO audit covers this in detail.
-
Remediation: FAQPage schema labels the Q&A structure for the systems that use it (Bing/Copilot per Microsoft's guidance; Google uses it for rich results, not AI features). Add JSON-LD derived from the same array that renders the visible FAQ:
<script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify({ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "How do audits work?", "acceptedAnswer": { "@type": "Answer", "text": "Copy an audit prompt, paste it into your AI tool, and it runs checks against your codebase..." } } ] })}} />For comprehensive structured data coverage, the Advanced SEO audit covers schema validation in depth.
External references
- schema-org · FAQPage
- schema-org · Question
- external · bing-geo-guidance — Microsoft — Optimizing Your Content for Inclusion in AI Search Answers (schema endorsement)
- external · google-ai-optimization-guide — Google — Optimizing your website for generative AI features (structured data not required)
Taxons
History
- 2026-04-18·v1.0.0·Initial import from geo-readiness·automated
- 2026-06-10·v1.1.0·Severity medium -> low and full-field reframe to the two-vendor truth: Bing first-party-endorses JSON-LD for AI answers; Google explicitly says no special schema is needed for its generative AI features (kept for rich results). Removed the unsupported "binary gap" / "AI Overviews bypass your answers" / "indexed at higher rates" / "dramatically increases citation" claims.·by geo-first-party-alignment