Canonicalization errors: what they are, why Google overrules your canonical tag, and the exact fix
Before you read: use our free canonical tag checker to see exactly what tag is on your page right now and whether it points at a live, correct URL. The guide below explains what to do when it flags a problem.
A canonical error is a rel=canonical tag Google ignores because it contradicts the page's own signals: most often pointing at a redirected URL, a dead page, every page at the homepage, or the wrong protocol. Google's canonicalization documentation is direct: the tag is a hint, not a command. An ignored hint splits ranking signals across duplicate URLs instead of consolidating them.
What is a canonical error?
A canonical error is a tag Google overrules: your <link rel="canonical"> points at a URL whose signals contradict it, so Google picks its own canonical instead, splitting ranking signals across unintended duplicates.
A canonical error shows up in Search Console as “Duplicate, Google chose different canonical than user” — Google's written statement that it read your tag and overruled it because the tag contradicted the page's other signals. Ranking signals then split across whichever URLs Google decided are equivalent.
Canonical problems also affect how Google consolidates Core Web Vitals field data — if two URLs serve the same content, the CrUX data splits between them.
The symptom: the wrong URL shows up, or none does
The symptom of a canonical error is Search Console reporting “Duplicate, Google chose different canonical than user”: Google's written statement that it overruled your tag. Ranking signals then split across URLs you did not intend to surface.
Canonical problems rarely announce themselves. They show up sideways. Google indexes a URL you did not intend, a tracking-parameter version or the www twin of the address you promote. Search Console reports “Duplicate without user-selected canonical” or the more pointed “Duplicate, Google chose different canonical than user.” That second one is Google saying, in writing, that it read your tag and overruled it. Google has documented these failure patterns since its 5 common mistakes with rel=canonical post in 2013: a canonical that contradicts the site's other signals gets overruled.
The damage is dilution. When several URLs serve the same content and nothing consolidates them, links and signals split across the copies, and the version that ranks may be the one with the ugly parameters in it. In the worst case, a bad canonical points every page somewhere it should not, and pages drop out of the index while the site looks perfectly fine in a browser.
What are canonicalization errors?
Nearly every canonicalization error is the tag making a claim the rest of the site contradicts. The four patterns we find most:
- Canonical to a redirected or dead URL. The tag points at an address that 301s elsewhere or returns a 404. You are telling Google the real version is a page that does not resolve. Google discards hints like that.
- Every page canonicals to the homepage. Usually a template variable that never got filled in. Read literally, it claims your entire site is one page. Google will not honor it, but you have burned your one chance to state a preference.
- Protocol mismatch. The site serves HTTPS but the canonical still says http://, or the reverse. The doc is direct here: Google prefers HTTPS pages over equivalent HTTP pages as canonical. A tag pointing across protocols argues with that preference and loses. If this is your situation, start with our guide to a site still on HTTP.
- No self-referencing canonical on parameterized URLs. When ?utm_source=, ?sort=, or session IDs create URL variants and none of them carry a canonical pointing at the clean address, Google is left to guess which of the near-identical copies is real.
One common cause is a redirect chain creating a circular canonical — use the redirect checker to find chains on your site before auditing the canonical tags.
The fix: one true URL, stated the same way everywhere
Fix canonical errors by picking one URL per page: one protocol, one hostname, no tracking parameters. Add a rel=canonical tag in the head pointing at an address that returns 200. Apply the same canonical to every URL variant of that page.
Pick the one address you want indexed for each page: one protocol, one hostname, no parameters. Then make every signal agree with it. Our free canonical tag checker reads any live page's tag and flags the classic mistakes in seconds, no email. The tag goes in the <head>, absolute URL, pointing at a page that answers 200:
<!-- On the primary page AND on every parameter variant of it --> <link rel="canonical" href="https://example.com/blue-widgets" /> <!-- Wrong: relative, redirecting, or pointing at the homepage --> <link rel="canonical" href="/blue-widgets-old" /> <link rel="canonical" href="https://example.com/" />
After you deploy the fix, Google's re-evaluation can take up to two weeks. Here is what to watch while you wait.
Work through the checklist: canonical target returns 200 with no redirect hop. Protocol and hostname match what you actually serve. The primary page carries a canonical pointing at itself, so every parameterized variant inherits an unambiguous answer. One canonical tag per page, because two conflicting tags cancel each other out. Then align the supporting cast, since Google weighs several signals together: internal links point at the canonical URL, the sitemap lists only canonical URLs, and redirects land on them. A sitemap full of non-canonical addresses undercuts the tags, which is one of the failures covered in our guide to XML sitemap errors. To trace your redirect chains free, use the redirect checker; to validate your sitemap's URL list, use the sitemap validator.
Be honest: a canonical is a hint, not a directive
The documentation does not hide this and neither will we. The canonical tag is a strong signal Google weighs, not an order it must obey. Google reads your tag alongside redirects, internal links, the sitemap, and the HTTPS preference, then makes its own choice. This is why the fix is never just the tag. If your canonical says one thing and your internal links, sitemap, and redirects say another, you have cast one vote against a stack of your own contradicting ballots, and Search Console will show “Google chose different canonical than user” until the votes agree. The tag works when it confirms what the rest of the site already says. It fails when it argues with it. Anyone selling the canonical as a guaranteed directive is selling folklore.
If you have already made the fix and are waiting, read why Google takes up to two weeks to re-evaluate a canonical and what to do while you wait.
Canonicalization errors vs. canonical tag issues: the same problem
The terms are used interchangeably and describe the same underlying failure. A canonical tag issue is a <link rel="canonical"> tag that is missing, malformed, or contradicted by other page signals. A canonicalization error is the consequence in the index: Google chose a URL different from the one you stated, or the wrong version appears in search results. Every canonicalization error has a canonical tag issue as its upstream cause. Fix the tag; the indexing error resolves on the next crawl cycle. The fix is the same regardless of which term your SEO tool uses to report it. SEO platforms and Search Console sometimes shorten these to “canonical issues” or “a canonical issue” without the word “tag” -- same failure, same repair.
How do you verify that Google accepted your canonical?
Verification here is unusually direct, because Google tells you its answer. Open Search Console, inspect the URL, and compare “User-declared canonical” with “Google-selected canonical.” When they match, the consolidation is working. When they differ, one of the contradictions above is still live. Also confirm the basics by hand: view source on a few page types, check the tag is present exactly once, absolute, HTTPS, and pointing at a URL that returns 200.
Then verify it the way the engines will. Re-run an audit on the live URL and confirm the canonical picture reads clean. You can do this by hand, or paste your link into the full AuditLamp audit and we will read every canonical the way a crawler does, follow its target, and flag any tag pointing at a redirect, a 404, or the wrong protocol. And remember the tag only helps a page Google is allowed to index at all. If a page is missing entirely, check for the blunter problem first in our guide to an accidental noindex tag, and the rest of the fix library covers the failures beyond that.
Ready to check your own canonical tags? Paste any URL into the free canonical tag checker. It reads the tag live and flags every classic mistake. For the full picture across 164 checks, run the AuditLamp audit.
Canonical errors and duplicate content compound each other — fix the canonical first, then verify the duplicate pages drop.
Sites with canonical confusion often also have keyword cannibalization — when two pages compete for the same query and split the signals Google needs to rank either.