What Is a Canonical URL? rel=canonical Explained

Duplicate URLs quietly split your rankings. A canonical tag tells search engines which version is the real one. This guide shows how it works, when to use it and the mistakes that make Google ignore it.

Close-up of hands holding script pages on a wooden desk with a typewriter.
Photo by Ron Lach on Pexels

A canonical URL is the version of a page you want search engines to index when the same or very similar content is reachable at several addresses. You declare it with a <link rel="canonical" href="…"> tag in the page's <head> (or a Link HTTP header). Google treats it as a strong hint, consolidates ranking signals onto that URL and shows it in search results.

Key takeaways: every indexable page should have a self-referencing canonical · only one canonical per page · point it at a live 200 URL, never a redirect · keep sitemap, internal links and canonicals consistent · check any page with the Canonical URL Checker.

Why duplicate URLs happen

Most duplicate content is not copied — it is created by the website itself. The same product page might be reachable at all of these addresses:

  • http://example.com/shoes and https://example.com/shoes
  • https://www.example.com/shoes and https://example.com/shoes/
  • https://example.com/shoes?color=red or ?sort=price
  • https://example.com/shoes?utm_source=newsletter
  • Print versions, AMP pages and session-ID URLs

Without a canonical, Google picks one version itself. It may choose a parameter URL you never wanted in search results, and links pointing to different versions get split instead of combined.

How to write a canonical tag

<!-- On https://example.com/shoes?color=red&utm_source=mail -->
<link rel="canonical" href="https://example.com/shoes">

Use the full absolute URL with the correct protocol and host. Put the tag inside <head>; canonicals in the <body> are ignored. For non-HTML files such as PDFs, send the canonical as an HTTP header instead:

Link: <https://example.com/guide.pdf>; rel="canonical"

Self-referencing canonicals

A unique page should point its canonical at itself. It sounds redundant, but it protects the page against duplicates you do not control — tracking parameters added by email tools, scrapers that copy your HTML, or links with odd capitalisation. Most modern CMSs and SEO plugins add self-referencing canonicals automatically.

Canonical Tag: What Is a Canonical Tag and How Can It Help Your SEO? — WsCube Tech · Watch on YouTube

Canonical vs 301 redirect vs noindex

MethodUser seesUse when
301 redirectIs sent to the new URLThe old URL should no longer exist
rel=canonicalStays on the duplicateBoth versions must stay accessible (filters, tracking, syndication)
noindexStays on the pageThe page should not appear in search at all

Do not combine canonical and noindex on the same page: one says "index this other URL", the other says "do not index anything". Pick the signal that matches your goal.

Seven common canonical mistakes

  1. Multiple canonical tags — usually a theme and an SEO plugin both output one. If they disagree, Google ignores both.
  2. Canonicalising every page to the home page — this tells Google to drop all your other pages.
  3. Pagination pointing to page 1 — page 2 lists different products; give it its own self-referencing canonical.
  4. Canonical to a redirect or 404 — contradictory signals. Always point to a live, final URL.
  5. HTTP canonicals on an HTTPS site — use the secure version.
  6. Relative or malformed URLs such as href="shoes", which resolve differently on different paths.
  7. Mixed signals — the sitemap lists one version, internal links use another and the canonical a third.

Canonical is a hint, not a command

Google can choose a different canonical when your other signals disagree. In Search Console's URL Inspection tool you can see both the "User-declared canonical" and the "Google-selected canonical". If they differ, align your signals: link internally to the canonical URL, list only canonical URLs in your sitemap (validate it with the Sitemap Checker), use the same URL in og:url (see the Open Graph Checker), and redirect true duplicates.

How to audit canonicals in two minutes

  1. Paste a page URL — ideally with a tracking parameter added — into the Canonical URL Checker.
  2. Confirm exactly one canonical is present, it uses HTTPS, and it points to the clean URL.
  3. If the canonical points elsewhere, confirm the target returns 200 (the checker tests it for you).
  4. Repeat for templates: home, category, product, blog post and paginated pages.

Cleaning up messy URL lists first? The Query Parameter Remover and Bulk URL Cleaner strip tracking tags and normalise trailing slashes in one go.

Frequently asked questions

Do I need a canonical tag on every page?

It is strongly recommended. A self-referencing canonical on every indexable page protects you against duplicates created by parameters, scrapers and capitalisation differences.

Can a canonical point to another domain?

Yes. Cross-domain canonicals are used for syndicated content so the original publisher receives the credit.

Why does Google ignore my canonical?

Usually because other signals disagree: there are multiple canonical tags, internal links or the sitemap use another URL, or the canonical target redirects or returns an error.

Is a canonical tag the same as a redirect?

No. A redirect sends users to another URL. A canonical keeps the page available but asks search engines to index a different version.

Should paginated pages canonicalise to page one?

No. Each paginated page shows different content, so it should have a self-referencing canonical.

Shorten links & create QR codes free

Clean fvj.io links, dynamic QR codes and click analytics — plus 90 free SEO tools.

Keep reading