Google retired the FAQ rich result on 7 May 2026, so this markup will not change how your listing looks for anyone. What it still does is describe your questions and answers in valid schema.org that any consumer is free to parse, and Google documents that structured data helps it understand more about a page. Whether AI answer engines weight any of it is not something Google or the AI vendors publish, so anyone promising you citations is guessing, us included.
Without these, the markup is not valid.
2 errors must be fixed before this markup will validate.
{
"@context": "https://schema.org",
"@type": "FAQPage"
}FAQPage markup tells search engines that a page contains a list of questions and their answers. You add it as a JSON-LD script tag, and it describes content that must already be visible on the page - marking up questions a visitor cannot see is a policy violation, not a shortcut. The practical value of FAQ markup has changed twice, and most advice about it is stuck at the first change. Until 2023 it produced an expandable accordion under your search listing, which is why so many sites added it. Google then restricted that display to well-known government and health sites. Then, on 7 May 2026, Google retired the FAQ rich result altogether, and removed the documentation for it that June. There is now no site, government or otherwise, for which this markup changes how your listing looks. It still earns its place for a smaller and more defensible reason: it is valid schema.org that any consumer is free to parse, and Google documents that structured data helps it understand more about a page. You will also read that FAQ markup wins citations in AI answer engines. Nobody publishes whether that is true. Google does not say its AI surfaces weight structured data, and the AI vendors do not say what they parse, so anyone stating it as fact is guessing, and that includes us. Add this markup to describe your page accurately, and expect nothing from the search result itself.
Tier reflects what Google actually documents for FAQPage, not a guess at what looks thorough.
| Property | Tier | What it does |
|---|---|---|
| mainEntity | Required | The array of Question nodes. An FAQPage without it is meaningless. |
| mainEntity.name | Required | The question text, exactly as shown on the page. |
| mainEntity.acceptedAnswer | Required | An Answer node. One per question - FAQPage does not support multiple competing answers. |
| mainEntity.acceptedAnswer.text | Required | The full answer. Plain text or simple HTML. |
A two-question FAQ on an ecommerce shipping page.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Do you ship internationally?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. We ship worldwide, and delivery takes 5 to 10 business days depending on destination."
}
},
{
"@type": "Question",
"name": "What is your returns policy?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Unused items can be returned within 30 days of delivery for a full refund."
}
}
]
}Note that acceptedAnswer is a nested Answer node, carrying its own @type, rather than a bare string. Hand-written FAQ markup very often flattens it, and a flat string parses as JSON while meaning something other than an Answer.
Google's general structured data policies require markup to describe content that is visible to the user. That rule outlived the FAQ documentation, so marking up questions a visitor cannot see is still a policy violation rather than a clever shortcut.
acceptedAnswer must be an Answer node with a text property. Passing a string parses as JSON but is not valid FAQPage markup.
FAQPage describes a page whose primary purpose is a list of questions. Adding it to a product page with two questions at the bottom misrepresents the page.
Google retired the FAQ rich result on 7 May 2026. It is not restricted to certain sites any more, it is gone: no site gets the accordion. If you are adding FAQ markup for the search listing, you are adding it for a feature that no longer exists.
Plenty of FAQ schema tools still describe the 2023 restriction to government and health sites, and the older ones still show a preview of an accordion you cannot earn. Check the date on any advice about FAQ rich results before you act on it.
Identical FAQ markup repeated site-wide adds no information and dilutes what the markup tells search engines about any individual page.
Paste the script tag anywhere inside the <head> or <body> of the page. Position does not affect how it is parsed.
Without a plugin: add the script tag to your theme's single.php or page.php inside the <head>, wrapped in a conditional so it only fires on the FAQ page. With a block theme, use a Custom HTML block on the page itself.
Add the script tag to the relevant template in your theme, for example templates/page.faq.liquid, or to theme.liquid inside a conditional that checks the page handle.
Want this markup built into your site and kept correct as it changes, rather than pasted in by hand? See how we handle that.
Get a free audit of your site's technical SEO, structured data and performance.