In e-commerce, duplicate content is structural: a product page accessible from /products/trail-shoes and from /collections/women/products/trail-shoes creates two URLs for a single piece of content. Without a canonical tag, Google must choose which one to index — and it often gets it wrong.
Canonical tag syntax
<link rel="canonical" href="https://example.com/products/trail-shoes" />
This tag is placed in the <head> of the page. It tells Google that regardless of which URL the user accesses this page through, the "official" URL to index is the one specified in href.
E-commerce use cases
Product variants
Catalog filters
?color=red&size=40) create thousands of variations. Canonical to the category URL without parameters.Shopify dual path
/products/slug and via /collections/x/products/slug. Shopify automatically sets a canonical to /products/slug — verify your theme does not override it.| Situation | Recommended solution | Why |
|---|---|---|
| Variants with distinct URLs | Canonical to main product | Concentrates PageRank on 1 URL |
| Filters (?color=red) | Canonical to URL without params | Avoids crawl budget on useless URLs |
| Shopify dual path | Auto canonical (check theme) | Shopify handles it natively |
| Copied page (manufacturer) | Canonical to original source | Avoids duplicate penalty |
| Old URL after migration | 301 redirect (not canonical) | The old page should not exist anymore |
Audit your canonical tags
30 min call · report included
