SEO Analysis Checker.com

Fix guide · Shopify

How to Fix a Missing Canonical Tag in Shopify (2026)

Shopify automatically outputs a canonical tag on every page using the built-in canonical_url Liquid variable, so a missing canonical almost always means the tag was removed or broken in a customized theme.liquid. This guide shows you how to verify and restore it, and explains the collection/product URL pattern Shopify handles correctly by default.

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

Shopify products are commonly reachable through multiple URLs — directly at /products/handle and also nested under every collection that contains them, like /collections/summer/products/handle. Without a working canonical tag, search engines can index the wrong (collection-nested) URL variant or split ranking signals across duplicates instead of consolidating them on one preferred URL.

Step-by-step

How to fix: Missing or incorrect canonical tag

Shopify

  1. 1

    Check the current canonical tag

    View the page source (right-click → View Page Source) on the affected product, collection, or page and search for "canonical". You should find a single tag inside <head>: <link rel="canonical" href="…">. If it's missing entirely, or points to the wrong URL, the theme has been customized incorrectly.

  2. 2

    Restore the tag in theme.liquid

    Go to Online Store → Themes → Actions → Edit code → find layout/theme.liquid. Confirm this line is present inside the <head> section, near the top, and hasn't been commented out or deleted:

    layout/theme.liquid
    <link rel="canonical" href="{{ canonical_url }}">
  3. 3

    Understand how Shopify handles collection-nested product URLs

    When a product is viewed at /collections/summer/products/handle, Shopify's canonical_url variable still correctly resolves to the clean /products/handle URL. You don't need to write custom logic for this — it's handled automatically as long as the canonical tag itself is intact and unmodified.

  4. 4

    Paginated collections

    For collection pages split across ?page=2, ?page=3 etc., Shopify's canonical_url resolves to each page's own URL (self-referencing), not back to page 1. This is the correct behavior — don't override it to force every paginated page to canonicalize to page 1, or you risk deindexing products that only appear on later pages.

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 incorrect canonical tag still shows as a failing check.

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

FAQ

Common questions about missing or incorrect canonical tag

Why does a product show a /collections/x/products/y URL if it canonicalizes to /products/y?

Shopify keeps the collection in the URL for user navigation context (breadcrumbs, "back to collection" behavior) and analytics attribution, but tells search engines via the canonical tag that /products/y is the single URL to index. Both URLs work for users; only one gets indexed.

Can I manually set a custom canonical URL for a specific product?

Not through the standard admin UI — Shopify's canonical_url is generated automatically per page type. If you need custom canonical logic (e.g. cross-domain canonicalization), you'll need to edit theme.liquid directly to override the tag for specific templates.

Our checker flagged a canonical mismatch, not a missing tag — what does that mean?

A mismatch means a canonical tag exists but points to a different URL than the page being crawled (for example, pointing to an old domain, a staging URL, or the wrong product handle). Check theme.liquid for hardcoded URLs or leftover customizations from a theme migration.

Does switching Shopify themes affect canonical tags?

Yes — if you switch themes or restore an older theme version, always re-check that layout/theme.liquid still contains the canonical_url tag, since custom or older themes sometimes omit it.

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.

Deep audit →

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