Skip to content
Enjoy 20% off for 12 months on all plans. Use promo code: HYPERGROWTHClaim it

Lesson 1 of 3: Duplicate URLs and canonicals

Duplicate URLs and canonical tags seo for online stores

Collection-path product URLs, tag pages and parameters: the duplicates your platform creates and how to point them home.

6 min readIntermediateUpdated 2026-10-26

A store selling trail shoes has one best-selling product and one page for it. A crawl shows that page living at half a dozen addresses: the plain product URL, the same product under three collection paths, a variant parameter and a sort parameter. The platform made those copies without asking you, and Google now has to work out which one is the real page.

Your job is to make that decision for Google, clearly and consistently, so everything the product earns lands on a single URL.

Why one product ends up at several addresses

Store platforms build URLs from context. On Shopify, a shopper who arrives from a collection usually gets a link like /collections/trail-shoes/products/ridge-runner, and the same product also exists at /products/ridge-runner. Choosing a colour appends ?variant=. Sorting a collection appends ?sort_by=, filtering adds filter parameters, and every product tag quietly gets its own page at /collections/trail-shoes/<tag>.

WooCommerce does the same under other names: product tag archives, ?orderby= on category pages and attribute filters. Add the www and http versions of every address and the count multiplies again.

To a crawler, each of those is a separate URL to fetch and compare. Google's documentation on consolidating duplicate URLs says there is no duplicate-content penalty. The real cost is dilution: crawl time goes to copies instead of new products, and links split between versions while Google picks a canonical you might not have chosen.

How Google chooses a canonical

When Google finds a group of pages with the same or very similar content, it picks one as the canonical and shows only that one in results.

Google's documentation lists the signals it weighs. The rel="canonical" tag in the page's head is a strong one. Redirects count too, along with the URL in your sitemap, the URL your own pages link to, and a preference for HTTPS over HTTP. The key word is "weighs." Your tag is a vote that carries a lot of weight, and Google can overrule it. If the tag says one thing while your navigation and sitemap say another, Search Console reports the page as "Duplicate, Google chose different canonical than user".

That gives you the rule for the whole lesson: the URL in the canonical tag, the URL in the sitemap, the URL your internal links use and the URL your redirects land on must be the same URL.

Google's guidance also names mistakes to avoid. Blocking duplicates in robots.txt backfires, because a crawler that can't fetch a page can't read its canonical tag, so nothing consolidates. Pointing every page of a paginated collection at page one contradicts Google's pagination guidance, which gives each page in a series its own canonical. A canonical aimed at a page with genuinely different content will likely be ignored.

Point each duplicate type home

Work through them in this order:

  1. Collection-path product URLs. The canonical on every version must be the plain /products/ address. Shopify's standard themes output a canonical URL value for exactly this reason, but a customised or older theme can break it, so check rather than assume.
  2. Variant parameters. A ?variant= URL is the same product with another option selected, so its canonical is the base product URL. The exception is a variant people search for by name, such as a colour with its own demand. Give that one its own product.
  3. Sort and filter parameters. A sorted or filtered collection is the same collection in a different order or subset, so canonicalise those URLs to the clean collection URL. Very large stores with thousands of filter combinations also have a crawl problem, which Google's faceted navigation guidance covers.
  4. Tag pages. These are awkward because a tag page shows a different subset of products. A canonical to the parent collection would misdescribe the page, and Google may ignore it. Decide per tag. If it matches a real search such as "waterproof trail shoes," give the page a proper title and an intro paragraph, link to it from the collection, and treat it as a collection in its own right. If it matches nothing, set it to noindex.
  5. Protocol, www and trailing slash. Pick one version of each and redirect the rest with a 301. Shopify handles this for you, while WooCommerce needs a WordPress setting plus a server rule.

Confirm that Google agreed with you

A correct tag shows your intention, and Search Console shows whether Google accepted it. In the Pages report, "Alternate page with proper canonical tag" is the healthy status. "Duplicate without user-selected canonical" means you never declared one. "Duplicate, Google chose different canonical than user" means your signals disagreed. Inspect that URL and you'll usually find your sitemap or internal links pointing at the version Google chose.

Fixes take time to show because Google has to recrawl the copies. Re-check after a few crawls rather than the next day.

Frequently asked questions

It's the one address Google treats as the main version of a page when the same content exists at several URLs. Google picks it from a group of duplicates and shows only that URL in results. Your tag suggests which one it should be.

What is the use of canonical?

It consolidates everything a page earns onto one URL. Without it, links and crawl attention spread across collection paths, variant URLs and sorted views of the same product. With it, Google has a clear answer about which copy to rank.

What meta tags should I use for SEO?

For duplicates, the two that matter are rel="canonical" and noindex. Use the canonical on copies of a page that should point to the plain version. Use noindex on pages such as tag pages that match no real search and have no better home.

How to fix canonical tags?

First find the conflict. Check that the tag shows the plain product or collection URL, then make your sitemap, internal links and redirects use that same URL. Don't block the duplicates in robots.txt. Then watch Search Console's "Duplicate" statuses over a few crawls to see whether Google agrees.

What to take away

  • Store platforms create several URLs for one product or collection by design, and Google has to pick one; your job is to make that choice obvious.
  • The canonical tag is a strong signal that Google can overrule, so it only holds when your sitemap, internal links and redirects all agree with it.
  • Collection-path, variant, sort and filter URLs should canonicalise to the plain product or collection URL, while tag pages either earn their own place or get noindex.
  • Search Console's "Duplicate" statuses show whether Google accepted your canonicals, and a disagreement almost always traces back to a conflicting signal.

Next

With your URLs pointing home, the next leak to plug is speed: Store speed and themes shows where the seconds go and what to remove.

Free tools this lesson uses

Saved in this browser only.

Chapter 6: Reclaim the traffic your platform is costing you

All 9 chapters