Back to Blog

Canonical Tags: The Complete Guide to Fixing Duplicate URL Problems

A misplaced or missing canonical tag silently fragments your ranking signals across multiple URLs. Here's exactly how canonical tags work, when to use them, and the mistakes that make them backfire.

Marcus Webb7 min readApril 17, 2026

SEO consultant, 9 years experience, formerly Head of SEO at two Series B startups

A canonical tag (rel="canonical") is an HTML element that tells Google which version of a URL you consider the definitive, indexable copy. When multiple URLs serve identical or near-identical content, Google has to choose one to rank. The canonical tag is how you make that choice yourself instead of leaving it to Google — which will often choose wrong.

How canonical tags work

A canonical tag lives in the <head> of a page and points to the preferred URL. Google treats it as a strong hint — not a directive. Unlike a 301 redirect (a command), Google can override a canonical if it believes the canonical is incorrect. Understanding when Google ignores your canonicals is as important as knowing how to set them.

<!-- Self-referencing canonical on the preferred page -->
<link rel="canonical" href="https://example.com/products/blue-shoes" />

<!-- Canonical on a parameterised variant pointing to the clean URL -->
<!-- URL: /products/blue-shoes?color=blue&size=10 -->
<link rel="canonical" href="https://example.com/products/blue-shoes" />

<!-- Cross-domain canonical (e.g. syndicated content) -->
<link rel="canonical" href="https://originaldomain.com/original-article" />

When to use canonical tags vs. 301 redirects

This is the most important distinction in canonical tag strategy. Use a 301 redirect when: you control both URLs and users should never land on the non-canonical version (e.g. HTTP → HTTPS, www → non-www, old URL → new URL). Use a canonical tag when: the non-canonical URL needs to remain accessible to users but you want Google to consolidate ranking signals on the preferred version (e.g. parameterised filter URLs that real users navigate via, printer-friendly pages, paginated series).

⚠️ Warning

A canonical tag does not block Googlebot from crawling the non-canonical URL. It only tells Google not to rank it. If you want to prevent crawling entirely, use robots.txt Disallow. If you want to prevent indexation, use noindex. Canonical, robots.txt, and noindex serve different purposes and should not be used interchangeably.

The 6 canonical tag mistakes that break indexation

  • Canonical points to a redirected URL — if your canonical href itself returns a 301, Google has to follow the chain. Always canonical to the final destination URL.
  • Canonical points to a noindexed page — contradictory signals. Google will typically honour the noindex, ignoring the canonical entirely, and may not index either version.
  • Multiple canonical tags on the same page — if your CMS and a plugin both inject a canonical, Google uses the last one it encounters, which is often wrong.
  • Self-referencing canonical missing on the canonical page itself — if the preferred URL has no canonical, and variants do, Google may still choose a variant. Every page needs a self-referencing canonical.
  • Canonical in the <body> instead of <head> — canonical tags must be in <head>. Google ignores canonicals found in the page body.
  • Canonical tag included in your XML sitemap URL but the page has a different canonical — a sitemap URL that doesn't match the page's own canonical tag creates a conflict. Google's coverage report will flag this as 'Duplicate, Google chose different canonical than user'.

Diagnosing canonical issues in Google Search Console

Go to Pages (Coverage) report and filter for 'Duplicate, Google chose different canonical than user'. This is the canonical failure state — it means Google is explicitly overriding your canonical declaration. Click individual URLs to see which canonical Google is using instead. Common reasons Google overrides: the canonicalised URL has significantly more backlinks, the page appears to be the original publication source, or the canonical points to a URL with conflicting signals (noindex, redirect, or another canonical chain).

Canonical tags for paginated content

Pagination is one of the trickiest canonical scenarios. For a paginated series (/blog, /blog?page=2, /blog?page=3), you have two defensible approaches: (1) self-referencing canonicals on each page — treats each page as a distinct indexable entity; or (2) canonical all pages back to page 1 — consolidates signals on the first page but makes pages 2+ invisible to Google. The right choice depends on whether your paginated pages have unique, valuable content. For most blogs and e-commerce category pages, self-referencing canonicals with good internal linking is the correct approach.


💡 Tip

A canonical tag misconfiguration during a site migration is one of the Technical SEO disaster scenarios in SEOdisaster Level 1. You'll be handed a site where thousands of product pages are pointing to the wrong canonical after a platform switch — and you'll have to triage which pages are bleeding ranking signals before the next crawl.

Learn this by doing — not just reading.

SEOdisaster.com teaches SEO through interactive disaster scenarios. Put these concepts into practice in the game.

Play Free →