// eCommerce
Shopify Duplicate Content: The /collections/ Problem and How to Fix It
Shopify creates duplicate product URLs under every collection. Why it happens, how canonical tags handle it, and what breaks the canonical solution — with fixes for each failure mode.
In this article
How Shopify creates duplicate product URLs
When a product appears in a collection, it gets two accessible URLs: /products/product-handle and /collections/collection-handle/products/product-handle. A product in three collections has four accessible URLs returning identical content.
Shopify's solution: canonicalize all collection-scoped product URLs back to the canonical product URL. Every /collections/X/products/Y URL includes a canonical tag pointing to /products/Y. In principle this works. In practice several common configurations break it.
Product variant duplicate content
Variants create a second duplicate content type. A product with 20 size/color combinations generates 20 variant URLs via parameters like ?variant=12345. Shopify canonicalizes these to the main product URL, but some apps or theme modifications create separate indexable pages per variant — a genuine duplicate content problem.
Check Google Search Console's URL Inspection tool on a few variant URLs. The 'Google-selected canonical' should match your intended canonical, not the variant URL itself.
Related reading:
How to audit for Shopify duplicate content
A crawl-based audit surfaces duplicate content systematically — finding all accessible URLs, identifying pages with identical content, and checking canonical implementation across your catalog. WebEnture's Shopify Store Audit Agent specifically checks the /collections/ duplicate URL pattern, variant URL canonicalization, and conflicting or missing canonical tags. It also identifies whether internal links point to canonical or non-canonical URLs — a subtle issue most SEO audits miss.