Why sites have duplicates without knowing it

Most duplicate URLs are technical, not editorial:

  • Sorting, filter or tracking parameters: ?sort=price, ?utm_source=newsletter.
  • http and https versions, with and without www, with and without a trailing slash.
  • A product reachable from several category paths.
  • Print or AMP versions, forgotten staging pages.
  • Articles republished on partner sites (syndication).

The methods Google recognizes

Google lists three signals. A redirect is a strong signal that the target should become canonical. A rel="canonical" annotation is also a strong signal. Listing a URL in your XML sitemap is a weak signal. None is mandatory, and Google may pick a different URL when signals conflict, for example when all your internal links point to the non-canonical variant.

Setting up a clean canonical

  • Use an absolute URL, including protocol and domain.
  • Add a self-referencing canonical on every indexable page.
  • Keep exactly one canonical per page, in the head.
  • Point to a page that returns 200, is indexable and is not redirected.
  • Align your sitemap, internal links and canonical on the same URL.
  • For PDFs, declare the canonical in the HTTP Link header.

The most common mistakes

Pointing every page of a paginated series to page 1, which keeps products on later pages from being crawled. Combining a canonical to another page with a noindex tag, two contradictory instructions. Canonicalizing a Spanish page to the English one when hreflang was the right tool. Shipping a template that copies the same canonical, often the homepage, onto every page of the site.

To audit the whole site, combine two sources: a crawler that lists the declared canonical of every URL, and the Page indexing report in Search Console, which flags duplicates and pages where Google chose a different canonical than the one you declared.