Check a URL
ENRU
Open the bot Open bot

"Google chose different canonical than user": what it means and how to fix it

You told Google which URL is the main one, and Google picked another. This status is confusing because nothing is broken: Google simply weighed your canonical as one hint among several. Here's why it happens and how to get your choice respected.

Updated 6 min readIndex Forge

"Duplicate, Google chose different canonical than user" means Google considers the page a duplicate and indexed a different URL than the one in your canonical tag. A canonical is a hint, not a command. Google overrides it when other signals point elsewhere: internal links, redirects, sitemaps, hreflang or near-identical content. Fix it by making every signal agree on one URL, or by making the pages genuinely different.

Why Google overrides a canonical

Google picks canonicals from several signals. If they disagree, your tag may lose.

SignalConflict example
Internal linksMenus link to /page?ref=nav, the canonical says /page
SitemapThe sitemap lists the http or non-trailing-slash version
RedirectsThe canonical URL itself redirects somewhere
hreflangLanguage versions point to URLs that don't match the canonicals
ContentTwo pages are near-identical, and Google prefers the one with more links
HTTPSGoogle generally prefers https over http

Is it a problem?

Not always. If Google picked a version you're happy with (for example the https one instead of http), it's fine. It's a problem when:

  • The chosen URL is the wrong language or region version.
  • It's a parameter or tracking URL you don't want in results.
  • Two different pages are being treated as duplicates, so one of them never ranks.

How to fix it, step by step

  1. Inspect the URL. In URL Inspection, compare "User-declared canonical" and "Google-selected canonical".
  2. Decide which URL should win. Usually the clean, https version you link to.
  3. Point every internal link at it. Menus, breadcrumbs, related posts, pagination.
  4. List only that URL in the sitemap.
  5. Redirect true duplicates to it with a 301 when they serve no other purpose.
  6. Make sure the canonical URL returns 200 and doesn't redirect.
  7. If the pages are different, make the difference obvious in content, and give each its own canonical.
  8. Request reindexing of the page you want, then wait for Google to recrawl both.
StatusMeaning
Alternate page with proper canonical tagYou pointed to another URL, Google agreed. Fine.
Duplicate without user-selected canonicalNo canonical set; Google chose one
Duplicate, Google chose different canonical than userYou set one; Google chose another

The same logic applies to pages that link to you. If a host's page has its canonical pointing elsewhere, Google indexes the other URL. Make sure your link is on the canonical version, and send that one for indexing. @IndexForgeBot flags pages whose canonical points to another address, so you don't pay to index a copy.

Checklist

  • Canonical tag points to a 200 URL that doesn't redirect
  • Internal links use exactly that URL
  • Sitemap lists exactly that URL
  • Duplicates redirect or are clearly different
  • hreflang references match canonicals
  • Reindexing requested after the changes

How Google chooses a canonical

When Google finds several URLs with the same or very similar content, it groups them and picks one to index. Signals it weighs include redirects, the canonical tag, internal and external links, sitemap entries, hreflang, HTTPS and how the URLs look. The canonical tag is a strong hint, but it can be outvoted if the other signals consistently point elsewhere.

Canonical tag syntax and common errors

<link rel="canonical" href="https://yoursite.com/page/">
ErrorProblem
Relative URLWorks, but easy to break; prefer absolute URLs
Several canonical tagsGoogle may ignore all of them
Canonical in the bodyIgnored; it must be in the head
Canonical to a redirect or 404Weak or ignored
http canonical on an https siteConflicts with the HTTPS preference

Canonicals and pagination

Each paginated page should usually be canonical to itself, not to page 1. Pointing every page to the first one tells Google the later pages are duplicates, and items linked only from them can be discovered more slowly.

Canonical vs 301 vs noindex

ToolUsers seeGoogle indexesUse when
301 redirectThe target pageThe targetThe duplicate shouldn't exist anymore
CanonicalBoth pagesUsually the canonicalBoth versions must stay available
noindexThe pageNothingThe page shouldn't be in search at all

How to verify the fix

After aligning the signals, use URL Inspection on both URLs and request indexing for the one you want. Over the following weeks, "Google-selected canonical" should switch. If it doesn't, look again at internal links: they're the signal sites get wrong most often.

Cross-domain canonicals

A canonical can point to another domain, for example when the same article is republished on a partner site. Google treats it as a hint here too. If you syndicate content, the copies should point to your original, and your original should be the version with the most internal and external links.

Parameters and tracking URLs

UTM tags, session IDs and sort parameters create duplicate URLs. Canonicals pointing to the clean URL handle most of them. Better still, don't link internally to parameter URLs at all, so Google rarely discovers them.

When to let Google choose

If Google picks the https version over http, the www version you redirect to, or the cleaner of two URLs, it's usually doing the right thing. Spend effort only where its choice hurts: wrong language, wrong region, or a page that should rank on its own.

Debugging steps when nothing changes

  1. Crawl your site and list every internal link to the duplicate URL.
  2. Check the sitemap for the duplicate.
  3. Look for redirects that point to the duplicate.
  4. Compare the content of both pages. If they're nearly identical, Google will keep treating them as one.
  5. Consider a 301 if the duplicate doesn't need to exist.

Canonicals and hreflang together

On multilingual sites, each language version should be canonical to itself, and hreflang should connect them. A common mistake is pointing every version's canonical to the English page. Google then treats the other languages as duplicates and indexes only one, which is exactly when "Google chose different canonical" shows up on translated pages.

Duplicates across protocols and hosts

  • Redirect http to https with a 301.
  • Pick www or non-www and redirect the other.
  • Pick trailing slash or not and redirect the other.
  • Use the same version in canonicals, links, sitemaps and hreflang.

Most "different canonical" problems on small sites come from one of these four being inconsistent.

Reading the URL Inspection result

URL Inspection shows two values side by side: "User-declared canonical" and "Google-selected canonical". Three combinations matter:

DeclaredSelectedMeaning
This URLThis URLEverything agrees; the page can be indexed
This URLAnother URLGoogle overrode you; signals point elsewhere
NoneAnother URLGoogle found a duplicate on its own and picked the other one
Another URLAnother URLYou asked for this; the page is a duplicate by design

The second row is the one this guide is about. The third row usually means you have duplicates you didn't know about, often parameters, print versions or tag pages that repeat full posts.

Signals Google weighs, roughly in order

  1. Redirects. A 301 is the strongest hint: the old URL is gone.
  2. rel="canonical". A strong hint when the pages really are duplicates.
  3. Internal links. The version your own site links to most looks like the main one.
  4. Sitemap inclusion. A weaker hint, but contradictions with it confuse Google.
  5. HTTPS and clean URLs. Google prefers https and shorter URLs without parameters, other things being equal.

When these signals disagree, Google makes its own call. Most fixes come down to making every signal point at the same URL.

A worked example

A shop lists a product at /shoes/runner-x and also at /sale/runner-x. Both pages declare themselves canonical, the menu links to the sale URL during a promotion and the sitemap lists the shoes URL. Google sees two near-identical pages and, because the internal links favour the sale URL, picks it. After the promotion ends, the sale URL is removed and the product drops out of the index for a few weeks while Google re-evaluates. The fix: one product URL, a canonical on any variant pointing to it, menus linking to it, and the sale page as a filtered list rather than a copy.

How long the fix takes to show

Google needs to recrawl both the duplicate and the preferred page to see that the signals now agree. On active sites that takes days to a few weeks. Use "Validate fix" in Search Console and avoid changing the setup again during that time.

Common questions

How long until Google accepts my canonical?

Until it recrawls the pages involved and sees consistent signals. Often weeks for large sites.

Can I force Google to use my canonical?

No, but a 301 redirect from the duplicate is a much stronger signal than a tag.

Why are two different pages treated as duplicates?

Usually because templates dominate and the unique content is small. Add distinct, substantial content to each.

Have links stuck outside the index?The bot checks every URL first and charges $0.01 only for links that go through. 10 free to start.

Open the bot

Your next 10 links
are on us

Open the bot, paste links and see what passes the check. No card, no sign-up form.

Open the bot · 10 links free