Skip to content
Technical SEOEcommerce SEO

Duplicate Product URLs in Ecommerce: Causes and Fixes

Duplicate product URLs in ecommerce are several addresses that show the same product. They come from collection paths, variation parameters, filters, tracking links and protocol differences. The fix is to choose one URL per product and make the canonical, the links and the sitemap all agree.

  • Causes by platform
  • How to find them
  • Canonical or redirect
  • Closing checklist
Abdullah Mahmud
Abdullah MahmudInternational and AI SEO Consultant
Updated Oct 20, 20268 min read
Duplicate product URLs in ecommerce: causes and fixes

Duplicate product URLs in ecommerce are multiple web addresses that show the same product, such as a product reached through a collection path as well as its main address, or a variation selected through a URL parameter. Search engines have to choose one version to index. When your signals disagree about which one it is, ranking signals split and crawling is spread thinner.

Duplicates are rarely a mistake someone made on purpose. They come from how platforms build URLs: category paths, filters, sorting, tracking links, variation parameters and protocol or case differences. Each one is easy to create and easy to miss, because the page looks identical to a shopper.

This guide explains the main causes on Shopify, WooCommerce and Magento, shows how to find them, and sets out the fixes in the order I would use them. I describe platform behaviour in general terms, so check the details against your own theme and settings.

Seeing the same product indexed twice?

I check product URL patterns, canonicals and internal links as part of a technical audit, then hand over a fix list your developer can ship.

Talk to a Technical SEO Consultant

Why Duplicate Product URLs Matter

Google groups pages with the same or very similar content and chooses one as the canonical, the version it shows in results. That is normal and not a penalty. The cost comes from three practical effects.

Split signalsLinks and internal links may point at different versions, so no single URL collects them all.
Wasted crawlingBots spend requests on copies instead of on new or changed products.

The third effect is the wrong URL showing in results. Google may pick the collection path or a parameter version because your internal links keep pointing to it, and that version may carry a less useful page layout for the shopper.

Where Duplicate Product URLs Come From

Some causes appear on every platform, and some are specific. The table shows the patterns I check first.

PlatformTypical duplicateWhy it happens
Shopify/collections/shoes/products/runner next to /products/runnerA product can be opened inside any collection it belongs to. Themes normally set the canonical to /products/runner.
ShopifyVariant parameters such as ?variant=12345Selecting a variant can add the variant to the URL while the page stays the same.
WooCommerceVariation and filter parameters such as ?attribute_pa_colour=blueVariations are selected on one page, and parameters can appear for selections, filters and sorting.
WooCommerceThe same product at more than one category pathA permalink setting that includes the category, combined with a product that sits in several categories.
MagentoA product at /product.html and at /category/product.htmlA setting decides whether product URLs include the category path. Categories can also put one product at several paths.
All platformshttp and https, www and non-www, trailing slash, letter caseServer or CDN rules that let several forms of the address respond.
All platformsTracking and session parameters such as ?utm_source=Campaign links and tools that append parameters to the address.
All platformsSorting and filter parameters such as ?sort=priceListing pages create new addresses for each ordering or filter.

Filter and sort URLs are mostly a listing-page problem and are covered in the guide on faceted navigation and crawl budget. This guide concentrates on the product page itself.

How to Find Duplicate Product URLs

You do not need special tools. A crawl, Search Console and a few searches are enough to find most duplicates.

  1. 1
    Crawl the site and look at canonicals Find pages whose canonical is a different URLFind pages with no canonical or a canonical that does not match the sitemap
  2. 2
    Open Search Console’s page indexing report Look for “Duplicate, Google chose different canonical than user”Check which URL Google chose and compare with yours
  3. 3
    Use the URL Inspection tool on sample products Compare “User-declared canonical” with “Google-selected canonical”A difference means your signals disagree
  4. 4
    Search Google for a product name with site: One result per product is the aimSeveral results for one product show duplicates in the index

Then check where your own links point. A crawl that reports inlinks for each URL will show whether collection pages link to /products/runner or to the longer collection path. Internal links are the strongest signal you control, and a theme that links to the longer path undoes a correct canonical.

The Fixes, in the Order I Would Use Them

Start with the cause, not the symptom. Pick the one URL pattern each product should have, then make every signal agree with it.

FixUse it whenCaution
Choose one URL patternAlways, as the first decisionChanging an existing pattern needs redirects for the old URLs
Change internal linksTemplates link to the long or parameter versionFix this in the theme, not page by page
Canonical tagThe duplicate must stay reachableIt is a hint, so keep other signals consistent
301 redirectThe duplicate has no purpose for visitorsAvoid chains and redirects to unrelated pages
Sitemap clean-upAlwaysList only the preferred, indexable URL
noindexA page must be reachable but never indexedDo not combine with a canonical to another URL
robots.txt rulesLarge sets of low-value parameter URLsNot a way to consolidate duplicates

On Shopify

Check that your theme’s canonical tag points to the /products/ URL and that product links inside collections use that same URL instead of the collection path. Many themes do this by default, but a theme edit or an app can change it. If a theme does link to collection paths, edit the product link in the collection and search templates. Variant parameters should keep the same canonical as the main product.

On WooCommerce

Review the permalink settings and decide whether product URLs include a category. If they do, make sure a product in several categories has a primary category and a single canonical. Check that variation and filter parameters resolve to the main product as the canonical. An SEO plugin normally manages canonical tags, so test what the plugin outputs rather than assuming.

On Magento

Magento has settings that decide whether product URLs include the category path and whether canonical tags are output for products and categories. Check both in the store configuration. In my view a safe default is product URLs without the category path and canonical tags turned on, but confirm that against your store structure before changing anything.

If you change a URL pattern on a live store, treat it as a migration. The old URLs need redirects, internal links need updating and the sitemap needs to be regenerated. The ecommerce migration SEO checklist covers that process.

Variants: One Page or Several

The question of whether each colour or size gets its own page is a content decision as much as a technical one. The test I use is search demand. If shoppers search for the variant as a distinct product, a separate page with its own title and content can be worth building. If the variants are the same product in different sizes, a single page is simpler and avoids near-duplicates.

Whichever you choose, keep the signals consistent. Separate variant pages need their own canonicals, titles and structured data. A single page needs the variant selection not to create indexable URLs.

Frequently Asked Questions

Do duplicate product URLs cause a Google penalty?

No. Google does not penalise a store for having several URLs that show the same product. The cost is practical: ranking signals and crawling are spread across several URLs, and Google may pick a version you did not want to appear in results.

Is a canonical tag enough?

Often, but it is a hint rather than a command. Google can choose a different canonical if your signals disagree, for example when internal links, the sitemap and redirects all point somewhere else. The fix works best when the canonical, the internal links and the sitemap all name the same URL.

When should I use a redirect instead of a canonical?

Use a redirect when the duplicate URL has no reason to exist for visitors, such as an old path or a wrong-case URL. Use a canonical when the duplicate must stay reachable, such as a filtered page, a tracking link or a variant selection.

Should I block duplicate URLs in robots.txt?

Usually not as the main fix. A page blocked in robots.txt cannot be crawled, so search engines never see its canonical tag, and the blocked URL can still be indexed from links. Robots.txt is for managing crawling of large sets of low-value URLs, not for consolidating duplicates.

Do product variants need their own URLs?

Only if people search for the variant as a separate product. If shoppers search for “blue” and “red” as different items, separate pages can make sense. If the variants differ only by size or colour of the same product, one page is usually simpler.

Duplicate Product URL Checklist

  • Each product has one preferred URL pattern, written down.
  • The canonical tag on every product page points to that preferred URL.
  • Internal links in collections, search, menus and related products use the preferred URL.
  • The sitemap lists only preferred, indexable product URLs.
  • http, www, trailing slash and case variants all redirect to one form.
  • Variant, filter, sort and tracking parameters resolve to the main product canonical.
  • Search Console shows no pattern of “Google chose different canonical than user” on products.
  • Any URL pattern change has redirects, updated links and a regenerated sitemap.

If you are on Shopify, the Shopify technical SEO audit checks collection path duplicates as one of its steps, and the WooCommerce SEO problems guide covers parameters and permalinks in more depth.

Want your product URLs checked?

Book a call and we will look at your product URL patterns, canonicals and internal links, then agree on what to fix first.

Book a Call
Abdullah Mahmud
Written by
Abdullah Mahmud

I work on the technical side of ecommerce SEO, including URL patterns, canonicals and indexing. This guide explains how duplicate product URLs appear and how I would remove them.

Technical SEOCanonicalsShopifyWooCommerceMagento
Keep reading

More SEO guides

All SEO guides
Faceted Navigation and Crawl Budget: A Practical Fix Guide
Technical SEOUpdated Oct 14, 2026

Faceted Navigation and Crawl Budget

Filters can create millions of URLs and slow Google's crawl of the pages that sell. See what really saves crawl budget, what doesn't, and how to fix it.

Abdullah Mahmud Abdullah Mahmud
Shopify Technical SEO Audit: A Step by Step Guide
Technical SEOUpdated Oct 14, 2026

Shopify Technical SEO Audit

Run a Shopify technical SEO audit in ten steps. Real admin paths, exact thresholds, and the Shopify specific problems generic checklists miss.

Abdullah Mahmud Abdullah Mahmud
Duplicate product URLs

Want one clean URL for every product?

Get your canonicals, internal links and sitemap checked and receive a fix list your developer can ship.

Abdullah Mahmud, international SEO consultant