Free SEO Tools

FAQ Schema Generator

Generate clean FAQPage JSON-LD for visible question-and-answer blocks on your page.

FAQ 1

FAQ 2

FAQPage JSON-LD
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is FAQ schema?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "FAQ schema is structured data that helps search engines understand visible questions and answers on a page."
      }
    },
    {
      "@type": "Question",
      "name": "Does FAQ schema still get rich results in Google?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. Google stopped showing FAQ rich results in May 2026. FAQPage is still valid schema.org markup, and keeping it causes no problems."
      }
    }
  ]
}
</script>

Where FAQ rich results stand in October 2026

Google has retired FAQ rich results. Since May 7, 2026, the expandable question rows no longer appear under results in Google Search, for any site. The notice on Google’s FAQPage documentation said the FAQ search appearance, the FAQ rich result report and FAQ support in the Rich Results Test would be dropped in June 2026, followed by Search Console API support in August 2026.

That ended a long wind-down. In August 2023 Google limited FAQ rich results to well-known, authoritative government and health websites, so most sites had already lost them. If your FAQ dropdowns vanished from your listings in 2023, that was the reason, and the 2026 change only finished the job.

The markup itself is not deprecated. FAQPage, Question and Answer are still valid schema.org types, and Google’s line on structured data it doesn’t use has been consistent: it causes no problems for Search, it just has no visible effect. Nothing on your site is penalized for carrying it, and you don’t need to rip it out.

DateWhat changedWhat it means for you
May 2019Google announced FAQ rich results.FAQPage markup could add expandable answers under a result.
August 2023Limited to well-known, authoritative government and health sites.Almost every other site stopped getting them.
May 7, 2026FAQ rich results stop appearing in Google Search.No site gets them, including government and health sites.
June 2026FAQ search appearance, rich result report and Rich Results Test support removed.Google’s own tools no longer check FAQ markup.
August 2026Google’s announced end of FAQ support in the Search Console API.Dashboards that pulled FAQ appearance data stop receiving it.

What this generator outputs

The generator turns each question-and-answer row into one Question inside a single FAQPage. The question goes in the Question’s name. The answer goes in acceptedAnswer, as an Answer with a text property. Rows keep the order you entered them in, and the whole block comes wrapped in its script tag, ready to paste.

It trims spaces from the start and end of every question and answer. A row with an empty question or an empty answer is left out of the output, so a half-finished row never produces a Question with no answer. If every row is empty, you get an FAQPage with an empty mainEntity list. That parses, but it describes nothing, so don’t paste it.

Text is passed through exactly as you type it. If you put HTML in an answer, such as a link, the output shows each less-than sign as \u003c. That is the escaped form of the same character. It stops your text from closing the script tag early, and every JSON parser reads it back as an ordinary tag, so leave it as it is.

It adds nothing else: no url or @id for the page, no inLanguage, no authors or dates. FAQPage never needed them, and Google’s FAQ guidelines never asked for them.

Generator output for one row (illustrative values)

{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "Do you ship to Canada?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. Orders to Canada ship in 3 to 5 business days."}}]}

The tool wraps this in a script tag. Each extra row adds another Question to the mainEntity list.

Should you still add FAQPage markup?

Be honest about the payoff. In Google Search, FAQPage markup now produces nothing you can see or measure. Other search engines and AI assistants can read schema.org markup, but none of them publishes FAQPage rules you can test against, so treat any benefit there as unproven. Google’s own guidance for AI Overviews says no special markup is needed to appear in them.

That leaves a short list of good reasons. Your SEO plugin or page builder adds the markup for free when you use its FAQ block, so it costs nothing. A template or a client expects it, and removing it would be more work than leaving it. Or you want a structured copy of the answers that stays tied to the visible text.

The FAQ content itself still earns its place, with or without markup. A visible section that answers the questions people actually search for gives the page more to rank for and gives visitors what they came for. Spend your time on the answers, not the JSON.

Keep, add or remove?

  • Keep existing FAQPage markup that matches the visible questions and answers. Removing it gains nothing.
  • Remove markup that describes questions no longer on the page, or never were. That is misleading markup, rich result or not.
  • Remove one of two FAQPage blocks when two plugins print one each.
  • Don’t add an FAQ section to a page only to carry markup. Add it where visitors really ask those questions.
  • Switch to QAPage when visitors post the answers, not your team.

Writing questions and answers worth marking up

The rules Google applied to FAQ rich results are still the right rules for the content. Each question and its full answer must be visible on the page, even if the answer sits in a collapsed accordion the visitor can open. The answer is written by the site, not submitted by users. It answers the question instead of advertising something. And an FAQ repeated across many pages is marked up once, on the page that owns it.

Copy the question exactly as it appears in the heading or accordion title, then paste the answer as one block. If the page shows a bulleted list inside an answer, you can keep it as plain sentences or as simple HTML; both are valid. What you must not do is give the markup a longer or more persuasive answer than the visitor sees.

Phrase questions the way a customer would type them. "Shipping" is a heading. "How long does shipping to Canada take?" is a question someone searches for, and it forces a specific answer.

A heading posing as a question

Before: Returns

After: Can I return a sale item?

The question tells the reader, and the markup, exactly what the answer covers.

An answer that sells instead of answering

Before: Our award-winning team offers the best support in the industry. Contact us today!

After: Yes. Email support@example.com and we reply within one business day, Monday to Friday.

Illustrative values. The rewritten answer states the fact the question asks for.

FAQPage, QAPage or no markup at all

The right type depends on who writes the answers and how many questions the page is about. Getting it wrong describes the page falsely, which is the one thing structured data must not do.

PageMarkupWhy
Service page with a short FAQ your team wroteFAQPageSeveral questions, one answer each, from the site.
Help center page listing 20 common questionsFAQPageSame pattern, longer. Mark up only the questions on that page.
Forum thread: one question, member repliesQAPageVisitors submit the answers, and there can be several.
Product page where shoppers ask and answer each otherNeitherMany questions, so not a QAPage. User answers, so not a site-written FAQ.
Blog post titled as a questionArticle or BlogPostingOne long answer is an article.

Adding FAQ markup in WordPress

First find out whether the page already has FAQ markup. Open the live page, view the source, and search for FAQPage. If it’s there, something on the site already prints it, and the generator’s block would be a second copy.

If you use the block editor with Yoast SEO, the Yoast FAQ block is the simplest route. You type each question and answer into the block, Yoast shows them on the page and adds them to the schema graph it already prints, marking the page as an FAQPage too. Rank Math’s equivalent is the FAQ by Rank Math block. SEOPress has an FAQ block in its free plugin. With any of these, the visible text and the markup come from the same field, so they can’t drift apart.

Use the generator when the FAQ is built some other way: a theme accordion, a page builder without a schema switch, or a page still in the classic editor. Paste the output into a Custom HTML block on the same page. WordPress only keeps script tags for users with the unfiltered_html capability: Administrators and Editors on a single site, and only Super Admins on multisite. If an Author pastes the block, WordPress strips the script tag when the post is saved, without a warning.

For pages you don’t edit in the block editor, a code snippets plugin that prints the block in the head of one specific page does the same job, and keeps the markup out of the content, where someone could delete it while editing the text.

  1. 1.View the source of the live page and search for FAQPage. Stop if it is already there.
  2. 2.Copy each visible question and answer into the generator, in page order.
  3. 3.Paste the output into a Custom HTML block, or a head snippet limited to that page.
  4. 4.Update the page, clear any page cache, and view the source again to confirm one FAQPage block.
  5. 5.Run the live URL through the Schema Markup Validator.

Two FAQ blocks on one page

Duplicate FAQ markup is the most common FAQ schema fault on WordPress sites, and it nearly always happens by accident. These are the usual combinations:

  • A Yoast FAQ or FAQ by Rank Math block, plus the generator’s block pasted underneath it.
  • A page-builder accordion with its own FAQ schema switch on. Elementor’s Accordion widget has one in its Content tab.
  • A theme or FAQ plugin that marks up every accordion, plus an SEO plugin block.
  • A synced pattern or reusable block carrying FAQ markup, placed on several pages.
  • Markup pasted into a footer or sidebar widget, so it prints on every page of the site.

Now that Google no longer reports on FAQ markup, nothing flags two FAQPage items on one page, which makes them easy to miss. The fix hasn’t changed: choose one source for the page, turn the others off, and merge any questions that only one of them had.

Keep the source tied to the visible text. If the FAQ is a Yoast or Rank Math block, keep that block’s markup and delete the pasted one. If the FAQ is an accordion with no markup of its own, keep the generator’s block, and update it every time someone edits the accordion.

Checking FAQ markup without Google’s report

Since June 2026 the Rich Results Test no longer reports FAQ items, and Search Console has no FAQ report or FAQ filter in the Performance report. Don’t read an empty result there as a sign your markup is broken. Google stopped looking.

Use the Schema Markup Validator at validator.schema.org instead. Give it the live URL rather than the code you pasted, so you test what WordPress actually serves after caching and plugins. It parses everything schema.org defines and shows each item as a tree. Expand FAQPage and check three things: the number of Question items equals the number of questions on the page, each Question has an acceptedAnswer with text, and FAQPage appears only once.

To confirm Googlebot receives the block, use URL Inspection in Search Console, run a live test and view the tested page’s HTML. If the FAQPage block is in that HTML, Google got it. If you tracked FAQ clicks with the old search appearance filter, that series has ended; compare clicks for the page itself instead.

Worked example: a pricing page FAQ

An illustrative case. A software company’s pricing page has six questions in an accordion built with the theme. Rank Math is installed, but the FAQ isn’t a Rank Math block, so Rank Math adds no FAQ markup. Two years ago someone pasted FAQ markup with eight questions into a footer widget, including two about a plan that has since been discontinued.

So the markup disagrees with the page on two questions, and because it lives in the footer, it prints on every page of the site, from the blog to the contact page. Both are real problems even with FAQ rich results gone, because the markup now describes content that isn’t there.

Where the markup lives

Before: One FAQPage block with eight questions in a footer widget, printed on every page

After: One FAQPage block with the six visible questions, in a Custom HTML block on the pricing page only

A question that left the page but stayed in the markup

Before: {"@type": "Question", "name": "Is the Starter plan free?", "acceptedAnswer": {"@type": "Answer", "text": "Yes, Starter is free forever."}}

After: {"@type": "Question", "name": "Can I change plans later?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. Upgrade or downgrade from your account page, and the change applies from your next invoice."}}

Illustrative values. The markup now lists only questions a visitor can read on that page.

After the fix, the Schema Markup Validator shows a single FAQPage with six Question items on the pricing page, and no FAQ markup on any other page of the site.

Troubleshooting FAQ markup by symptom

Match what you see to the likely cause before changing anything. Most FAQ markup faults come from where the block was pasted, not from what is inside it.

SymptomLikely causeFix
The Rich Results Test shows no FAQ itemsExpected since June 2026. Google removed FAQ support from the tool.Check the URL in the Schema Markup Validator instead.
The validator shows FAQPage twiceTwo sources print FAQ markup for the page.Keep one source and turn the other off.
The pasted block is missing from the live sourceIt was saved by a user without unfiltered_html, or a cache serves an old copy.Paste it as an Administrator or Editor, then clear the cache.
The validator reports a parse errorThe code passed through a word processor or visual editor that curled the quotes.Copy it straight from the generator into a Custom HTML block.
Answers contain \u003cThe generator escaped a less-than sign.Nothing. It is valid JSON.
FAQ dropdowns vanished from your listingsGoogle limited them in August 2023 and retired them on May 7, 2026.Nothing to fix on your site.

FAQ about the FAQ Schema

Does FAQ schema still show rich results in Google?

No. As of May 7, 2026, FAQ rich results no longer appear in Google Search for any site. Google had already limited them to well-known government and health sites in August 2023. The markup is still valid schema.org, so pages that carry it are not penalized.

Should I remove FAQ schema from my site?

Not if it matches the visible questions and answers. Google says structured data it doesn’t use causes no problems. Remove it where it describes questions that aren’t on the page, where two plugins print it twice, or where a footer or sidebar widget prints it on every page.

Why doesn’t the Rich Results Test show my FAQ anymore?

Google removed FAQ support from the Rich Results Test and dropped the Search Console FAQ report in June 2026. Use the Schema Markup Validator at validator.schema.org to check that your FAQPage markup parses.

Can I mark up FAQs that are hidden in an accordion?

Yes, if the visitor can open the accordion and read the answer. A collapsed answer is still on the page. What you can’t do is mark up questions and answers that are not on the page at all.

What is the difference between FAQPage and QAPage?

FAQPage is for questions your site answers, usually several on one page. QAPage is for a page built around one question where visitors post the answers, such as a forum thread. Using either on the other kind of page describes it wrongly.

Do I need this if I use the Yoast or Rank Math FAQ block?

No. The Yoast FAQ block and the FAQ by Rank Math block already print FAQ markup for the questions you type into them. Pasting this generator’s output on the same page adds a duplicate copy.

Can I put the same FAQ on many pages?

You can show it on many pages, but mark it up once, on the page that owns those questions. Google’s FAQ guidelines asked for exactly that, and it stops the markup from claiming every page is about the same questions.

Does FAQ markup help my pages appear in AI Overviews?

There’s no evidence it does. Google’s guidance for AI Overviews says no special markup is needed to appear in them, and other AI tools publish no FAQPage rules. A clear, visible answer on the page is what all of them can read.