FAQ schema is FAQPage structured data: a JSON-LD block that lists the questions and answers visible on a page, so machines can read them as pairs instead of guessing from the layout. For years it earned the expandable FAQ rich result under a Google listing. Google stopped showing that rich result for every site on 7 May 2026, and removed HowTo rich results in 2023, so FAQ schema now changes nothing in how your page looks in Google. The markup is still valid and harmless: keep it where the page is a real FAQ and a plugin writes it for free, and stop adding it to win a rich result. This guide gives the history, a valid FAQ schema example, and where the effort pays off instead. For the wider picture, see our guide to schema markup and the types that matter.
Quick answer
- FAQ rich results: gone. Limited to government and health sites from August 2023, then shown for no site from 7 May 2026.
- HowTo rich results: removed completely in September 2023.
- The markup is not penalised. Google has said unused structured data causes no problems; nothing needs removing for safety.
- Keep
FAQPagewhere the questions and answers are visible on the page and it costs you nothing. - Do not add FAQ or HowTo markup for a rich result, and remove plugins you installed only for that.
- Never mark up questions that are not on the page, or promotional copy dressed as Q&A.
- The schema markup validator lists the types on the page, checks FAQPage's properties and shows which types can still earn a rich result.
What changed, and when
| Date | Change |
|---|---|
| 8 August 2023 | Google limits FAQ rich results to "well-known, authoritative government and health websites"; HowTo shown on desktop only |
| 13 September 2023 | HowTo rich results removed entirely, including from the Rich Results Test and Search Console |
| 7 May 2026 | FAQ rich results stop appearing in Google Search for every site |
| June 2026 | Google drops the FAQ search appearance filter, the Search Console FAQ report and FAQ support in the Rich Results Test |
| August 2026 | FAQ support removed from the Search Console API |
The 2026 change came as a notice on Google's FAQ structured data documentation rather than a blog post, which is why many sites only noticed when their Search Console report disappeared. Google was explicit in 2023 that these are display changes, not penalties, and nothing it has published since changes that.
What did not change is that both are ordinary schema.org vocabulary. Other search engines and AI assistants that read structured data can still parse a question-and-answer list. Nobody publishes a guarantee that they use it, which is why the advice below turns on cost: keep it when it is free and true, never build for it.
FAQ schema example
A complete FAQPage block is short. Two questions, in a <script type="application/ld+json"> anywhere in the page's HTML:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Do you ship outside Croatia?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, to every EU country. Delivery takes 2-4 working days and costs €6.90; orders over €80 ship free."
}
},
{
"@type": "Question",
"name": "Can I return an opened item?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Within 14 days, yes, as long as the packaging is intact. Start a return from the order page in your account."
}
}
]
}The rules that made FAQ markup valid still make it honest:
mainEntityis an array ofQuestionitems, one per visible question.nameis the question exactly as shown;acceptedAnswer.textis the full visible answer.textmay contain simple HTML (<p>,<a>, lists), but every double quote inside it must be escaped as\"and line breaks written as\n. That is where hand-written blocks and naive templates break.- The site wrote the answers. A page where users submit answers to one question is
QAPage, a different type for forums and support communities. - Each question appears on one page, not on every page of the site.
The schema markup generator builds this block from a form, with the escaping done for you.
HowTo schema: what it was and what is left
HowTo markup described a sequence of steps: name, step as a list of HowToStep items with text and optional image, plus supply, tool and totalTime. It earned a steps carousel until September 2023. Today it is valid schema.org that no Google feature reads.
Recipe plugins are the exception worth knowing: Recipe still earns a rich result, and its recipeInstructions are HowToStep items by design. Leave those alone; they are part of a supported type, not stray HowTo markup.
How getReport checks it
The validator reads each JSON-LD block, lists the types it declares, checks known types against their required properties and reports which are eligible for a rich result.

This is the inventory: everything the page declares, including HowTo, stray Question roots and anything a plugin added that you did not know about. Two FAQPage roots on one page is a common surprise, typically a theme block and an SEO plugin block.
FAQPage no longer counts as a rich-result type. A page whose only structured data is FAQPage gets an informational result naming it as retired on 7 May 2026; on a page with other types the finding lists FAQPage under "not counted". HowTo is not in the table at all.
The report still requires mainEntity, a name on each Question and acceptedAnswer.text on each, because a broken block is broken for every tool that reads it.
FAQ blocks are the JSON-LD most likely to be broken, because an editor writes the answers and a template injects them without escaping quotes. One straight quote inside an answer and the whole block fails to parse, which the finding reports with the block number and the parser's message. Our guide to schema markup validation goes through each parse error.
Step by step
1. Find out what you have
Run the validator on a page you suspect, such as a service page with an FAQ section or a tutorial with steps, then decide:
| On the page | Do this |
|---|---|
FAQPage, questions visible, generated by a plugin or block | Keep it; check it is complete and parses |
FAQPage with questions not on the page, or one block repeated on every page | Remove it |
HowTo from a block or plugin added for the rich result | Remove the block or plugin if it costs weight; keep the visible steps |
HowTo inside a recipe or tutorial plugin that also renders the steps | Leave it |
| Nothing | Add nothing for rich results; add FAQPage only if the page is an FAQ and a plugin makes it free |
2. Keep FAQPage only where it is true
Google's general structured data guidelines still require markup to match what is visible. A support page with eight real questions passes. A product page with three marketing questions ("Why is X the best?") pasted on every product does not, and never did. A page whose visible text has no questions but whose JSON-LD has ten is structured data spam in Google's terms, and a manual action for it removes every rich result on the site, not only the FAQ.
3. Remove HowTo you added for the rich result
If a HowTo block exists only for the carousel, it is dead weight: a script tag on every tutorial, sometimes a plugin with its own CSS and JavaScript on every page. Delete the block, keep the visible numbered steps (they are the content), and remove the plugin if HowTo was its only job.
4. Put the effort where rich results still are
Google still documents rich results for, among others, Product and merchant listings (price, availability, ratings), Article, Breadcrumb, Organization logo, LocalBusiness, Event, Recipe, JobPosting, Video, Review snippet on the types that allow it, and Q&A for community answer pages. Others have gone the way of FAQ and HowTo: sitelinks search box markup stopped being used in November 2024, and in June 2025 Google phased out a further set including Course Info, Claim Review, Estimated Salary, Special Announcement and Vehicle Listing. Our guide to rich snippets shows what each remaining type looks like in results.
An hour spent on a complete Product or Article block, or a BreadcrumbList every inner page can carry, pays back on every listing; the same hour on FAQ markup does not.
5. Validate
Re-run the schema validator: the parse finding passes, the required properties finding passes for FAQPage, and the detected types line lists what you meant to keep. The Rich Results Test no longer checks FAQPage, so for FAQ syntax use getReport or the Schema Markup Validator at validator.schema.org.
Platform notes
WordPress. Yoast SEO's FAQ block writes the visible questions into the page's schema graph as FAQPage, so it passes the "on the page" test by construction; older installs also have its How-to block. Rank Math has FAQ and HowTo blocks that behave the same way, plus a Schema Generator where FAQ can be attached to a post without appearing in the content. That second path is the one to check, since hidden FAQ schema breaks Google's guidelines. Make sure no post type has FAQPage or HowTo as its default schema. Elementor Pro and several accordion plugins have an "FAQ schema" toggle per widget; two accordions with it on produce FAQPage ×2. Our guide to schema markup in WordPress covers keeping one source per entity.
Shopify. FAQ apps typically inject FAQPage JSON-LD from their own settings. Keep the app if you use its FAQ page; if it exists only for the rich result, uninstall it and check theme.liquid and section files for a leftover script.
Static sites and custom builds. An FAQ partial that renders both the HTML and the JSON-LD from the same list of questions cannot drift. Serialise the JSON with the language's encoder (JSON.stringify, json_encode) rather than string templates, and the escaping problem disappears.
Common mistakes
- Adding FAQPage for the rich result. It has not appeared for any site since 7 May 2026.
- Questions in the markup that are not on the page. Violates Google's guidelines and can cost every rich result on the site.
- The same FAQ on every page. The duplicate-entities finding shows the same questions page after page. Put it on the one page it belongs to.
- Removing the visible steps along with the HowTo block. The steps are what people came for.
- Using FAQPage for a forum thread. One question with answers from users is
QAPage.
Questions people ask
Is FAQ schema still worth adding in 2026?
Only when it is free and the page is a genuine FAQ. Google stopped showing FAQ rich results for every site on 7 May 2026, so the markup changes nothing in Google's results. It remains valid schema.org that other search engines and AI tools can parse, so a plugin-generated block on a real FAQ page does no harm. Writing new FAQ markup to win a rich result is wasted effort.
Should I remove FAQ schema from my pages?
No, not if the questions are visible on the page. Google has said unused structured data causes no problems, so there is nothing to clean up for safety. Remove it where the questions are not on the page, where one FAQ block repeats across the site, or where a plugin adds page weight only to produce it.
Is HowTo schema still supported by Google?
No. Google removed HowTo rich results from mobile in August 2023 and from desktop on 13 September 2023, and dropped HowTo from the Rich Results Test and Search Console. The markup is still valid schema.org, but no Google feature reads it. Recipe steps are different: they use HowToStep inside Recipe, which still earns a rich result.
What is the difference between FAQPage and QAPage schema?
FAQPage is for a page where the site itself answers several questions, such as a shipping and returns page. QAPage is for a page built around one question with answers from users, such as a forum thread or community support post. Using FAQPage for user answers, or QAPage for your own FAQ, describes the page wrongly.
Where does FAQ schema go on a page?
In a script element with the type application/ld+json, either in the head or the body; Google reads both. Most sites let the SEO plugin or FAQ block print it next to the visible questions. What matters is that each question and answer in the markup matches text a visitor can read on the same page.