eCommerce canonicals with product variants, facets, duplicates and out-of-stock products

eCommerce canonicals: variants, facets, duplicate products and out-of-stock pages

Reading time: 12 minPublished on 27 May 2026By BitHubTopic SEO & eCommerce

The canonical tag on an eCommerce site exists to say which version of a page is the main one when similar or duplicate URLs exist. It looks like a technical detail, but it can decide whether Google understands your catalogue or gets lost among variants, facets, parameters, twin categories and out-of-stock products.

The problem is that many eCommerce sites use the canonical as a universal patch. Every time something is confusing, in goes a canonical and everyone hopes Google will sort it out. That is not how it works.

The canonical is a signal, not an absolute command. If the site structure is chaotic, if the sitemap contains the wrong URLs, if internal links point to different versions and if facets generate thousands of combinations, Google can choose differently from what you declared.

What the canonical is and what it does not do

The rel="canonical" tag tells search engines which URL you prefer as the representative version when there are duplicate or very similar pages.

For example:

  • /mens-running-shoes/ is the canonical page;
  • /mens-running-shoes/?sort=price canonicalises to the main page;
  • /mens-running-shoes/?utm_source=newsletter canonicalises to the main page.

This helps consolidate signals, avoid duplicates and clarify which page you want indexed.

What the canonical is not for:

  • hiding useless pages that were generated badly;
  • getting a weak page indexed;
  • replacing a redirect when a page has moved;
  • fixing facets that have no strategy behind them;
  • blocking a page from being crawled;
  • compensating for a dirty sitemap;
  • correcting inconsistent internal links.

If you want a page not to be indexed, you usually need to think about noindex, redirects, robots, URL structure or simply not generating that URL at all. The canonical is not a bin.

The practical rule: one page, one role

To decide the canonical, start from a simple question: does this URL have a role of its own?

If the answer is yes, the page can have a self-referencing canonical. If the answer is no, it probably needs to point to a main page, be excluded, redirect, or never be generated in the first place.

A page with a role of its own usually has:

  • its own search intent;
  • unique or at least useful content;
  • relevant products;
  • a specific title and H1;
  • consistent internal links;
  • a stable, readable URL;
  • a sensible presence in the sitemap;
  • commercial potential.

A URL with no role of its own is often just a technical variation: sorting, a parameter, a weak facet, a session, tracking, an alternative view, a duplicate of a category or a product.

Product variants: colour, size, format

Product variants are one of the most common cases.

For example:

  • /running-shoe-x/
  • /running-shoe-x-black/
  • /running-shoe-x-blue/
  • /running-shoe-x-size-42/

The question is not "are the variants duplicates?". The question is: do the variants deserve their own indexable pages?

A variant can have a self-referencing canonical when:

  • there is specific search demand for it;
  • it has its own images, availability and content;
  • it genuinely changes the buying intent;
  • it does not create thousands of thin pages;
  • it is clearly linked from the main product;
  • it can bring in useful traffic.

A variant should instead point to the main product when:

  • it only changes size or colour with no SEO value of its own;
  • its content is almost identical;
  • there are no specific searches for it;
  • it creates duplicates on a massive scale;
  • it is not stable over time;
  • it only exists for technical reasons.

The point is finding a balance. Indexing every colour and every size can create chaos. Blocking everything can lose you useful keywords.

Facets and parameters: the most dangerous case

eCommerce facets can generate endless URLs. Colour, size, brand, price, material, need, sorting, availability, reviews, promotions, multiple combinations.

Some URLs are useful. Very many are not.

URLs like these usually should not become indexable pages:

  • /shoes/?sort=price_asc
  • /shoes/?page=3
  • /shoes/?color=black&size=42&order=popular
  • /category/?utm_source=ads
  • /search?q=red+shoes

In these cases the canonical can point to the main category or to the nearest canonical facet page, but that is not enough if those URLs are linked everywhere, sit in the sitemap or are generated with no control.

A facet, on the other hand, can have a self-referencing canonical when it is a real SEO page:

  • /grain-free-dog-food.htm
  • /mens-trail-running-shoes/
  • /magnesium-supplements-women/

In that case it must not look like a query. It needs a clean URL, relevant products, a title, an H1, copy, FAQs and internal links. We covered this in the guide on which eCommerce facets to index and which to block.

Duplicate categories: same catalogue, different URLs

Another frequent problem is categories that are very similar or reachable through different paths.

For example:

  • /men/running-shoes/
  • /shoes/running/men/
  • /running/mens-shoes/

If these pages show almost the same products and share the same intent, they risk competing with each other. In some cases you need to choose a main page and have the others canonicalise to it, or redirect them if there is no reason for them to exist.

But be careful: if two categories look similar yet capture different intents, they should not be flattened with a canonical out of laziness.

For example:

  • /mens-running-shoes/ can be the main category;
  • /mens-trail-running-shoes/ can be a specific page;
  • /mens-road-running-shoes/ can have a different intent;
  • /mens-running-shoes-sale/ can be commercial and seasonal.

The canonical should not erase useful nuance. It should eliminate genuine duplicates.

Duplicate products across several categories

Many eCommerce CMSs generate different URLs for the same product depending on the category.

For example:

  • /running-shoes/shoe-x/
  • /mens-shoes/shoe-x/
  • /brand/brand-name/shoe-x/

If it is the same product, the best solution is usually a stable product URL that does not depend on the category, for example:

  • /shoe-x/

If the CMS generates multiple URLs anyway, all the alternative versions should canonicalise to the main product URL. But internal links should always prefer the canonical version, otherwise the site keeps sending confused signals.

This is one of the reasons a custom platform can be cleaner: stable product URLs, with categories as context rather than as duplicate generators.

Pagination and sorting

Paginated pages and sort orders are another delicate topic.

Sorting by price, popularity or newness usually should not become an indexable page in its own right. The canonical can often point to the main category, or you can stop those URLs being crawled needlessly.

Pagination needs more care. If pages 2, 3 or 4 show different products, canonicalising everything to page 1 is not always the best choice. You have to weigh up structure, crawling, internal links, infinite scroll and the way products are discovered.

The practical rule is this: do not use the canonical to make important parts of the catalogue disappear. If Google needs to discover products that sit on later pages, make sure they are also reachable through links, a product sitemap or a solid category structure.

Out-of-stock products: canonical, redirect or keep the page live?

An out-of-stock product is not automatically a duplicate. So the canonical is not always the right answer.

If the product will come back into stock, it is often best to keep the page live, with a self-referencing canonical, a stock notice, alternatives and perhaps an email alert.

If the product is permanently discontinued, you have several options:

  • a 301 redirect to a very similar replacement;
  • a redirect to a relevant category if there is no specific alternative;
  • keeping the page live if it has informational value and offers alternatives;
  • removing the page with a consistent status if it has no value;
  • not canonicalising to a different product when the intent does not match.

Canonicalising an out-of-stock product to a similar one may look convenient, but if the pages are not really duplicates and the products are not equivalent, you risk sending an ambiguous signal.

Canonicals and the sitemap have to agree

A simple rule: if a URL canonicalises to another page, it usually should not be in the sitemap.

The sitemap should contain canonical URLs. If it holds non-canonical URLs, redirects, technical facets or duplicates, you are telling Google one thing in the sitemap and another in the canonical tag.

We also covered this in the article on the eCommerce sitemap for products, categories, images and facets: sitemap and canonicals have to tell the same story about the catalogue.

Canonical and noindex: careful how you mix them

A common mistake is combining noindex and a canonical in the hope of getting the best of both. In reality they are different signals.

The canonical says: this page is similar, treat that other one as the main version. noindex says: do not index this page.

In most cases it is better to pick a clear strategy:

  • a useful duplicate to consolidate: canonical;
  • a page that should not be indexed but is useful to the user: noindex;
  • a page that has moved for good: 301 redirect;
  • a useless URL that should never be generated: fix the platform;
  • a dead page with no value: removal or a consistent status.

The wrong combination makes it harder to understand what you are actually trying to achieve.

The signals Search Console shows when something is off

When canonicals are inconsistent, Search Console often starts showing states such as:

  • Alternate page with proper canonical tag;
  • Duplicate, Google chose different canonical than user;
  • Duplicate without user-selected canonical;
  • Crawled - currently not indexed;
  • Discovered - currently not indexed;
  • Submitted URL not selected as canonical;
  • Submitted URL marked "noindex".

These messages should not all be read as errors. Sometimes Google is simply confirming that it has understood a duplicate. But when they involve important pages, categories or strategic facets, they need analysing.

We went deeper into these signals in the article on Search Console and the warning signs of an SEO drop for eCommerce.

A canonical checklist for eCommerce

Before you publish, migrate or restructure a catalogue, check:

  • does every important page have a self-referencing canonical?
  • do parameter URLs point to the right page?
  • do product variants follow a consistent strategy?
  • do products duplicated across categories point to a stable URL?
  • do SEO facet pages have self-referencing canonicals?
  • do technical facets stay out of the sitemap?
  • are redirects absent from the sitemap?
  • are similar categories genuinely different?
  • are out-of-stock products handled clearly?
  • do internal links point to the canonical version?
  • does Search Console confirm the canonicals you expect?
  • do GA4, Ads and feeds avoid sending traffic to non-canonical URLs?

That last point is often ignored: if campaigns, feeds and tracking use URLs other than the canonical ones, the chaos does not stay in SEO. It spreads into your marketing data too.

What to ask your agency

If you want to know whether your eCommerce site handles canonicals sensibly, ask:

  • What is the canonical rule for products, categories and facets?
  • Are colour and size variants indexable, or do they point to the main product?
  • Do product URLs depend on the category, or are they stable?
  • Do SEO facets have clean URLs and self-referencing canonicals?
  • Are technical parameter facets excluded from the sitemap?
  • Are similar categories competing with each other?
  • Do out-of-stock products redirect, stay online or get removed?
  • Does Search Console show canonicals different from the declared ones?
  • Does the sitemap contain only canonical URLs?
  • Do internal links always point to the correct version?
  • Does the Merchant Center feed use canonical URLs?
  • After a migration, are the old URLs out of the sitemap?

If the answer is "the SEO plugin handles it", that is not an answer. The plugin can print a tag. Strategy decides which URL should be the main one.

How we work at BitHub

In our custom eCommerce builds, canonicals, sitemap, facets, URLs and feeds are not separate pieces. They are parts of the same architecture.

That lets us decide up front which pages should be canonical, which facets become SEO pages, which variants deserve their own URLs and which products need to stay stable regardless of category.

The SEO and Google Ads side comes into the reasoning because canonical URLs are not only there for organic Google. They also matter for Merchant Center, Performance Max, tracking, landing pages and how you read your data.

With AI and automation we can also analyse large catalogues and surface duplicates, near-identical facets, pointless variants and pages at risk of competing with each other. After that, though, you still need editorial and technical judgement: not everything can be decided with an automatic rule.

Useful sources

For the technical detail, you can read the Google Search Central documentation on canonicalisation and consolidating duplicate URLs, the guide on how to specify a canonical URL, the guidance on designing eCommerce URLs, the handling of faceted navigation and the guide to robots meta tags and noindex.

FAQs on eCommerce canonicals

Does the canonical force Google to index the page you chose?

No. The canonical is a strong signal but not an absolute one. Google can pick a different canonical if it finds inconsistent signals, duplicate content, confused internal links or a sitemap that does not line up.

Should product variants canonicalise to the main product?

It depends. If the variant has no SEO value of its own, then usually yes. If it has its own search demand, content, images and intent, it may deserve a self-referencing canonical.

Should eCommerce facets canonicalise to the main category?

Technical or weak facets often should. Facets turned into real SEO pages, with a clean URL and dedicated content, should have self-referencing canonicals instead.

Should a URL that canonicalises to another page be in the sitemap?

Generally no. The sitemap should contain the main canonical URLs, not alternative URLs, redirects, parameters or pages that declare a different canonical.

Canonical or redirect: which should you use?

Use a redirect when a page has moved or should no longer exist as an accessible URL. Use a canonical when similar pages need to stay accessible but you want to consolidate signals on one main version.

Does noindex replace the canonical?

No. They are different signals. Noindex says not to index a page; the canonical says which version you prefer among similar pages. They should be used with a clear strategy, not as interchangeable fixes.