How to Add Structured Data in Shopify (2026)

Last updated
•
Expert reviewed
•
5 min read
Jacques Blom
Jacques Blom
CTO at Fudge.

Key takeaways

  • Shopify automatically adds Product, Organization, and BreadcrumbList schema to standard pages.
  • Google stopped showing FAQ rich results in May 2026. FAQPage schema still labels your questions and answers for machines, but it no longer changes your search listing.
  • Additional schema types (HowTo, Article, Event) require editing theme.liquid or using Fudge.
  • Test all structured data with Google’s Rich Results Test before considering the job done.

Shopify structured data is the JSON-LD code in your store’s HTML that tells Google exactly what’s on each page - your products, prices, FAQs, and brand details. This code follows the schema.org vocabulary, which is why it’s also called schema markup. When Google can read your content as structured data, it can display rich results: star ratings, prices, availability, and other enhanced listings that take up more space and attract more clicks.

How do I add structured data to Shopify?

Three steps:

  1. Check what your theme already outputs. Shopify themes add Product, Organization, and BreadcrumbList schema automatically - don’t duplicate them.
  2. Add what’s missing for your pages: FAQPage, Article, VideoObject, or a fuller Product schema. Use an app, edit the theme code, or describe what you need to Fudge.
  3. Validate with Google’s Rich Results Test so errors don’t silently block your rich results.

The rest of this guide walks through each step.


What Shopify adds automatically

Shopify’s built-in themes (Dawn and others) include several schema types out of the box:

Product schema — on every product page. Includes name, description, image, price, currency, and availability. This is what enables the star ratings and price ranges you see in Google search results for products.

Organization schema — usually in the footer or theme.liquid. Includes your store name, URL, and logo.

BreadcrumbList schema — on collection and product pages. Helps Google display the breadcrumb path (Home > Collection > Product) in search results.

To verify what’s already on your pages, visit a product page, right-click → View Page Source, and search for application/ld+json. You’ll see the JSON-LD schema blocks Shopify has already added.

You can also paste your URL into Google’s Rich Results Test to see all detected schema.

Related: Add Review Widgets in Shopify.


How to add Product schema in Shopify

Shopify adds basic Product schema to product pages automatically. The real question is whether yours is complete - an incomplete Product schema still validates, but Google shows richer listings for pages that fill in more fields.

What Shopify’s default Product schema includes: product name, description, image, price, currency, availability, and SKU.

What’s usually missing:

Check what your product pages output

Paste a product URL into Google’s Rich Results Test. Under “Merchant listings” and “Product snippets” you’ll see every field Google detected, plus warnings for the fields it wanted but didn’t find. Warnings don’t block rich results, but each one is a field competitors may be filling in.

Add the missing fields in your theme

Your theme renders Product schema from a Liquid file - search the theme code (Online Store → Themes → Edit code) for application/ld+json to find it. Extend it with the missing fields rather than adding a second Product block:

"brand": {
    "@type": "Brand",
    "name": {{ product.vendor | json }}
},
{%- if product.selected_or_first_available_variant.barcode != blank -%}
"gtin": {{ product.selected_or_first_available_variant.barcode | json }},
{%- endif -%}

If your theme has no Product schema at all (some older or heavily customised themes strip it), add a complete block to the product template:

<script type="application/ld+json">
{
    "@context": "https://schema.org/",
    "@type": "Product",
    "name": {{ product.title | json }},
    "description": {{ product.description | strip_html | json }},
    "image": {{ product.featured_image | image_url: width: 1200 | prepend: "https:" | json }},
    "brand": { "@type": "Brand", "name": {{ product.vendor | json }} },
    "offers": {
        "@type": "Offer",
        "url": {{ request.origin | append: product.url | json }},
        "price": {{ product.selected_or_first_available_variant.price | divided_by: 100.0 | json }},
        "priceCurrency": {{ cart.currency.iso_code | json }},
        "availability": "https://schema.org/{% if product.available %}InStock{% else %}OutOfStock{% endif %}"
    }
}
</script>

One rule: never hardcode prices, ratings, or availability as literal values. Pull them from Liquid objects as above so the schema stays true as your catalogue changes.

If you’d rather not edit Liquid, describe the change to Fudge: “extend my product schema with brand and barcode fields” - it locates the theme’s existing schema and edits it in place.


Shopify schema markup types: what to use where

Product schema is the start, not the whole job. Here’s the full set of schema markup types that matter for a Shopify store:

Schema typeWhat it enablesWhere it belongsShopify adds it?
ProductPrice, availability, and star-rating rich resultsProduct pagesYes (most themes)
OrganizationBrand name, logo, and profile links in GoogleSite-wide (head/footer)Yes (most themes)
BreadcrumbListThe Home > Collection > Product path in resultsCollection and product pagesYes (most themes)
WebSiteSitelinks search box eligibilityHomepageSome themes
FAQPageNo rich result since May 2026; labels Q&A for machinesAny page with visible FAQsNo
Article / BlogPostingArticle treatment for blog posts, AI-search citationsBlog postsSome themes
VideoObjectVideo thumbnails in searchPages with embedded videoNo
ItemListList/carousel eligibility for ranked or curated listsCollection and listicle pagesNo
HowToMachine-readable step structureTutorial contentNo
LocalBusinessLocal panel with hours and locationStores with a physical shopNo

Two honest caveats: Google retired the visible HowTo rich result in 2023 and the FAQ rich result in May 2026, so HowTo and FAQPage markup now mainly help machine readers rather than earning a special search appearance. And adding a type from this table makes you eligible for its rich result - Google still decides per-query whether to show it.

Schema markup is also one of the strongest signals for AI search engines deciding what to cite. If that’s part of your goal, see our guide to answer engine optimization for Shopify.


Adding FAQPage schema

FAQPage schema no longer earns a rich result. Google limited FAQ dropdowns to government and health sites in 2023, then stopped showing them for every site from May 7, 2026, according to its documentation updates. The markup is still valid and does no harm: it labels the questions and answers that are visible on your page for any machine reading it.

If the goal is answering AI shopping agents, the answers that count go in the Shopify Knowledge Base, a free Shopify app that agents query directly. Our Shopify Knowledge Base guide covers how to fill it.

If you still want FAQPage markup alongside a visible FAQ, these are the options.

Method 1 — Use an app

Apps like FAQs by Relishify or HelpCenter generate proper FAQPage schema automatically when you create FAQs through their interface. This is the easiest approach.

Method 2 — Add an FAQ section with schema

If you want to add FAQs natively without an app, you’ll need to:

  1. Create or edit a section in your theme (Online Store → Themes → Edit code → sections/)
  2. Add the HTML for FAQ questions and answers
  3. Include FAQPage JSON-LD schema that references those questions

The JSON-LD looks like:

{
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
        {
            "@type": "Question",
            "name": "How long does shipping take?",
            "acceptedAnswer": {
                "@type": "Answer",
                "text": "Standard shipping takes 3-5 business days."
            }
        }
    ]
}

This JSON goes in a <script type="application/ld+json"> tag. Fudge can build this for you — describe the FAQ section you want and it generates both the visible content and the schema markup.

Method 3 — Fudge

Describe what you need: “Add a FAQ section to my product pages with FAQPage structured data that matches the visible questions.” Fudge generates the section with proper JSON-LD schema built in.

Add structured data to your Shopify store by describing it.
Try Fudge for Free

Related: Add Custom JavaScript in Shopify.

Related: Create a FAQ Page in Shopify.


Adding custom schema types

For schema types beyond Product and FAQ — such as HowTo, Article, or VideoObject — you’ll need to add JSON-LD directly to your theme.

For site-wide schema (Organization, WebSite): edit theme.liquid in the <head> section.

For template-specific schema (Article on blog posts, HowTo on guide pages): add the JSON-LD to the relevant template file in the templates/ folder.

Always work on a duplicate theme. Online Store → Themes → three-dot menu → Duplicate before editing any code.


How to test structured data in Shopify: validator walkthrough

Errors in your structured data can prevent rich results from showing even if the schema is present. Here’s the testing routine we use after every schema change:

Step 1 - Run the Rich Results Test. Paste your page URL into Google’s Rich Results Test. It fetches the page the way Googlebot does, so it catches problems a source-code read misses (like schema an app injects with JavaScript).

Step 2 - Read the three result levels correctly. The test groups findings per schema type:

Step 3 - Fix errors in the source that produced them. Theme-rendered schema gets fixed in the Liquid file; app-injected schema gets fixed in the app’s settings (or by removing a duplicate app). Then re-run the test.

Step 4 - Check non-Google types with the Schema Markup Validator. Google’s tool only reports types it shows rich results for. validator.schema.org validates everything else against the schema.org vocabulary.

Step 5 - Monitor in Google Search Console. Under Enhancements, Search Console shows which rich result types Google detected across your whole site and flags pages with errors - your early-warning system when a theme update breaks schema. After a fix, use URL Inspection → Request Indexing to speed up the recrawl.

Two of our free tools cover the store-wide view:


Free tool
See which products are missing schema
The free Catalog Data Audit reports schema coverage across your catalog, plus identifiers and categories.
Audit your catalog

Common structured data mistakes on Shopify

Adding schema for content that isn’t on the page. If your FAQ schema references questions that don’t appear as visible text on the page, Google may ignore it or penalize it as misleading.

Duplicate schema. If you install an SEO app that adds schema on top of Shopify’s built-in schema, you may have duplicate Product schemas. Check the Rich Results Test for warnings about this.

Out-of-date prices in Product schema. Shopify’s built-in Product schema updates dynamically with your product prices, but custom-added schema may hardcode values that go stale.


FAQ

How do I add product schema in Shopify?

Usually you don't need to add it - Shopify themes output Product schema on every product page. What you add is the missing fields: extend the theme's existing JSON-LD with brand and gtin, and let your review app supply aggregateRating. Only add a complete Product block yourself if your theme has none.

What is the difference between structured data and schema markup?

In practice they mean the same thing. Structured data is the general concept of machine-readable page data; schema markup refers to writing it with the schema.org vocabulary, which is the one Google reads. On Shopify both describe the same application/ld+json blocks in your theme.

Does Shopify add Product schema automatically?

Yes - Dawn and most modern Shopify themes include Product, Organization, and BreadcrumbList schema by default. View any product page's source and search for application/ld+json to confirm. Older or heavily customised themes may have stripped it; in that case you'd need to add it back manually.

How long after adding schema do I see rich results in Google?

Typically 2-8 weeks for types that still have a rich result, such as Product. Google needs to recrawl the page, validate the schema, and decide whether the page warrants the rich result. Submitting the URL via Google Search Console's URL Inspection tool can speed up the recrawl. Even with valid schema, Google chooses when to display rich results - it isn't guaranteed.

Can I add multiple schema types to the same page?

Yes. A product page can include Product, BreadcrumbList, Organization, and Review schema simultaneously. Each goes in its own <script type="application/ld+json"> block. Just don't duplicate the same type twice (e.g., two Product schemas for the same product) - that confuses Google.

Why isn't my FAQPage schema showing rich results?

Because Google no longer shows FAQ rich results for any site. It limited them to government and health sites in 2023 and stopped showing them entirely from May 7, 2026. The markup is still valid and does no harm, but it will not change your listing. Put the effort into visible answers on the page and, for AI shopping agents, into the Shopify Knowledge Base.

Should I remove the structured data app if my theme already includes Product schema?

Yes - duplicate Product schema for the same product confuses Google and can suppress rich results entirely. Pick one source. If your theme's built-in schema is solid, uninstall the SEO app's schema feature. If the app's schema is richer (e.g., includes review aggregations the theme doesn't), keep the app and override the theme's schema.

Jacques's signature
Add structured data to Shopify by describing what you need.

Related: Edit Meta Descriptions in Shopify.

You might also be interested in

How to Edit Meta Titles in Shopify (2026)
How to change meta titles in Shopify for products, collections, pages, and your homepage. Includes character limits and bulk editing methods.
How to Add Canonical Tags in Shopify (2026)
Learn how Shopify handles canonical tags automatically, when to override them, and how to fix common canonical issues with collection pagination and duplicate URLs.
How to Edit Meta Descriptions in Shopify (2026)
How to edit meta descriptions in Shopify for products, collections, pages, and your homepage — plus bulk editing with Matrixify or CSV.