Why the canonical tag exists

In e-commerce one product is often reachable at several URLs: through different categories, with
sorting parameters, with filters, with UTM tags. A search engine treats every unique URL as a
separate page. Without a canonical, link equity is scattered across the duplicates instead of
concentrating on one page.

Example: a Nike trainer product page is reachable at all of these addresses:

/catalog/shoes/nike-air-max-270
/catalog/men/nike-air-max-270
/catalog/shoes/nike-air-max-270?sort=popular
/catalog/shoes/nike-air-max-270?utm_source=email

Without a canonical, the engine may index all four as independent pages. With one, it knows the
first is the main version and the rest are variants of it.

Where to place canonicals in e-commerce

Scenario The problem The fix
A product in several categories Several URLs with identical content Canonical to the main category
Pages with UTM parameters An endless supply of new pages Canonical to the parameter-free URL
Pagination (/page/2, /page/3) Duplicate listings Canonical to the first page, or a self-canonical
HTTP and HTTPS versions The whole site duplicated 301 redirect plus a self-canonical on HTTPS
Filters and sorting Parameter duplicates Canonical to the clean category URL

Technical details

The canonical goes in the <head> of the HTML document:

<link rel="canonical" href="https://example.com/catalog/shoes/nike-air-max-270" />

Or in the HTTP response header, for PDFs and other non-HTML resources:

Link: <https://example.com/catalog/shoes/nike-air-max-270>; rel="canonical"

Important: if the canonical and robots.txt contradict each other — the page is blocked from
crawling but carries a canonical — the engine cannot read the tag and may index the duplicate
anyway. Make sure canonical pages are open to crawling.

Common mistakes

  • The canonical points at a redirecting page — the engine sees a chain and may not apply the tag
  • Different canonicals for the same page in different systems — one URL in the HTML, another in
    the sitemap
  • A canonical pointing at an empty or 404 page — automatically ignored
  • No canonicals on faceted search pages — every filter combination creates a duplicate