ServicesWorkInspirationBlogAbouthello@optimaflow.id
← All articles

Shopify SEO · 2026-05-15

How to Fix Duplicate Content on Shopify (Collections & Variants)

Fix Shopify duplicate content: canonical /products/ URLs, control collection filter pages, and keep variants on one product page.

How to Fix Duplicate Content on Shopify (Collections & Variants)

TL;DR

Shopify creates duplicate content mainly through three sources: collection-nested product URLs (/collections/x/products/y), filtered and tagged collection pages, and variant URLs. Fix it by relying on Shopify's default canonical tag that points every product to its clean /products/handle URL, adding noindex or canonicals to filtered collection pages, and keeping all variant content on a single product page. That tells Google which URL to rank.

The core problem is that Shopify serves the same product under multiple paths. A product in three collections generates four crawlable URLs for one page. Google sees near-identical content, splits ranking signals across the copies, and may index the wrong one. This dilutes authority and wastes crawl budget on stores with hundreds of SKUs.

Start with canonical tags. Shopify already outputs a self-referencing canonical in theme.liquid that points /collections/x/products/y to the clean /products/y URL, so most stores are covered by default. Verify it: open any collection-nested product URL, view source, and confirm the rel=canonical line points to the bare /products/ path. If a theme or app stripped it, re-add {{ canonical_url }} inside the head tag.

Filtered and sorted collection pages are the bigger risk. URLs like ?sort_by=price-ascending, ?filter.v.price, or /collections/all/tag create thin, near-duplicate variations of the same grid. These carry a self-referencing canonical by default, which means Google can index dozens of filter combinations. Block the noise: disallow parameter URLs in robots.txt.liquid or set those pages to noindex so only the clean collection URL competes.

Variants need a clear rule. If your variants are colors or sizes with essentially the same description, keep them on one product page and let ?variant= parameters share the product's canonical, which Shopify does automatically. Only split into separate products when a variant has genuinely unique search demand, its own images, and distinct copy, for example a materially different model buyers search for by name.

Watch for two subtler duplicates. First, /collections/all and your homepage or main catalog can overlap, so pick one primary listing and canonical or link the other to it. Second, apps that generate landing pages, currency subfolders, or A/B test URLs often clone product content without proper canonicals, which is a common cause of sudden duplicate spikes. Audit installed apps before blaming the theme.

Diagnose with real tools before editing. Crawl the store with Screaming Frog (free up to 500 URLs) and sort by title and word-count to surface duplicate pages fast. Cross-check Google Search Console's Pages report, where duplicates show as Alternate page with proper canonical tag (fine) or Duplicate without user-selected canonical (needs fixing). Ahrefs Site Audit flags the same issues if you already pay for it.

After changes, confirm the fix held. Use the URL Inspection tool in Search Console on a nested product URL and check that Google-selected canonical matches your clean /products/ URL. Re-crawl in Screaming Frog to confirm parameter pages now return noindex. Expect Google to consolidate signals over two to four weeks; don't judge results the same day you push the change.

Frequently asked

Does Shopify handle duplicate content automatically?

Partly. Shopify adds self-referencing canonical tags to collection-nested product URLs and variants by default, but it does not stop filter, sort, and tag pages from being indexed, so you still need to control those manually.

Should I noindex or canonical my collection filter pages?

Use noindex for filter and sort parameter pages you never want ranking, since they add self-referencing canonicals by default. Reserve canonicals for pages that genuinely represent the same content as a primary URL.

Will fixing duplicate content boost my rankings?

It rarely boosts rankings directly, but it consolidates link and relevance signals onto one URL and stops Google indexing the wrong page, which protects rankings you already have and improves crawl efficiency.

How long until Google reflects the changes?

Typically two to four weeks, depending on how often Google crawls your store. Speed it up by requesting indexing on key URLs in Search Console and ensuring internal links point to the clean canonical version.

Free, concrete, yours to keep

Want this done for you — properly?

Get a free audit of your rankings and AI-answer presence. Real findings within days, no sales deck.

Get a free audit