Skip to main content

Shopify SEO: the complete guide (and the one bug that trips up everyone)

·4 mins

Shopify handles more of the SEO basics automatically than almost any other platform — clean code output, automatic sitemaps, fast hosting by default. That’s exactly why most Shopify SEO advice online is generic: “submit your sitemap,” “use alt text.” True, but not what’s actually costing Shopify stores rankings.

Here’s what actually matters, starting with the one that catches almost everyone.

The canonical URL bug almost every Shopify store has #

Shopify generates two working URLs for every single product: the canonical /products/product-name and a collection-aware version, /collections/collection-name/products/product-name. Both load the same page. Both are technically valid. Only one is meant to rank.

Shopify’s own canonical tag correctly points to /products/product-name — so far, so good. The problem is that Shopify’s theme templates still generate internal links using the /collections/.../products/... format by default, on collection pages, related-product blocks, and search results. Google crawls those internal links, sees a URL that contradicts the page’s own canonical tag, and in enough cases, it’s the collection-aware version that ends up indexed instead of the one you actually want ranking.

This is worth checking on your own store right now: open a collection page, hover over a product link, and look at the URL structure in the status bar. If it includes /collections/ before /products/, that’s the theme generating non-canonical internal links against your own canonical tags.

The fix: update the theme’s product-link templates (usually in snippets/product-card.liquid or similar, depending on the theme) to output the canonical /products/ path directly, and confirm your sitemap.xml only lists canonical URLs — Shopify does this correctly by default, so this is mainly a check, not a fix. Getting internal links and canonical tags pointing the same direction is a bigger win than most content changes you could make this month, because it resolves a duplicate-content signal Google has probably been quietly working around for years.

What Shopify already does for you #

Worth being clear about this, since a lot of “Shopify SEO checklists” bill basic platform features as if they were expert-level fixes:

Automatic XML sitemap
at /sitemap.xml, regenerated automatically as products change. Nothing to build or maintain.

Clean, fast hosting
on Shopify's own CDN, which covers most of the raw page-speed baseline competitors on self-hosted platforms have to fight for separately.

Correct canonical tags
on every page, by default — the bug above is about internal links contradicting them, not the canonical tags themselves being wrong.

None of that is a competitive advantage on its own — every Shopify store gets it for free, which means it’s table stakes, not a differentiator.

Where Shopify SEO actually gets won or lost #

URL structure. Shopify locks you into /products/, /collections/, and /pages/ as fixed prefixes — you can’t remove them. What you can control is everything after: /products/mens-waterproof-hiking-boots beats /products/product-847293. Set this once, at creation, since changing a URL after it’s indexed means a redirect either way.

Collection page content, covered in more depth in category page SEO — the same principles apply directly to Shopify collections, which is exactly the same page type under a different name.

App bloat. Every SEO, reviews, or upsell app adds its own JavaScript to every page load, and Shopify stores accumulate them fast. Speed is a ranking factor and a conversion factor at the same time — audit installed apps periodically and remove anything not actively earning its keep, not just at setup.

Migration SEO, if you moved to Shopify from another platform. This is the single riskiest moment in a Shopify store’s SEO history: every URL structure typically changes, and without a complete old-URL-to-new-URL 301 redirect map, years of accumulated rankings and backlinks vanish at once. If you’re mid-migration or already migrated without a redirect map, that’s worth fixing before anything else on this list — it’s usually the highest-stakes technical debt a Shopify store can be carrying.

Structured data on Shopify #

Most themes output basic Product schema automatically. Worth checking specifically: whether aggregateRating populates correctly if you’re using a reviews app (some don’t sync into the schema markup even though reviews display fine on the page), and whether offers.availability updates in real time as stock changes. See product page SEO for the full property-by-property checklist — it applies identically here.

International and multi-currency stores #

If you’re running Shopify Markets or a multi-domain setup, hreflang tags need to correctly map each regional version to the others. Get this wrong and Google can show UK shoppers a US-currency page, or worse, treat near-identical regional pages as duplicate content competing against each other instead of complementary versions serving different markets.


Most of what actually moves rankings on Shopify isn’t a plugin install — it’s fixing structural issues like the canonical mismatch above, which is exactly the kind of thing that shows up in a proper ecommerce SEO audit rather than a generic app-store checklist.

Related reading: WooCommerce SEO · Category page SEO · Ecommerce SEO services