Schema Markup Generator

Free tool · No signup

FAQ Schema Generator

FAQPage markup lists the questions and answers on a page that you wrote yourself, such as a support page or the FAQ at the end of a service page.

Required by Google

Questions
  1. question 1

    The full answer as shown on the page. Simple HTML links, lists and bold text are allowed.

  2. question 2

    The full answer as shown on the page. Simple HTML links, lists and bold text are allowed.

  3. question 3

    The full answer as shown on the page. Simple HTML links, lists and bold text are allowed.

JSON-LD

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does delivery take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Orders ship within two working days, and most arrive three to five days after that."
      }
    },
    {
      "@type": "Question",
      "name": "Can I return an item?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. You can return unused items within 30 days for a full refund."
      }
    },
    {
      "@type": "Question",
      "name": "Do you ship internationally?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "We ship to the US, Canada and most of Europe. Shipping costs are shown at checkout."
      }
    }
  ]
}
</script>

Valid FAQPage markup

In the Rich Results Test, choose Code and paste. Your data stays in this browser: nothing is sent to a server.

Search preview · approximate

example.com

Frequently asked questions

  • How long does delivery take?
  • Can I return an item?
  • Do you ship internationally?

Since 2023 Google only shows FAQ rich results for well-known government and health sites. The markup is still valid, and other search engines and tools can read it. Google's gallery

What Google can show

Since 2023 Google only shows FAQ rich results for well-known government and health sites. The markup is still valid, and other search engines and tools can read it.

Required and recommended properties

Google needs these for FAQ markup to be valid:

RequiredNotes
QuestionsQuestion, Answer

A complete example

The example values in the generator above produce this:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does delivery take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Orders ship within two working days, and most arrive three to five days after that."
      }
    },
    {
      "@type": "Question",
      "name": "Can I return an item?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. You can return unused items within 30 days for a full refund."
      }
    },
    {
      "@type": "Question",
      "name": "Do you ship internationally?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "We ship to the US, Canada and most of Europe. Shipping costs are shown at checkout."
      }
    }
  ]
}
</script>

Where to paste the code

  • WordPress: check what your SEO plugin (Yoast, Rank Math) already outputs, then add the block with a header-code plugin such as WPCode, or in your child theme's header.php before </head>. For one page only, use a Custom HTML block in that page.
  • Shopify: for site-wide markup such as Organization, go to Online Store › Themes › Edit code and paste it in theme.liquid before </head>. For products, edit the product section (often main-product.liquid) and use Liquid variables such as {{ product.title | json }} so every product gets its own values. Most themes already output basic Product markup.
  • Next.js: render it in the page component as <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(data).replace(/</g, "\\u003c") }} />. Escaping < stops a value from closing the script tag early; this site does the same.
  • Webflow: Page settings › Custom code › Inside <head> tag. For CMS collection pages, add it to the template's page settings and insert fields from the collection.

Test before you publish

Paste the code into Google's Rich Results Test, then test the live page once it's published. Make sure every value matches what people see on the page.

By Muhammad Saif · Updated

Questions

Will FAQ schema give me FAQ dropdowns in Google?

Probably not. Since August 2023 Google limits FAQ rich results to well-known, authoritative government and health websites. For other sites the markup is valid but won't create dropdowns.

Is FAQ schema still worth adding?

It's cheap and harmless when the questions are really on the page, and it describes the content clearly for other search engines and tools. Don't expect a ranking or click boost from it.

Can I use FAQPage for user-submitted questions?

No. Pages where users ask and answer questions, like forums, should use QAPage markup instead. FAQPage is for questions and answers written by the site owner.

Does schema markup improve rankings?

Not directly. Google has said structured data isn't a general ranking factor. It makes pages eligible for rich results, such as review stars, prices and breadcrumbs, which can make a result stand out and earn more clicks.

JSON-LD or Microdata?

JSON-LD. Google recommends it because it sits in one script block, separate from your HTML, so it's easier to add and maintain. Microdata and RDFa still work but are woven into the markup.