Canonical Tags Explained: Avoiding Duplicate Content Issues
Canonical tags tell Google which version of a page you want indexed when several URLs show the same content. Here's how they work, when to use them and the mistakes to avoid.
Key takeaways
- A canonical tag (rel="canonical") tells Google your preferred URL among duplicates or near-duplicates.
- It's a strong hint, not a command; Google may choose a different canonical.
- Use self-referencing canonicals on every indexable page.
- Don't canonicalise to redirected, noindexed or unrelated pages.
Many websites show the same or very similar content on several URLs without meaning to. A canonical tag tells search engines which version you want indexed and ranked.
html
<link rel="canonical" href="https://www.example.com/blue-running-shoes/">
Where duplicates come from
- Tracking parameters:
?utm_source=facebook - Sorting and filters:
?sort=price,?color=blue - Product variants that share most content
- HTTP/HTTPS and www/non-www versions
- Print or AMP versions
- Syndicated content published on other sites
How canonicals work
A canonical is a strong hint, not a directive. Google considers it alongside other signals (redirects, internal links, sitemaps, HTTPS) and usually respects it when everything points the same way. If your signals conflict, Google may choose a different canonical.
When to use canonical tags
| Situation | Approach |
|---|---|
| Every indexable page | Self-referencing canonical (pointing to itself) |
| Parameter or filtered URLs | Canonical to the clean version |
| Very similar product variants | Canonical to the main product, if variants don’t need to rank separately |
| Your article republished elsewhere | Ask the other site to add a canonical pointing to your original |
| Pages that permanently moved | Use a 301 redirect instead |
Common mistakes
- Canonical pointing to a URL that redirects or returns 404
- Canonical pointing to a noindexed page
- Every page canonicalised to the homepage (a common plugin misconfiguration)
- Paginated pages (page 2, 3…) canonicalised to page 1, which hides their content
- Canonical in the
<body>instead of the<head>, or added only via JavaScript - Sitemaps and internal links pointing to non-canonical versions
How to check
Use URL Inspection in Search Console: it shows the user-declared canonical and the Google-selected canonical. If they differ, find out why. Often internal links or sitemaps point to the other version. The Page indexing report’s “Duplicate, Google chose different canonical than user” entry lists affected URLs.
Canonicals are part of the technical SEO audit. Related: keyword cannibalization and crawl budget.