What FAQPage markup is
FAQPage is a schema.org type for a page that lists questions with answers written by the site owner. You add it as a JSON-LD block: a <script type="application/ld+json"> tag containing a FAQPage with one Question per item, each with an acceptedAnswer. This generator writes exactly that, with the JSON escaped so an answer can’t break the script tag.
What Google does with it today
In 2023 Google limited FAQ rich results, the expandable questions under a search result, to well-known, authoritative government and health websites. In May 2026 it stopped showing them in Search altogether and removed the feature’s documentation. So for every site, the markup no longer changes how the result looks in Google.
The markup still has a job. It states plainly which text is a question and which is its answer, so any system reading the page, a search engine or an AI assistant, doesn’t have to infer it from the layout. Whether a given system uses it is up to that system. Add it because it’s accurate and cheap, not because it guarantees anything.
Rules that still apply
- Mark up only what’s on the page. Every question and answer in the JSON-LD must be visible to readers.
- Owner-written answers only. User-submitted answers belong in QAPage markup.
- No ads. FAQ content shouldn’t be advertising.
- Repeated FAQs: if the same questions appear on many pages, Google’s old guidance was to mark up only one instance.
How to add it
- Write the FAQ on the page first. Real questions from customers and sales calls make the best ones.
- Paste the same questions and answers above, and copy the output.
- Add it to the page’s HTML, in the head or body. In Next.js, render it in a script tag from the page component. In WordPress, use your SEO plugin’s FAQ block or a custom HTML block.
- Test the live URL with Google’s Rich Results Test or the Schema Markup Validator.
To see which JSON-LD types a page already has, run it through the meta tag checker.