FAQ schema markup is a structured data format (JSON-LD) that tells search engines and AI assistants which sections of your page are formatted as questions and answers. It's the highest single-tactic ROI in Answer Engine Optimisation — the citation lift from properly implemented FAQPage schema is significant, immediate, and measurable.
This guide covers what FAQPage schema does, the exact code to use, and the common mistakes that break it.
Three things happen when you correctly apply FAQPage schema to a page:
1. AI assistants extract the Q&A more reliably. ChatGPT, Claude, Perplexity and AI Overviews can identify question-answer pairs without schema, but they extract them at significantly higher rates with schema markup. Citation rates climb measurably.
2. Google can show rich FAQ results in search. Historically Google showed expandable FAQ snippets in regular blue-link results. Google has deprecated these for most queries, but FAQ schema still feeds AI Overviews and the underlying knowledge graph.
3. The page becomes more discoverable for question-shaped queries. Long-tail "how do I..." or "what is..." searches match better when content is explicitly tagged as Q&A.
FAQPage schema goes in the page's HTML <head> as a <script> block. Here's a minimal correct implementation:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is the question being asked?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The full answer text, written in plain English."
}
},
{
"@type": "Question",
"name": "What is the second question?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The second answer."
}
}
]
}
</script>Add as many Question objects as you have FAQs on the page. There's no maximum but typical pages have 5–10.
Two correct locations:
In the page's <head> section. The most common implementation. Search engines see it on first crawl. In Webflow, this lives in Page Settings → Custom Code → Inside <head> tag.
Inline in the body. Acceptable. Some implementations put the JSON-LD as a script block immediately before or after the visible FAQ section. Search engines parse this correctly.
What you should never do: put it in the footer, hide it inside JavaScript that loads after page render, or generate it client-side only. Schema needs to be visible on initial HTML load.
Three rules that separate working FAQ schema from broken FAQ schema:
1. The Q&A in schema must match the visible content exactly. If the schema says one thing and the visible page says another, Google penalises this as deceptive. The text in the JSON-LD answer field should match the visible answer paragraph word-for-word (or close to it).
2. Both questions and answers must be visible on the page. Don't add FAQ schema for content that's hidden behind tabs or accordions that are collapsed by default. The content needs to be rendered in the HTML.
3. The page must genuinely be answering questions. FAQPage schema is only appropriate for pages that have an actual FAQ section. Don't apply it to product pages, blog posts without explicit Q&A, or category pages.
Mismatched content. Schema says "Pricing starts at $5,000" but the visible page says "Contact for pricing." Google flags this and may penalise.
HTML inside the answer field. The answer field accepts plain text only. Inserting HTML tags like <strong> or <a> either gets escaped (showing literal <strong> on the page) or rejected outright.
Quotes inside answers. If your answer contains a quote ("like this"), the JSON parser breaks. Use escaped quotes (\\") or restructure the sentence.
Multiple FAQPage schemas on one page. Only one FAQPage schema per page. If you have multiple FAQ sections, combine them into one schema block with all questions in the same mainEntity array.
Validating without testing. Always test the schema using Google's Rich Results Test (search.google.com/test/rich-results) and Schema.org's validator before publishing.
Webflow makes FAQ schema implementation straightforward:
For pages where the FAQ content is dynamic (CMS-driven), you can templatise the JSON-LD using Webflow's CMS field bindings. More work to set up, but worth it for sites with many CMS-based FAQ pages.
Three signals that FAQ schema is working:
Most pages see measurable AI citation lift within 30 days of adding FAQ schema correctly.
For the broader AEO strategy, see our Answer Engine Optimisation guide.
Mostly no — Google deprecated visible FAQ rich snippets in regular search results in 2023 for non-government, non-health sites. But the schema still feeds AI Overviews, ChatGPT citations, and the broader Google knowledge graph. The visible-rich-result use case is gone, but the AEO use case is now the bigger benefit.
HowTo schema is similar but for step-by-step instructions rather than Q&A. Google has also deprecated HowTo rich results, but the schema still helps AI extraction. Use it for tutorial-style content.
Yes — every long-form content page should have Article (or BlogPosting) schema with author name and dates. Combined with FAQPage schema on the FAQ section, this gives AI assistants the strongest possible signals about the content's authority and structure.
5–10 is a useful range. Below 3 isn't worth the schema overhead. Above 15 starts to look bloated and may dilute the signal — consider splitting into multiple topic-specific FAQ pages.