Canonical tags explained: choosing the version search engines show
What a canonical tag does, why search engines treat it as a hint, and how to handle duplicates, parameters and syndicated content.
· 2 min read
The same content often lives at more than one URL: with and without tracking parameters, sorted in different orders, printed versions, or copies on partner sites. Canonicalization is how search engines pick one URL to show, and the canonical tag is how you tell them which one you prefer.
What the canonical tag says
<link rel="canonical" href="https://example.com/running-shoes/" />
placed in the <head> of every duplicate (and of the preferred page itself) says: "this is the version to show in search results".
A strong hint, not an instruction
Google treats rel="canonical" as a strong signal, but it weighs it with other signals and may choose a different URL. Signals that support your choice:
- Redirects from duplicates to the preferred URL (the strongest signal, when you do not need the duplicate to exist).
- Internal links that point to the preferred URL, not to its variants.
- The XML sitemap listing only preferred URLs.
- HTTPS rather than HTTP versions.
When your signals disagree, for example the canonical says one URL while internal links and the sitemap point to another, search engines are more likely to pick their own.
Good practice
- Use a self-referencing canonical on every indexable page. It protects against parameter and tracking variants.
- Use absolute URLs with the right protocol and host.
- Point to an indexable page that returns 200, not to a redirect, a 404 or a noindex page.
- One canonical per page. Two different canonical tags (often one from a plugin and one from a theme) usually means both are ignored.
- Do not use robots.txt or noindex to choose a canonical. A page blocked by robots.txt cannot be read, so its canonical is never seen; noindex removes the page instead of consolidating it.
Common cases
- URL parameters (tracking, sorting, sessions): canonical to the clean URL.
- Pagination: each page in a series should canonicalize to itself, not to page one.
- Syndicated articles republished elsewhere: ask the other site to add a canonical pointing to your original, or at least to link back to it. SEOgenz supports this: articles first published elsewhere can name their original as canonical.
- Language versions are not duplicates: use hreflang, and give each version its own self-referencing canonical.
Checking
The URL Inspection tool in Google Search Console shows both the canonical you declared and the one Google selected. If they differ for important pages, look at which signals disagree. A crawler such as Screaming Frog lists canonicals across the site, including pages pointing to non-indexable URLs.