What Is a Canonical Tag in SEO?

A canonical tag is a line of HTML โ <link rel="canonical" href="https://example.com/page"> โ that tells search engines which URL is the master version of a page when several URLs serve the same or very similar content. Google treats it as a strong hint rather than a command, and usually consolidates ranking signals, including backlinks, onto the URL you name.
The problem it actually solves
Most sites accidentally publish the same content at several addresses. The content looks identical to a human, but each URL is a separate page to a crawler. That splits everything you've earned: some links point at one version, some at another, and neither ranks as well as a single consolidated page would.
A canonical tag is how you say: these are all the same page, and this is the one you should index.
Where duplicate URLs come from
Almost never on purpose. The usual sources:
- Tracking and session parameters โ
?utm_source=newsletter,?ref=twitter,?sessionid=. Every shared link with a parameter is technically a new URL. - Protocol and subdomain variants โ
http://,https://,www., and non-www.versions of the same page. - Trailing slashes and letter case โ
/guideand/guide/and/Guidecan all resolve. - Sorting and filtering on ecommerce and listing pages โ
?sort=price,?color=blue, faceted navigation. - Pagination and "view all" versions of the same article or category.
- Print-friendly or AMP versions.
- Syndicated content โ your article republished on Medium, a partner site, or a news aggregator.
The last one is the highest-stakes case. If you syndicate an article and the republisher doesn't set a canonical back to your original, their copy can outrank yours on your own content.
How to write one
Put a single canonical link in the <head> of every page:
<link rel="canonical" href="https://example.com/resources/my-page" />
Four rules that cover most implementations:
- Use absolute URLs, including the protocol. Relative canonicals are technically valid and reliably misconfigured.
- Point at the exact live version โ right protocol, right subdomain, right trailing-slash convention. A canonical pointing at a URL that then 301-redirects is a wasted signal.
- Add a self-referencing canonical to every page, even ones with no known duplicates. It costs nothing and pre-empts parameter duplicates you haven't thought of yet.
- One canonical per page. Two conflicting tags means Google ignores both, and this happens constantly when a theme and an SEO plugin each insert one.
Most CMS platforms and SEO plugins handle self-referencing canonicals automatically. Check your rendered page source rather than trusting the setting.
Canonical vs 301 vs noindex
These three get confused constantly, and picking the wrong one causes real damage.
| Tool | Old URL still accessible? | Signals consolidate? | Use when |
|---|---|---|---|
| Canonical tag | Yes, works normally for users | Yes, usually | Both URLs need to stay live โ filters, parameters, syndication |
| 301 redirect | No, forwards automatically | Yes | The old page should be gone entirely |
noindex |
Yes | No โ signals are dropped, not moved | You want the page out of search and don't care about its links |
The mistake worth calling out: noindex does not consolidate anything. If a duplicate URL has backlinks pointing at it, noindex throws that value away. A canonical keeps it. Slapping noindex on every duplicate is a common over-correction that quietly discards earned links.
Why Google sometimes ignores your canonical
Google calls the tag a hint. It considers your declaration alongside other signals โ internal links, sitemap entries, redirects, which version has external links โ and picks what it judges the true canonical. In Search Console's URL Inspection you'll sometimes see "Google-selected canonical" differ from "User-declared canonical."
Common reasons yours gets overruled:
- The pages aren't actually duplicates. Canonicalising two genuinely different pages to one another is a misuse, and Google will usually decline.
- Your other signals contradict it. Every internal link and your sitemap point at version A, while version A's canonical points at B. The tag loses the argument.
- The canonical target is broken โ it 404s, redirects, or is itself
noindex. - Canonical chains. A โ B, B โ C. Point everything directly at the final URL.
- The declared canonical isn't the version with the links. If external sites all link to one version, that's a strong vote Google weighs heavily.
Fixing an ignored canonical is usually a matter of aligning the other signals rather than adjusting the tag.
Canonicals and your backlinks
This is where canonicalisation stops being housekeeping and starts affecting rankings.
Backlinks are earned per URL. If people have linked to /guide?ref=twitter, /guide/, and https://www.example.com/guide over the years, you have one page's worth of content and three URLs' worth of fragmented link equity. A correct canonical merges them: Google consolidates the signals onto the version you named, and the page competes with the full weight of everything pointing at any variant.
That's a free ranking improvement on content you already published, and it's the reason a canonical audit is worth running before you go earn new links. There's no point building new backlinks into a page whose existing ones are split across four addresses. Clean up the consolidation first, then add to it โ Backlinkster handles the second half by matching you with a site owner in a related niche for a verified 1-for-1 in-content swap, but it can only strengthen a URL that's actually collecting its own signals.
Common mistakes
- Canonicalising every page to the homepage. A surprisingly frequent plugin misconfiguration that can deindex an entire site.
- Canonicalising paginated pages to page one. Pages 2, 3 and 4 aren't duplicates of page 1; they hold different content. Let each self-canonicalise.
- Mixing canonical and
noindexon the same page. Contradictory instructions โ Google may honour either. - Canonicals in the
<body>. Only the<head>counts for HTML pages. - Forgetting the canonical after a domain or protocol migration, leaving every page pointing at the old address.
Frequently asked questions
Does every page need a canonical tag? Not strictly, but a self-referencing canonical on every page is a sensible default. It's harmless where there are no duplicates and protects you when tracking parameters or trailing-slash variants appear later.
Is a canonical tag the same as a 301 redirect? No. A 301 forwards users away from the old URL; a canonical leaves both URLs working and only tells search engines which one to index. Use a redirect when the old page should be gone, a canonical when it needs to stay reachable.
Do canonical tags pass link equity?
Effectively, yes. When Google honours a canonical it consolidates the duplicates' ranking signals โ including backlinks โ onto the canonical URL. That's the main reason to prefer canonicals over noindex for duplicates that have links.
Can I canonicalise to a page on another domain? Yes โ cross-domain canonicals are the correct tool for syndicated content. If you let another site republish your article, ask them to add a canonical pointing back to your original. Google's canonicalisation documentation covers the supported methods.
What happens if I have two canonical tags on one page? Google ignores both and falls back to its own judgement. This usually happens when a theme and an SEO plugin each insert a tag โ check the rendered source, not the plugin settings.
The bottom line
A canonical tag is a small piece of markup that decides which of your URLs gets to be the real one, and which of your backlinks get counted together. Get it right โ absolute URLs, self-referencing by default, aligned with your internal links and sitemap โ and duplicates stop competing with each other. Get it wrong, or leave it to a misconfigured plugin, and you can fragment or deindex work that was otherwise fine.
Related: What is a 301 redirect? ยท How to get your website indexed by Google ยท Why is my website not showing up on Google? ยท SEO practices to avoid ยท What is domain authority?
