Google’s John Mueller has finally explained why Google often picks a different canonical URL than the one site owners intended.
His answer came via Reddit, where he listed nine specific scenarios that explain how Google decides which version of a page is “the real one” when duplicate content exists.
For SEOs who’ve stared at Search Console wondering why the wrong URL is ranking — this is the breakdown you’ve been waiting for.
First, What Is a Canonical URL?
When multiple pages share the same or similar content, Google needs to decide which one to index and rank.
That chosen page is the canonical URL.
Site owners can suggest their preferred version using the rel=canonical tag — but as Mueller made clear, Google treats it as a hint, not a rule.
Knowing how to implement canonical tags correctly is the first step to avoiding the problems he describes below.
The 9 Scenarios Mueller Listed
Google’s duplicate detection isn’t a clean system. Mueller described it as fuzzy — weighing multiple overlapping signals at once.
Here’s what can cause Google to override your canonical preference:
1. Exact Duplicate Content
Both pages are fully identical.
With no meaningful signal to separate them, Google picks based on other authority cues — and it may not choose the one you want.
2. Substantial Content Overlap
A large portion of the main content is shared across two URLs.
Common examples: the same article on two blogs, or syndicated content without a canonical tag pointing back to the original.
3. Too Little Unique Content
When a page has very little original copy but heavy repeated elements — navigation, headers, footers — Google may see it as effectively the same as other pages on the site.
4. URL Parameter Patterns
If /page?tmp=1234 and /page?tmp=3458 return the same content, Google assumes /page?tmp=9339 does too.
Mueller flagged this as particularly tricky with multiple parameters. Google has to guess whether /page?tmp=1234&city=detroit is also a duplicate — and sometimes gets it wrong.
5. Mobile Version Used for Comparison
Google evaluates pages using their mobile version.
If you’re checking canonicals on desktop, you may be looking at a completely different version than what Google actually assessed.
6. Googlebot Sees a Different Page Than Users
Canonical decisions are based on what Googlebot receives — not what users see.
If your crawled version differs from the live version, the canonical outcome may look incorrect even when Google’s logic is internally consistent.
7. Bot Challenges or Error Pages Served to Googlebot
If Googlebot is shown a CAPTCHA, a loading screen, or any generic error-like page, that content is likely identical to pages Google has seen across thousands of other sites.
Result: your page gets flagged as duplicate content.
8. JavaScript That Can’t Be Rendered
When Google can’t render a JS-dependent page, it falls back to the base HTML shell.
That skeleton is often identical across many URLs on the same site — which triggers duplicate detection even when the actual rendered content is unique.
9. System Ambiguity
Sometimes Google’s system simply misclassifies a URL as duplicate because it seems “misplaced.”
Mueller acknowledged these cases exist, but noted most are harmless in practice.
Why Google Gets It Wrong Sometimes
Mueller was refreshingly honest here.
He said borderline misclassifications are generally low-risk because truly damaging errors are rare. If users can still find the content — even via the wrong URL — the practical SEO damage is usually limited.
But when Google consistently canonicalises the wrong URL, the consequences are real: ranking signals go to the wrong page, and the preferred URL struggles even with strong content.
The duplicate without user-selected canonical error in Search Console is one of the most common signs of this problem — and it almost always traces back to one of the nine scenarios above.
What To Do About It
Mueller’s breakdown points to clear action steps:
Check mobile, not desktop when auditing canonicals manually. Google isn’t looking at what you’re looking at.
Make sure Googlebot sees the same page as users. Avoid bot challenges, thin interstitials, or alternate content served to crawlers.
Audit your JavaScript rendering. If main content is JS-dependent, confirm Googlebot can actually render it — or your canonical tag may never register.
Document your URL parameters. Know which combinations produce unique content vs. duplicates, and handle them explicitly.
Internal link to your preferred URL. Consistent internal linking is one of the clearest authority signals you can give Google.
The rel=canonical tag is powerful — but it works within a broader system that weighs content similarity, rendering, crawl behavior, and URL patterns all at once.
Getting the right canonical outcome means aligning all those signals. Not just adding a tag and hoping Google follows it.
Deepan Paul
AuthorDeepan Paul is a SEO Lead with four years of experience helping brands recover, scale, and sustain organic growth across global B2B, B2C, and D2C markets. He is recognized as a ranking revival expert, specializing in diagnosing traffic drops, fixing indexing and technical issues, and restoring lost search visibility. He has managed international clients and led cross-functional teams, aligning SEO strategies with core business goals. His expertise spans technical SEO, content strategy, indexing optimization, and building scalable growth systems that adapt to constant algorithm changes. Beyond execution, Deepan is also an SEO trainer and guest speaker, mentoring professionals and contributing insights to leading digital marketing publications. His approach is focused on sustainable, system-driven SEO that delivers long-term results rather than short-term gains.