Fix Shopify Duplicate Content Issues
Shopify generates duplicate URLs for every product through collections, tags and search. Here is which ones Shopify already fixes and which ones you must.
Shopify duplicate content mostly comes from one thing: every product can sit inside several collections, and each collection gives the product its own URL. Shopify's theme adds a canonical tag pointing every version at the plain /products/ URL, but only if the theme is built correctly — many are not.
That fix sits inside a wider Shopify SEO strategy: duplicate content is usually the first technical problem worth closing before any of the others pay off.
On this page
Why does Shopify create duplicate URLs in the first place?
Because a product can belong to more than one collection, and Shopify's URL pattern encodes the collection into the path: /collections/summer/products/blue-shirt and /collections/sale/products/blue-shirt can both resolve to the same product. Neither is fake — both load the product page correctly — which is exactly why the duplication is easy to miss.
The platform's own fix is a canonical tag that every Online Store 2.0 theme is meant to render on the product template, pointing back at the collection-free /products/blue-shirt version [2]. Google's own guidance on this is specific: a page can exist at several URLs as long as one is clearly marked canonical and the rest are consistent about naming it [2]. Shopify meets that requirement by default in current themes, but "by default" is not the same as "guaranteed," especially on an older or heavily customized theme.
Tag pages and sort parameters add a second layer. /collections/shirts?sort_by=price-ascending and /collections/shirts show the same products in a different order, and depending on the theme, both can be indexable. Search result pages behave the same way. None of these is a mistake by Shopify — they are supposed to be crawlable so a shopper's shared link still works — but "crawlable" and "meant to rank" are different things, and the gap between them is what this post fixes.
There is a second, less obvious source worth naming: a product that ships in more than one variant grouping, or that gets pulled into a manually curated collection for a promotion, picks up yet another path into the same duplication. A store running a seasonal sale collection alongside its permanent category structure can end up with three or four live URLs for a single product before anyone notices, each one accumulating a little bit of its own link equity and none of them accumulating all of it.
How do you find duplicate pages on your store?
Search Google for a handful of your product titles with site:yourstore.com and look at which URL comes back. If it is consistently the plain /products/ path, the canonical is doing its job. If a collection-scoped URL shows up instead, that page is winning the duplication contest against the version you actually want ranked.
| Usually automatic | Depends on the theme or your settings |
|---|---|
| Canonical tag on collection-scoped product URLs | Canonical tag on tag and filter pages |
| A single sitemap entry per product | Whether sort-order URLs are indexable |
| HTTPS and a consistent domain | Whether internal links point at the clean URL |
| A generated robots.txt file | What that file blocks beyond the defaults |
For a fuller picture than spot-checking searches, export your product list and crawl the store with any crawler that reports canonical tags per URL. What you are looking for is any product page whose canonical does not match its own clean URL, and any tag or filter page with no canonical at all.
Does the theme actually apply the canonical correctly?
Not always, and this is the step most audits skip. Open a collection-scoped product URL, view the page source, and read the <link rel="canonical"> tag in the <head>. It should show the plain /products/ path. If it shows the collection-scoped URL instead, or is missing entirely, the theme is not applying Shopify's default behavior and needs a direct edit to the product template.
Pull ten collection-scoped product URLs
Pick products that sit in at least two collections and copy their collection-scoped URLs directly.
View source on each one
Read the canonical link tag in the head. Do this on the live page, not a cached preview, since some apps inject tags client-side.
Confirm it points at the clean URL
It should read exactly /products/handle with no collection segment and no query string.
Fix the template if it does not
Edit the canonical tag in the theme's product template, or the section that renders it, so every collection-scoped variant points to the same clean URL.
If several products fail this check, the problem is systemic rather than a one-off, and it is worth fixing in the template once rather than product by product.
What about tag pages, filters and search results?
These are the quieter source, because they rarely show up in a quick spot-check and they multiply fast. A collection with four filter attributes and five options each can generate hundreds of URL combinations, and depending on the theme, a meaningful share of them can be indexable with thin or no canonical guidance.
Shopify's own collection object gives themes everything needed to render this correctly, including the data to build a proper canonical for any filtered or sorted view [3]. Whether a given theme actually does it is a code question, not a settings toggle, which is why this step usually needs a developer rather than a merchant working from the admin.
The scale problem is what makes this worth fixing before it worth ignoring. A single filter with three options barely matters. Four filters with five options each, applied across fifty collections, produce tens of thousands of URL combinations that mostly show the same handful of products in a different order. A crawler spending its budget on that arithmetic is not spending it on the new arrivals you actually want indexed this week, and nothing in the Shopify admin will surface that trade-off for you — it only shows up in a server-log or Search Console crawl-stats review.
Should you block anything in robots.txt?
Sparingly. Shopify ships an editable robots.txt.liquid file, and it is tempting to use it to blanket-block every filtered or tag URL [4]. That works for crawl efficiency, but a blocked page can still be indexed from external links with no snippet to show for it, which looks worse in search results than a canonical-guided page does.
The more reliable order of operations is: canonical tag first, noindex on templates that should never rank second, and a robots.txt block reserved for URL patterns that serve no purpose at all — internal search results are the clearest case, since nobody should be linking to those externally in the first place.
How do you know the fix worked?
Recheck the same ten product URLs from the audit above a few weeks after the template fix ships, and confirm Search Console's coverage report shows fewer "duplicate, Google chose different canonical" entries for your product URLs over time. That report is the one honest signal here — rankings can move for a dozen reasons, but a shrinking duplicate count is specific to this fix.
Merchants assume duplicate content is a Shopify problem. It almost never is — it is a theme problem wearing Shopify's name, and the fix is usually one template edit, not a platform migration.
If the theme keeps failing this check no matter how many times it is patched, that is usually a sign the theme itself needs replacing rather than repeated fixes — and if you are already weighing a rebuild, Shopify Plus vs. Shopify for SEO covers what changes at that tier. And if the canonical work turns up more than you want to fix in-house, Shopify SEO expert vs. agency walks through who should actually do it.
Duplicate content and page weight tend to travel together, because the same crowded theme that never learned to canonicalize a URL is usually the one loading five apps it does not need. Once the canonical work above is done, Shopify speed optimization is the natural next fix — same theme, same audit mindset, different report.
Questions people also ask
Does Shopify create duplicate content automatically?
Yes, for every product. Linking a product from more than one collection produces more than one URL for it, and Shopify's theme has to be relied on to point every version at a single canonical page rather than treating each as distinct.
Do I need to redirect the collection-scoped URLs?
No. Redirecting them would break the collection navigation. The fix is a canonical tag on the page, not a redirect, because the collection-scoped URL needs to keep working for shoppers even though it should not be indexed on its own.
Can an app fix duplicate content for me?
An app can audit and flag it, and a handful can rewrite canonical tags on templates you would otherwise have to edit yourself. None can restructure how your collections link to products, because that is a merchandising decision, not a technical one.
Will duplicate content get my store penalized?
Almost never as an outright penalty. The real cost is diluted crawling and diluted ranking signals spread across several URLs instead of concentrated on one, which is a slower, quieter loss than a penalty and harder to notice until traffic is already down.
Sources
- Consolidate duplicate URLs — Google Search Central (checked 22 September 2026)
- Canonicalization — Google Search Central (checked 22 September 2026)
- collection object — Shopify Developer Documentation (checked 22 September 2026)
- Customize robots.txt — Shopify Developer Documentation (checked 22 September 2026)
Find out which of your product pages are splitting their own ranking signal
Book a free 30-minute consultation with Ibrahem and Jeremy. We look at your site while we talk, and you leave with a prioritised plan.
Who wrote this
Ibrahem HelalCo-founder
Leads strategy and delivery.
Works on: SEO, GEO
Reviewed before publishing by Jeremy Zava, Co-founder.
- Shopify SEO strategy: the full planA Shopify SEO strategy in order: fix duplicate URLs and speed, build collection pages, add schema and content, then earn links and measure revenue.
- Shopify Plus vs Shopify: does SEO change?Shopify Plus adds checkout customization, B2B tools and higher limits, not SEO. Theme engine, URLs and crawl mechanics stay identical to standard Shopify.
- Shopify SEO Expert vs. AgencyA freelance Shopify SEO expert costs less and knows the platform deeply. An agency costs more and brings bench depth. Here is how to actually choose.
- Shopify Speed Optimization That WorksMost Shopify speed problems are apps and images, not the platform. Find which ones are slow and fix them in the order that moves Core Web Vitals.
