Discuss project

Canonical Tag: When You Need It and Why Google Ignores It

A canonical tag is a hint, not a command. Here is when rel=canonical is needed, how it differs from a 301 and noindex, and why Google picks a different canonical URL.

Vladislav KrivorutškoOctober 19, 20269 min read
Contents

TL;DR - key points

  • Canonical (rel=canonical) is a hint telling Google which of several similar URLs is the main one; Google is not obliged to follow it and does so only when other signals agree
  • Google picks the canonical URL itself, weighing redirects, canonical tags, the sitemap and internal links; if they point to different addresses, the tag loses
  • The Search Console status 'Duplicate, Google chose different canonical than user' almost always means conflicting signals on your side, not a Google bug
  • Canonical does not replace a 301: if the old address is no longer needed, redirect it; use canonical for pages that must stay reachable
  • A canonical pointing at another language version removes the page from its own language's results: each version should point to itself

The Short Answer

A canonical, or rel="canonical", is a tag that names the main address for a group of similar pages. Google treats it as a recommendation: it accepts it when other signals agree, and picks another address when they do not. So a canonical is needed where several URLs must stay available to people but search should keep one. Where the extra URL is not needed at all, the right tool is a 301 redirect.

The second half of the question, why Google ignores a canonical, almost always comes down to one thing: your site has a signal that names a different address. Below, in order, are the signals Google compares and how to find the culprit.

Where a Canonical Is Needed and Where It Hurts

A working rule: canonical is for pages that must live but must not compete. I test each situation with one question: "does a person need this URL?" If not, I set a 301; if yes, a canonical or noindex.

SituationWhat to setWhy
Address with UTM tags and sort parameterscanonical to the clean URLThe ad link must open, but must not be indexed
Product in two categoriescanonical to the main pathBoth pages are needed in navigation
Print version, PDF copycanonical to the HTML versionThe user needs it, search does not
Paginated pages 2, 3, 4canonical to itselfThey hold different products and must not be merged into page one
Old page replaced by a new one301, not canonicalPeople no longer need the old address
Language: Estonian and Russian versionsself canonical + hreflangThey are not duplicates; hreflang links them
Cart, user accountnoindex, not canonicalThe content differs, but search does not need it

The kinds of duplicates and how to find them I covered on 20 August 2026 in the article on duplicate content; here it is only the canonical mechanism.

How Google Chooses the Canonical URL

Google says in its Search Central documentation that the canonical is chosen from a set of signals with different weights. Strong signals are a redirect and rel="canonical"; a weak one is the address being included in a sitemap. For internal links and HTTPS the documentation is more cautious: they count too, but the weight is not stated, and I do not invent numbers. I call this "voting": if all the votes go to one address, there is nothing to argue about; if the votes split, the winner is not necessarily the one you voted for.

In practice conflicts appear in three places:

  1. The sitemap and the canonical disagree. The sitemap holds an address with a trailing slash, and the canonical points to the one without. The rule is simple: only URLs you have named canonical belong in the sitemap. How to build the file is in my article on sitemap.xml and robots.txt.
  2. Internal links point to a non-canonical variant. The menu links to /catalog/lamp?sort=price while the canonical points to /catalog/lamp. The crawler sees hundreds of links to one address and one to the other, and leans toward the first.
  3. The canonical points to a page that redirects, is blocked with noindex or returns 404. Google may drop such a tag: it cannot treat as main an address that is not in the index. Redirects turn into chains just as quietly; how to find them is in the material on redirect chains.

A fourth cause is rarer but trickier: the page content genuinely differs. Google Search Central describes canonical as a signal, not a directive, so Google does not merge pages that clearly do not match, even if you ask with a tag. If you have two "almost identical" descriptions with different spec tables, it is entitled to ignore the canonical between them, and that is not an error.

What a Check on My Own Site Shows

I checked how this looks on my site: on 19 October 2026 I opened the article on duplicate pages on adlab.ee and added ?utm_source=test to the address. The server answered 200, and both variants returned the same tag in <head>:

<link rel="canonical" href="https://adlab.ee/blog/dubli-stranic-kak-nayti-i-ispravit"/>

So the page with the tag is not merged by a redirect; it opens, and the canonical tells the crawler the main address. The Estonian and English versions of the same article returned a canonical to themselves. An address with a trailing slash is redirected by the server with a 308 to the version without it. The strengths and weaknesses of the approach are visible here: a template canonical covers the whole mass of tagged addresses at once, but it does not cure the internal links themselves, and I check those separately. The sample is, of course, one page in three languages, not the whole site.

Signals agree: Google accepts the canonicalcanonical → /lampsitemap → /lampinternal links → /lampresult: /lampSignals disagree: Google chooses itselfcanonical → /lampsitemap → /lamp/internal links → /lamp/result: /lamp/In the second case the report shows 'Duplicate, Google chose different canonical than user'.It is fixed by aligning the signals, not by adding more tags.

How to Check That Google Accepted Your Canonical

Three steps I take when I suspect a conflict.

  1. The URL Inspection tool in Search Console. Enter the address: the indexing block shows "User-declared canonical" and "Google-selected canonical". If they match, all is well. If they differ, you have found a page with a conflict.
  2. The Page Indexing report. The status "Duplicate, Google chose different canonical than user" collects such pages in a list. The status "Duplicate without user-selected canonical" says the opposite: there is no tag at all. For the other statuses and the reasons pages fail to enter the index, see the article on why Google is not indexing your pages.
  3. The page source. Open the code and search for the word canonical. There must be one tag, inside <head> (Google does not count it in the body), with an absolute address including the protocol. For non-HTML files such as PDFs, the canonical is sent as an HTTP header: Link: <https://…>; rel="canonical".

If the mismatch is confirmed, go through four items: sitemap, internal links, redirects, noindex on the target page. In my observation one of them is almost always to blame, not Google's algorithm.

Who Should Not Use Canonical

  • Anyone who wants a page out of search. Canonical does not remove a page from the index or forbid crawling: the crawler keeps visiting, only less often. Removal needs noindex or a 404/410.
  • Anyone treating pagination with it. A canonical from pages 2, 3, 4 to the first hides from the crawler products that exist only there. How to set up a catalogue correctly is in my article on pagination in a catalogue.
  • Anyone with hundreds of filters. A canonical to the root category for every filter combination does not scale: Google accepts it selectively. On choosing which combinations to index, see the material on faceted navigation.
  • Multilingual sites that point the canonical at one version. An Estonian page whose canonical points to the Russian one drops out of Estonian results. Languages are linked with hreflang.

Checklist: What to Do in One Evening

  1. Open the Page Indexing report in Search Console and list the pages with the status "Duplicate, Google chose different canonical than user".
  2. For three to five of them, compare the declared and selected address in the URL Inspection tool.
  3. Check that the sitemap contains only canonical addresses, uniformly with or without a trailing slash.
  4. Find internal links to non-canonical variants in the menu and in text and replace them with canonical ones.
  5. Make sure canonical target pages return 200 and are not blocked with noindex.
  6. Check that the tag on the page is single, sits in <head> and is absolute.
  7. Wait a few weeks: Google revisits canonical decisions on the next crawl, so there is no instant effect.

Frequently asked questions

What is rel=canonical in simple terms?
It is a tag in a page's code that tells a search engine: 'this content has several addresses, and the main one is this'. Example: <link rel="canonical" href="https://example.ee/lamp">. Google uses it as one signal when choosing which address to show in results, but it is not obliged to obey.
How is a canonical different from a 301 redirect?
A redirect physically sends the visitor and the crawler to another address, and the old one stops opening. A canonical leaves both pages reachable and only names the preferred one. If the old address is no longer needed, use a 301; if both must keep working, such as a page with a UTM tag or a print version, use a canonical.
Why did Google choose a different canonical than the one I declared?
Most often because other signals contradict the tag: the sitemap lists another address, internal links point to the version without a trailing slash, the canonical target redirects or is blocked with noindex, or the content of the two pages differs noticeably. Check those four points in order; the cause is usually the second.
Do I need a canonical on every page?
Google recommends a self-referencing canonical (the page points to itself) as a safe practice: it protects against copies created by parameters and UTM tags. It is not a requirement, but on a site where addresses can be opened with arbitrary parameters I add it by template to every indexable page.
Can a canonical point to another website?
Yes, Google supports cross-domain canonicals, for example when you publish one article on two domains. This is also a hint: if the sites are in fact different, Google may pick another address. You cannot use it to merge two different sites under one domain; that takes a 301.
What happens if a page has several canonical tags?
Google states that with several conflicting tags it may ignore all of them. A typical case: the theme outputs one tag and an SEO plugin adds a second. View the page source and search for the word canonical to confirm there is exactly one tag.

Conclusion

Canonical works when you agree with yourself: the tag, the sitemap, internal links and redirects all name the same address. When Google argues with your canonical, do not add more tags; find which signal pulls the other way. Start by checking one page in the URL Inspection tool: it shows both versions, the one you declared and the one Google selected. If there are hundreds of such pages and the cause is unclear, that is part of the work I do in [technical SEO](/en/seo).

About the author

Vladislav Krivorutško — founder of ADLAB
Vladislav Krivorutško

Founder of ADLAB OÜ · SEO and Google Ads

Over 20 years in search traffic and monetization, and on the Estonian market since 2017. I work solo: I run the audit, build the strategy and deliver the project myself — no subcontractors, no templates. I only write about what I have tested on my own and client sites.

  • 20+ years in search traffic
  • 50+ end-to-end projects
  • Own sites in competitive niches
  • SEO for ru/et/en in one market
More about me

Read next