Clicks & Carts

Structured data on Shopify: what to add and how to check it

Rich results are a click-through advantage, not a ranking one. Most themes ship partial markup and nobody checks it.

7 min read · SEO ·

Structured data is machine-readable markup describing what a page contains. It doesn't directly improve rankings. It makes pages eligible for rich results — star ratings, price and availability in the search listing — which is a click-through advantage on a listing you already have.

Most Shopify themes ship some. Few ship it complete, and almost nobody checks.

The types that matter

Product — the important one. Name, image, description, brand, SKU, offers with price, currency and availability, and aggregate rating if you have reviews. This is what produces price and stock in a search result.

BreadcrumbList — the navigation path. Turns the ugly URL under your listing into a readable hierarchy. Cheap to add, and it needs breadcrumbs to actually exist.

Organization — your business: name, logo, URL, contact, social profiles. Usually once, on the homepage.

FAQPage — question and answer pairs. Can produce expandable questions in results. Only mark up FAQs genuinely visible on the page.

Article — for blog posts: headline, author, dates, image — blog SEO.

LocalBusiness — if you have a physical shop with an address and opening hours.

Format

JSON-LD in a <script type="application/ld+json"> block. It's what Google prefers, and it keeps the markup separate from your HTML rather than tangled through it as microdata.

In a theme, that means a snippet rendered per template, populated from the Liquid objects — product, collection, article. Nothing exotic.

The errors that recur

Run through these on any store you inherit:

  • Price and availability out of date, because the markup is hardcoded rather than pulled from the product object. The most damaging error: a listing promising a price you don't charge.
  • Missing availability. Rich results need it.
  • Currency missing or wrong in the offer.
  • Review markup for reviews that aren't on the page. A guidelines violation, not a shortcut.
  • Multiple conflicting Product blocks — one from the theme, one from an app, one from a second app. Common, and it makes the markup ambiguous.
  • Variants marked up as separate products without an offer range.
  • FAQ markup for content that isn't visible.

That third-from-last one is worth checking specifically: install two SEO apps and you'll frequently get two sets of markup fighting each other.

Validating it

Three tools, in order:

  1. Google's Rich Results Test — paste a URL, see what's detected and what's eligible.
  2. The Schema Markup Validator — stricter, catches structural errors Google tolerates.
  3. Search Console's Enhancements reports — the only one showing errors across your whole site at scale, on the pages Google actually crawled.

Check a product, a collection, an article and the homepage. Four URLs covers almost everything.

What not to do

  • Marking up things that aren't on the page. Ratings you don't have, FAQs nobody sees. It's a violation and it gets manual action.
  • Marking up every page as Organization. Once is enough.
  • Treating it as a ranking lever. It isn't. It's a presentation lever, and a good one.
  • Adding an SEO app purely for this if your theme already does it. Two sources of markup is worse than one.

Where it lives in a build

Structured data belongs in the theme, rendered from real data, in a snippet per type. That way it stays accurate automatically as products change, and there's one place to fix it.

An app injecting markup on top of a theme that already emits it is the setup that produces conflicts — worth checking during a technical SEO audit.

Structured data is a twenty-minute check that most stores have never done, and the most common finding is a price in the markup that hasn't been true for a year.

Is this the problem you’re looking at?

Send me the link to your store and a line about what is going wrong. You get a straight answer within one business day — no pitch, no obligation.

mario@clicksandcarts.co

Or see what I do around Shopify: services, work beyond the theme, selected work.

Keep reading

← All articles