Skip to content

Glossary Canonical Tag

What Is the Canonical Tag?

Definition

The canonical tag is the <link rel="canonical" href="..."> markup placed in a page's <head> to tell search engines which URL is the preferred version when the same content, or something very similar, is available at more than one address.

Four identical iron keys, one carrying a leather tag — beside the title Canonical
They all open the same door; only one carries the tag
On this page 6
  1. What does the canonical tag mean?
  2. Canonical vs. Redirect 301
  3. How it works
  4. Why it matters
  5. Best practices
  6. Common mistakes
In brief

Why every page needs its own self-referencing canonical, what happens when Google decides to ignore it, and how to avoid canonical chains that nobody can trace to the end.

Four identical iron keys, one carrying a leather tag — beside the title Canonical
They all open the same door; only one carries the tag

What does the canonical tag mean?

The canonical tag is a <link> element placed in a page's <head>, in the form <link rel="canonical" href="URL">. It tells Google and other search engines which version of a page is the "official" one when the same content, or something very similar, can be visited at several URLs: through tracking GET parameters, through www and non-www versions, through http and https at once, or through a page syndicated on another domain. It's one of the most basic signals in technical SEO, alongside page speed and clean indexing.

It sits in the <head> alongside other meta tags and alongside structured data, but does a different job: it doesn't describe the page's content, it marks which URL should collect the value of every version.

One case gets forgotten constantly: every page, whether or not it has a known duplicate right now, should carry a canonical tag pointing back to itself, the so-called self-referencing canonical. Nothing visible changes the day it goes live, but it prevents future confusion: if the page later becomes reachable through new parameters, if a plugin generates a printable version, or if someone syndicates it on another site, the self-referencing canonical is already there settling the question before it turns into a problem. Adding it systematically in every template costs no more than skipping it, and it saves page-by-page reviews down the line.

Canonical vs. Redirect 301

SituationToolWhat happens to the old URL
The same or very similar content sits at several URLs, and both need to stay reachableCanonicalStays reachable; it just marks which version is preferred
A URL needs to genuinely disappear and stop being reachableRedirect 301Stops responding on its own; traffic and signals move to the new URL

Mixing the two up causes two common mistakes: using canonical when the old URL should really be removed, leaving it alive for no reason and generating low-quality duplicates, or using a Redirect 301 when both versions need to keep existing, for example a product page with and without a color parameter.

How it works

When Google finds a canonical tag, it doesn't treat it as an order it must simply obey: it treats it as a strong signal, not a binding one. Google can pick a different URL than the one specified if other signals point elsewhere, such as internal linking toward a different URL, what the sitemap says, or the actual behavior of the people visiting the page. In practice, a properly set canonical gets respected almost every time; the distinction matters most when two canonicalization techniques on the same page contradict each other. That also shows up when the canonical points to a URL blocked by robots.txt or tagged noindex: Google can't consolidate there, and the hint ends up with no practical effect.

<!-- Case 1: self-referencing canonical, the URL points to itself -->
<link rel="canonical" href="https://zds.es/en/what-is-canonical-tag/">

<!-- Case 2: campaign-parameter variant, points to the clean URL -->
<!-- Actual page: https://zds.es/en/what-is-canonical-tag/?utm_source=newsletter -->
<link rel="canonical" href="https://zds.es/en/what-is-canonical-tag/">

A frequent mistake is the canonical chain: page A points to B, but B isn't actually the final version, it points on to C in turn. Google tries to resolve the chain and reach the end, but the outcome isn't guaranteed, and it sometimes consolidates on a midpoint nobody chose on purpose. Just as problematic is the opposite case, two pages that each mark the other as canonical: Google has no way to know which one is really preferred, and decides on its own.

When the canonical is set and still does not consolidate

Why it matters

A properly set canonical pulls the ranking signals that would otherwise be scattered across several near-identical versions, links, mentions, click history, into a single URL. Without it, those signals get diluted, and none of the versions ends up competing at full strength. In the worst case, a canonical pointed at the wrong URL can knock the version you actually want ranked out of the index while the weaker one stays visible.

It also saves crawl budget. Google's crawler visits a limited number of URLs per site per day; if part of that gets spent on duplicates created by parameters or sessions, there's less room left to crawl new content or genuine changes.

On multilingual sites, canonical and hreflang have to work together, and this is where most mistakes happen: each language version needs its own self-referencing canonical, pointing to itself, not a shared canonical that points to only one of the versions. Putting the same canonical on the Spanish, German, and English pages makes Google treat the other two as duplicates of the first, and drops them out of ranking in their own language.

Best practices

  • Add a self-referencing canonical to every page, whether or not a known duplicate exists right now.
  • Always use absolute URLs in the href, with https:// and the full domain, never relative paths.
  • Pick a single canonicalization technique per URL and don't mix it with contradictory signals, like a redirect pointing to a different version than the canonical does.
  • On multilingual sites, give every language version its own self-referencing canonical, never a shared one pointing only at the main language.
  • Always point to a URL that returns status code 200, never to one that redirects or returns a 404 error.
  • Avoid chains: if page A points to B, make sure B is already the final version, not another hop toward C.

Common mistakes

  • Forgetting the self-referencing canonical on pages without known duplicates, leaving them with no declared preference.
  • Two pages that mark each other as canonical, without either one actually being the real preferred version.
  • Canonical chains, where the target URL isn't the final version but just another midpoint.
  • A shared canonical across several language versions, which makes Google treat the translations as duplicate content of the original.
  • Trusting the canonical as if it were an absolute command and not checking contradictory signals, such as internal links pointing heavily at the "wrong" URL.
Manuel Riveiro Rodriguez CEO & Digital Strategist

A technical audit covers this and everything else in one pass.

Request an audit

Frequently asked

Do I have to set a canonical if a page has no duplicates?

It's not mandatory, but it's standard practice: a self-referencing canonical pointing at the page's own URL costs the same to implement in every template and stops future duplicates, through parameters, syndication, or a printable version, from sitting there with no declared preference from day one.

Does Google always respect the canonical I specify?

No. Google treats it as a strong signal, not as a command it must follow without exception. If other signals, such as internal linking, the sitemap, or the actual behavior of visitors, point to a different URL, Google can choose that other version as the real canonical.

When do I use canonical, and when a Redirect 301?

Use canonical when both URLs need to stay reachable, for example a product page with and without a color parameter. Use a Redirect 301 when the old URL needs to genuinely disappear, because the content moved or no longer exists at that address.

What happens if two pages mark each other as canonical?

It's a contradiction Google tries to resolve on its own, with no guarantee which version it ends up picking. The outcome doesn't follow a fixed rule and can even shift over time, so it's worth actively reviewing and fixing the mistake rather than leaving the decision entirely to Google.

On a multilingual site, is one canonical on the main language enough?

No: each language version needs its own self-referencing canonical, pointing back to itself, combined with the hreflang tags for every variant. A shared canonical makes Google treat the translations as plain copies of the main language, instead of independent versions each able to rank on their own.

Sources

  1. 10.07.2026 Google Search Central, "How to specify a canonical URL with rel="canonical" and other methods": explains how to declare a canonical URL, recommends adding the self-referencing canonical on the preferred page itself too, and details the different canonicalization methods. Updated July 10, 2026.
  2. 10.07.2026 Google Search Central, "What is URL canonicalization": the concrete source stating that "indicating a canonical preference is a hint, not a rule," the basis for Google being able to pick a different URL than the one specified. Updated July 10, 2026.