lintpage
~/search-console/duplicate-google-chose-different
§ page indexing report
blocking

"Duplicate, Google chose different canonical than user" in Search Console

You declared a canonical and Google overruled it. That only happens when your other signals disagree with your tag. Here is how to find the contradiction.

This URL is not indexed and it should be. Something is in the way.

§ check your url

Is it still happening?

Paste the URL Search Console flagged. We resolve its canonical, fetch the target, and check the two things that most often make Google overrule a tag: a target that redirects or is noindexed, and a target that canonicalises somewhere else again.

what this proves

Whether your canonical is technically sound: present, absolute, resolving to an indexable page, and not the start of a chain.

what it cannot prove

We cannot see which URL Google chose instead, and we cannot weigh your internal links or sitemap the way it does. If this check comes back clean, the contradiction is in those signals rather than in the tag, and URL Inspection will name the URL Google preferred.

§ what google is telling you

What this error actually means.

You told Google which URL to treat as canonical. Google read the tag, weighed it against everything else it knows, and picked a different URL. The tag was a hint and the hint lost.

This is not Google being arbitrary. A canonical tag is one signal among several, and it is overruled when the others point somewhere else: internal links, sitemap entries, redirects, hreflang, or the simple fact that the two pages are not as similar as your tag claims.

It matters more than the other duplicate rows because it means your site is contradicting itself. Somewhere you are telling Google two different things about which URL counts, and finding that contradiction is the whole job.

§ causes

6 things that produce this error.

Ordered by how often they turn out to be the cause, not by how obvious they look.

01

Internal links point at a different URL than the canonical

Your canonical names one address and every link in your navigation names another. Internal linking is one of the strongest canonical signals Google has, and a site that links consistently to a URL it does not declare as canonical is making a case against its own tag.

02

The sitemap lists the non-canonical version

A sitemap entry is an explicit statement that a URL matters. Listing a URL whose canonical points elsewhere sends two opposing signals in the same crawl, and the sitemap is the more recent one.

03

The canonical target redirects

Your canonical names a URL that then 301s somewhere else. Google resolves to the redirect destination rather than the URL you named, which is why the chosen canonical can be an address that appears nowhere in your markup.

text
Page  /a  canonical -> /b
GET   /b            -> 301 /c
Google picks        -> /c
04

A canonical chain, where the target canonicalises again

Page A points at B, and B points at C. Google does not reliably follow more than one hop and resolves the group in its own way. Chains happen naturally when pages are consolidated more than once over time.

05

The pages are not actually duplicates

A canonical between two pages that differ substantially is a claim Google can check and disagree with. This is common on location and variant pages where the template is shared but the content genuinely differs, and it is the one cause where the right fix is to remove the canonical rather than to strengthen it.

06

Mixed HTML and header canonicals disagreeing

A CDN or framework adds a Link header canonical while the template emits a different one in the HTML. Two declarations, two answers, and the resolution is not something you controlled.

§ the fix

How to clear it.

step 1

Ask URL Inspection which URL Google picked

The Page indexing report tells you it disagreed; URL Inspection tells you what it chose. Start there. The gap between your declared canonical and the Google-selected one names the contradiction you are looking for.

step 2

Make every signal name the same URL

Canonical tag, sitemap entry, internal links, and hreflang should all point at one address. Grep your templates for links to the non-canonical form; it is usually a navigation component or a breadcrumb that never got updated after a URL change.

bash
# Does the canonical target redirect? If so, that is your answer.
curl -sIL https://example.com/canonical-target | grep -iE '^(HTTP|location)'
step 3

Collapse canonical chains to one hop

Point every page in the group directly at the final URL. If A canonicalises to B and B to C, change A to point at C and remove the middle step entirely.

step 4

If the pages genuinely differ, remove the canonical

When Google overrules a canonical between two pages that are not really duplicates, it is telling you the tag was wrong. Give each page a self-referencing canonical and differentiate the content, or use hreflang if they are regional variants of the same page.

§ faq

Questions, answered.

Why does Google ignore my canonical tag?
It does not ignore it, it outweighs it. The canonical is a hint that competes with your internal links, your sitemap, any redirects, and Google's own assessment of how similar the pages are. When those point somewhere else, the tag loses. A canonical that is consistently reinforced by the other signals is almost never overruled.
How do I find out which URL Google chose?
Use URL Inspection in Search Console on the affected URL. It reports both your declared canonical and the Google-selected canonical side by side. That comparison is the fastest way to identify the contradiction, and it is not available anywhere in the summary report.
Is this worse than "Duplicate without user-selected canonical"?
It is more informative and usually more urgent. The other row means you never expressed a preference. This one means you did and your site undermined it, which points at a real inconsistency between your markup and your linking or sitemap that will keep causing problems elsewhere.
Can internal links really override a canonical tag?
They can contribute enough to. Google treats consistent internal linking as a strong statement about which URL matters. If your entire navigation points at one address while your canonical names another, the linking is a larger and more consistent body of evidence than a single tag on a single page.
Does hreflang affect canonical selection?
Yes, and conflicting hreflang is a common cause. hreflang annotations must be reciprocal and must reference the canonical version of each page. If your hreflang points at URLs whose canonicals point somewhere else, you have given Google two incompatible groupings and it will resolve them itself.
§ before the next deploy

Catch this one before Search Console does.

Search Console tells you weeks after the fact. LintPage runs 60 checks against a URL in about 30 seconds. Free, no signup.

run a full scan →