Back to Blog

CrawlingSEO

Canonical tags and duplicate content, explained

By Vladislav Savko · Jul 5, 2026 · 7 min read

Duplicate content rarely gets you penalised — but it quietly splits your ranking signals across multiple URLs and lets Google pick the "wrong" one to show. The canonical tag is how you tell search engines which version is the real one. It's simple in theory and easy to get subtly wrong.

The duplicate content problem

The same page is often reachable at several URLs: with and without a trailing slash, with tracking parameters (?utm_source=...), via HTTP and HTTPS, or with and without www. To you they're one page; to a crawler they're several duplicates competing with each other. That dilutes links and confuses which URL should rank.

How rel=canonical works

A canonical tag in the <head> names the preferred URL:

<link rel="canonical" href="https://example.com/product" />

It tells Google "index this URL, and consolidate the signals from any duplicates onto it". Use an absolute URL, point it at the correct language version where relevant, and remember it's a hint — a strong one, but Google can override it if your signals contradict each other.

Self-referencing canonicals

Every indexable page should have a canonical pointing to itself. It sounds redundant, but it settles parameter and case variations automatically and is considered a best practice. The one rule: make sure it points to the exact canonical URL (right protocol, right host, right trailing-slash convention), not a slightly different variant.

Canonical vs 301 vs noindex

These three tools solve overlapping problems and people reach for the wrong one constantly:

  • Canonical — both URLs should stay accessible to users, but only one should be indexed (e.g. a printer-friendly version, or parameterised URLs).
  • 301 redirect — the old URL should no longer exist; send users and crawlers to the new one. This is for moves and consolidations. See 301 vs 302 redirects.
  • noindex — the page should stay live for users but never appear in search at all (thank-you pages, internal search results). See meta robots and noindex.

Common mistakes

The ones I see most: canonicalising every page to the homepage (which tells Google to ignore all your other pages); pointing a canonical at a noindex or redirected URL (mixed signals); using relative URLs that resolve wrong; and canonical tags injected by JavaScript that Google may not process. When in doubt, keep it absolute, self-referencing, and static in the HTML.

Checking your canonicals

Because a canonical is invisible on the page, a wrong one can sit there for months. SEO Inspector surfaces the canonical URL for the current page right next to the meta robots directives, so you can immediately see whether a page canonicalises to itself, somewhere unexpected, or nowhere at all.

Vladislav Savko
Written by Vladislav Savko Full-stack developer & SEO specialist

Full-stack developer with 10+ years building websites, web apps and browser extensions, plus hands-on technical SEO — the experience behind the tools and guides here.

About the author →
Share 𝕏 Share on X

Try SEO Inspector — free →