SEO Analysis Checker.com

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.

Free · no email · no signup · results stream in ~10 seconds

Run a free check to confirm this is affecting your site

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. 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. 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. 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. 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. 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.

Free · no email · no signup · results stream in ~10 seconds

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.

Need a full audit?

This checker spots individual issues instantly. deepseoanalysis.com crawls your whole site and tracks changes weekly, from $24/mo.

Deep audit →

See all WordPress fix guides, or run a free check now.