What is a canonical tag? Definition, syntax and how it works

A canonical tag is an HTML link element (rel=”canonical”) that tells search engines which URL is the preferred, main version of a page that exists under several addresses. Google, Yahoo and Microsoft Live Search (now Bing) announced joint support for it on 12 February 2009. Google treats it as a strong hint, not a binding rule, and weighs it together with redirects, sitemaps and HTTPS.

Updated: 17 October 20264 min read
Infographic: how Google picks a canonical URL in 5 steps, from detecting duplicates to choosing the canonical tag target
Source: Google Search Central, Canonicalization documentation

How does the canonical tag work?

The canonical tag works by pointing every duplicate or near-duplicate URL to one representative URL, so search engines consolidate signals there. Google first clusters pages with the same or very similar main content, then picks one page per cluster as the canonical. That page is crawled most often and shown in results, while the other URLs become alternates. Your tag is one input to that choice: Google Search Central calls it a preference, not a rule.

A canonical tag sits in the head of the duplicate page and uses an absolute URL:

  • <link rel=”canonical” href=”https://example.com/shoes/running/” />

For PDFs and other non-HTML files, send the same signal in an HTTP response header: Link: <https://example.com/guide.pdf>; rel=”canonical”.

Canonical tag history

The canonical link element was a joint announcement by Google, Yahoo and Microsoft on 12 February 2009, with Ask.com joining on 23 February 2009. At launch it only worked within one domain (subdomains included); Google extended support to cross-domain canonicals in December 2009, which made syndication between sites manageable.

DateEvent
February 2009Google, Yahoo and Live Search launch rel=”canonical”
December 2009Google accepts cross-domain canonicals
TodayHTML tag, HTTP header and sitemap are all accepted signals

3 ways to set a canonical URL

Google lists redirects and rel=”canonical” as strong signals and sitemap inclusion as a weak one. Combine them so they point to the same URL.

Permanent redirect

A 301 redirect or 308 is the strongest choice when the duplicate URL can disappear. Temporary 302 and 307 redirects do not act as a canonical signal in Google’s indexing pipeline.

rel=”canonical” tag or header

Use the tag when both URLs must stay live, for example filtered category pages or tracking parameters. Add a self-referencing canonical on the main page too.

XML sitemap

List only canonical URLs in your XML sitemap. This is easy to maintain on large shops but is the weakest hint.

Canonical tags on multilingual and multi-country sites

On international sites the canonical tag must point to a page in the same language, never to another language version. Language and country versions are linked with hreflang, not with canonicals; Google ignores rel=”canonical” that carries hreflang, lang, media or type attributes. Each localized page should therefore canonicalize to itself and list its siblings in the hreflang set.

The tricky case is same-language variants such as de-DE and de-AT, or en-GB and en-US with near-identical text. Google says these are duplicates and recommends both canonicalization and hreflang. In my German and Austrian rollouts I keep a self-canonical on each version and make the content truly different (prices, shipping, legal info), because if Google clusters them anyway, it picks one canonical and serves the other only through hreflang swapping. Search Console’s URL Inspection shows the user-declared and the Google-selected canonical per market, so check both after every launch.

Common canonical mistakes

  • Canonicals that point from /pl/ or /cz/ pages to the English version.
  • Canonical targets that redirect, return 404 or carry noindex.
  • Blocking duplicates in robots.txt, which hides the tag from Googlebot.
  • Different canonicals in the HTML, the HTTP header and the sitemap for one page.
  • HTTP URLs in canonicals or sitemaps on an HTTPS site.

Canonical vs 301 redirect vs noindex

The canonical tag keeps the duplicate available to users while passing signals to the main URL, which is the difference from the other two tools:

ToolUser sees duplicate?Use it when
rel=”canonical”YesBoth URLs need to exist (filters, UTM, print)
301 redirectNoThe old URL is retired for good
noindexYesThe page should never appear in search

Google advises against using noindex to choose a canonical inside one site, because it removes the page entirely instead of consolidating it. A clean canonical setup is the first fix for duplicate content and it also matters for AI search: Google and Bing build AI answers on top of their index, so only the canonical URL realistically gets cited.

Pro tip: After a migration or a new market launch, export the “Duplicate, Google chose different canonical than user” list from Search Console’s page indexing report. In my audits that single report usually reveals template bugs, such as country pages canonicalizing to the homepage.

Canonical errors are one of the first things I check in a technical SEO review and in every international SEO consultancy project.

Frequently asked questions about Canonical tag

Is the canonical tag a directive or a hint?

The canonical tag is a hint. Google weighs it with redirects, sitemaps, HTTPS and internal links and may pick a different canonical when the signals conflict.

Should every page have a self-referencing canonical?

Yes, Google recommends adding a self-referencing canonical to the main page. It protects the URL against parameters, tracking codes and scrapers that create duplicates.

Can I use a canonical tag between language versions?

No, a canonical should point to a page in the same language. Language and country versions are connected with hreflang, and each of them should canonicalize to itself.

Does Google support cross-domain canonical tags?

Yes, Google has accepted cross-domain canonicals since December 2009. They are useful for syndicated articles or for the same product sold on two domains.

Related terms

International SEO · AI SEO (GEO)

Grow in every market, and get cited by AI

On multi-country sites one wrong canonical can wipe a whole language version out of Google and out of AI answers. I audit canonical and hreflang setups together so every market keeps its own indexed pages.

I help SaaS and e-commerce brands win organic traffic across Europe and the US, and get their brand recommended in ChatGPT, Gemini, Perplexity and Google AI Overviews. Every project starts with a free audit of your site, your markets and your visibility in AI answers.

Write to Adrian

Have a question about this term or your SEO?

Send a short message about your website, the markets you sell in and what you want to achieve. You get a reply from me, not from a sales team.

  • Free preliminary SEO and AI visibility audit
  • Strategy for international and multilingual markets
  • Reply within one business day
Book a free call
Adrian Dąbrowiecki

Write to Adrian

Adrian Dąbrowiecki · Marketer Coffee

Tell me about your site and your goals. I usually reply within one business day.