How to add JSON-LD structured data for an FAQ in a blog post (Shopify guide)

How to add JSON-LD structured data for an FAQ in a blog post (Shopify guide)

How to add JSON-LD structured data for an FAQ in a blog post (Shopify guide)

Learn how to generate an FAQ section inside a Shopify blog post with no code to qualify for rich results in search engines.

Learn how to generate an FAQ section inside a Shopify blog post with no code to qualify for rich results in search engines.

by Narmina Balabeyli

Updated:

5 min

Contents

TL:DR

  • FAQPage markup describes the question–answer pairs in your post so machines can parse them explicitly.

  • Honest part first: since August 2023, Google shows FAQ rich results almost exclusively for well-known, authoritative government and health sites. For a typical store, don't expect the dropdown snippets in Google.

  • It's still worth adding when it's free to generate: the markup helps search engines and AI systems understand your Q&A content, works beyond Google, and keeps you eligible if policies shift. Just never let it become the reason you write FAQs — the answers themselves are the value.

TL:DR

  • FAQPage markup describes the question–answer pairs in your post so machines can parse them explicitly.

  • Honest part first: since August 2023, Google shows FAQ rich results almost exclusively for well-known, authoritative government and health sites. For a typical store, don't expect the dropdown snippets in Google.

  • It's still worth adding when it's free to generate: the markup helps search engines and AI systems understand your Q&A content, works beyond Google, and keeps you eligible if policies shift. Just never let it become the reason you write FAQs — the answers themselves are the value.

You add an FAQ section to a post, someone tells you to "add the schema," and somewhere in your memory there's a picture of those expandable Q&A dropdowns under a search result.

Let's do this properly — including the part most tutorials skip.

What is FAQPage structured data?

The FAQPage structured data is a JSON-LD that marks a page (or a section of it) as containing a list of questions with their accepted answers. Each pair becomes a Question with an acceptedAnswer, nested under one FAQPage item. Google's FAQPage documentation defines the format and the content rules.

What Google says about the FAQ rich results

In August 2023, Google changed how FAQ rich results appear: they're now shown mainly for well-known, authoritative government and health websites. For everyone else, the classic FAQ dropdowns in Google results effectively went away. (The same update deprecated HowTo rich results.)

So if a guide promises your store FAQ snippets in Google — that's outdated advice. We're allergic to that kind of hype here (see our take on llms.txt), so let's be precise about what FAQ markup still does:

  • It makes your Q&A machine-readable. Explicitly labeled question–answer pairs are the easiest possible format for search engines and AI systems to parse and reuse — and clear, directly answered questions are exactly what tends to get cited in AI answers.

  • Google isn't the only reader. Other search engines and assistants consume schema.org markup with their own display rules.

  • Eligibility costs nothing to keep. Policies changed once; they can change again. If the markup is auto-generated, staying eligible is free.

What FAQ markup is not: a reason to bolt a fake FAQ onto every post. The real SEO value of an FAQ section was never the schema — it's that you're directly answering the questions people actually search, in a scannable format. The markup is a label on top of that value, not a substitute for it.

Example FAQPage structured data

Here's the script:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does shipping take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Orders ship within 24 hours and arrive in 3–5 business days for domestic addresses. International delivery takes 7–14 days."
      }
    },
    {
      "@type": "Question",
      "name": "Can I return a used item?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes — we accept returns within 30 days, even if the item has been opened, as long as it's in resellable condition."
      }
    }
  ]
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does shipping take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Orders ship within 24 hours and arrive in 3–5 business days for domestic addresses. International delivery takes 7–14 days."
      }
    },
    {
      "@type": "Question",
      "name": "Can I return a used item?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes — we accept returns within 30 days, even if the item has been opened, as long as it's in resellable condition."
      }
    }
  ]
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does shipping take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Orders ship within 24 hours and arrive in 3–5 business days for domestic addresses. International delivery takes 7–14 days."
      }
    },
    {
      "@type": "Question",
      "name": "Can I return a used item?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes — we accept returns within 30 days, even if the item has been opened, as long as it's in resellable condition."
      }
    }
  ]
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does shipping take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Orders ship within 24 hours and arrive in 3–5 business days for domestic addresses. International delivery takes 7–14 days."
      }
    },
    {
      "@type": "Question",
      "name": "Can I return a used item?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes — we accept returns within 30 days, even if the item has been opened, as long as it's in resellable condition."
      }
    }
  ]
}
</script>

Google's content rules, condensed:

  • Every marked-up question and answer must be visible on the page.

  • The answer must be your full answer — not a teaser, not "click to find out."

  • No advertising inside answers, and no using FAQ markup on pages where users submit the answers (that's QAPage).

  • One FAQPage per page.

How to add FAQPage structured data to a Shopify blog post?

Manually adding FAQPage structured data to a blog post

Paste the script into the post's HTML via the editor's <> view, or have a developer wire up an FAQ section with metafields on the article template. Both work; both mean maintaining raw JSON per post and updating it by hand every time an answer changes — which, realistically, stops happening after the second edit.

The no-code way to add the FAQPage structured data to a blog post

In vevy.ai's Blog Builder, the FAQ accordion block does the whole job. You drag it into the post, add each question and answer (readers get a clean expandable accordion — good UX independent of any schema), then click Generate structured data. On publish, vevy.ai injects the FAQPage JSON-LD into the page's <head> automatically — generated from the visible block, so markup and content can't drift apart.

And you don't have to guess which questions to answer: when vevy.ai builds a content brief for a post, it includes the FAQ and People Also Ask questions pulled from the SERP for that exact topic. Lift them straight into the block — you're answering documented demand, not hypothetical questions.

<!-- CTA block -->

How to validate the FAQPage structured data

Run the post through the Rich Results Test to confirm the FAQPage item parses cleanly, and keep an eye on Search Console → Enhancements for errors across posts.

The honest summary about the FAQPage structured data for blog posts

Write FAQ sections because they answer real questions in the format both humans and machines love. Add the markup because it's accurate labeling and it's one click. Expect Google dropdowns only if you're a government health portal — and treat everything else the markup brings as the quiet, compounding kind of benefit. That's the true state of FAQ schema in 2026, hype removed.

Share this article
Contents

Article by

Narmina

Narmina is one of the founders at vevy.ai. She has over 8 years of experience in SEO and content marketing in eCommerce and SaaS businesses. She loves optimizing content more than posing for photos, so there’s no professional shoot yet. Excuse her.

Article by

Narmina

Narmina is one of the founders at vevy.ai. She has over 8 years of experience in SEO and content marketing in eCommerce and SaaS businesses. She loves optimizing content more than posing for photos, so there’s no professional shoot yet. Excuse her.

Article by

Narmina

Narmina is one of the founders at vevy.ai. She has over 8 years of experience in SEO and content marketing in eCommerce and SaaS businesses. She loves optimizing content more than posing for photos, so there’s no professional shoot yet. Excuse her.

Create stunning, SEO-first blog posts for your Shopify store

Everything, step-by-step to rank higher on search engine results page and sell products with conversion SEO

Create stunning, SEO-first blog posts for your Shopify store

Everything, step-by-step to rank higher on search engine results page and sell products with conversion SEO

Create stunning, SEO-first blog posts for your Shopify store

Everything, step-by-step to rank higher on search engine results page and sell products with conversion SEO

Ultimate SEO Guide for Shopify Brands

Everything, step-by-step to rank higher on search engine results page and sell products with conversion SEO

Share this article

Blogs

Our Related Blogs

Our Related Blogs

Blogs

Our Related Blogs

Our Related Blogs

Blogs

Our Related Blogs

Our Related Blogs

Built for shopify stores

Create beautiful blog pages and human-first blog posts

vevy.ai automates keyword research, topic clustering, and blog post generation

Built for shopify stores

Create beautiful blog pages and human-first blog posts

vevy.ai automates keyword research, topic clustering, and blog post generation

Built for shopify stores

Create beautiful blog pages and human-first blog posts

vevy.ai automates keyword research, topic clustering, and blog post generation

Increase traffic, engage, and convert

Copyright © 2026 vevy.ai. All Rights Reserved.

Copyright © 2026 vevy.ai. All Rights Reserved.

Increase traffic, engage, and convert

Copyright © 2026 vevy.ai. All Rights Reserved.