Fix guide · Shopify
How to Add JSON-LD Schema in Shopify (2026)
Most Shopify themes ship with basic Product schema, but it commonly leaves out fields like reviews, availability, and brand — which limits eligibility for rich results like star ratings and price snippets. This guide shows you how to check what schema your theme already outputs, then extend it with a complete, copy-paste JSON-LD block built from Shopify Liquid variables.
Why it matters
What this issue costs you
Complete Product schema (price, availability, reviews, brand) makes a listing eligible for rich results — star ratings, price, and stock status shown directly in Google search results — which measurably increases click-through rate on product pages. Organization schema on the homepage also helps AI answer engines and Google correctly identify your brand.
Step-by-step
How to fix: Missing or incomplete JSON-LD schema
Shopify
- 1
Check what schema already exists
Run a live product URL through Google's Rich Results Test (search.google.com/test/rich-results). It will list every schema type detected and flag missing or invalid fields. Most default Shopify themes output basic Product schema here — the goal is to see what's missing.
- 2
Edit the product template
Go to Online Store → Themes → Actions → Edit code. Open sections/main-product.liquid (or templates/product.liquid on older themes). Add or extend the JSON-LD script block with the fields your theme is missing.
sections/main-product.liquid<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 }}", "brand": { "@type": "Brand", "name": {{ product.vendor | json }} }, "offers": { "@type": "Offer", "url": "{{ shop.url }}{{ product.url }}", "priceCurrency": "{{ cart.currency.iso_code }}", "price": "{{ product.price | money_without_currency }}", "availability": "https://schema.org/{% if product.variants.first.available %}InStock{% else %}OutOfStock{% endif %}" } } </script> - 3
Add Organization schema to the homepage
Open layout/theme.liquid and add this near the closing </head> tag so it renders site-wide (or wrap it in an {% if template == "index" %} check to limit it to the homepage):
layout/theme.liquid<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Organization", "name": {{ shop.name | json }}, "url": "{{ shop.url }}", "logo": "{{ settings.logo | image_url }}" } </script> - 4
App alternative (no code)
If you'd rather not edit theme code, apps like "JSON-LD for SEO" (by Ilana Davis) or "Schema Plus for SEO" inject and manage Product, Organization, Breadcrumb and Review schema automatically, and update when Shopify changes its theme architecture.
- 5
Validate before publishing
After editing, preview the theme (don't publish yet) and re-run the page through the Rich Results Test. Fix any reported errors, then publish the theme.
Verify the fix
Run the checker to confirm the issue is resolved
After applying the steps above, paste your URL below. Our checker will re-run every applicable check and show whether missing or incomplete json-ld schema still shows as a failing check.
FAQ
Common questions about missing or incomplete json-ld schema
Does my Shopify theme already include JSON-LD schema?
Most Shopify themes (including Dawn and other free themes) include baseline Product and BreadcrumbList schema. But it's frequently incomplete — missing brand, review, or accurate availability data — which is what our checker is flagging.
Should I use an app or edit theme code myself?
Editing theme code gives you exact control and no ongoing app fee, but requires re-checking after theme updates or theme switches. Apps handle updates automatically and are lower-maintenance, at the cost of a monthly fee and less granular control.
Does adding JSON-LD schema directly improve my rankings?
Not directly — schema doesn't change ranking position. Its value is in making your listing eligible for rich results (star ratings, price, stock), which increases click-through rate on the same ranking.
Can I add Review schema without a review app?
Not accurately — Review schema requires real aggregate rating data (review count, average rating). If you don't already collect reviews via an app like Judge.me or Loox, don't hardcode fake review numbers into schema — Google can manually penalize sites for fabricated review markup.
While you're here
Related fix guides for Shopify
Need a full audit?
This checker spots individual issues instantly. deepseoanalysis.com crawls your whole site and tracks changes weekly, from $24/mo.
See all WordPress fix guides, or run a free check now.