Duplicate, Google Chose Different Canonical Than User
You declared a canonical, but Google overrode it and selected a different URL, the clearest proof that rel=canonical is a hint and not a directive.
Among every URL that could show the same content, this is the one Google decides to trust.
A canonical URL is the single, preferred web address that a search engine treats as the authoritative version of a page when multiple URLs lead to the same or substantially similar content. It's a concept, not a piece of markup — the canonical tag (rel=canonical) is one of the tools used to declare a canonical URL, but the canonical URL itself is the outcome: the actual URL that ends up representing a set of duplicates in search results and in ranking calculations.
This distinction matters because a canonical URL always exists for a given cluster of duplicate content, whether or not anyone declared one. If no rel=canonical tag, no redirect, and no other signal points to a preferred version, Google still has to decide which URL to treat as canonical in order to index and rank the content at all. Google's own documentation puts it plainly: when nothing is declared, "Google will identify which version of the URL is objectively the best version." A canonical URL, in other words, is always selected — the only question is whether you controlled that selection or Google made it for you.
Modern websites routinely generate several URLs for what is, in substance, one piece of content. A single product page might be reachable through a tracking parameter, a session ID, a category-path variation, a trailing slash or not, and both HTTP and HTTPS. None of that is unusual or a sign of a badly built site — it's largely unavoidable given how modern web platforms, analytics tools, and navigation systems work.
The problem isn't that duplicate URLs exist. The problem is what happens when search engines don't know they're duplicates of the same thing: instead of one URL accumulating all the links, shares, and relevance signals that content has earned, those signals get split across several URLs, none of which individually looks as strong as the content actually is. Mapping many duplicate URLs onto one canonical URL is how that fragmentation gets resolved — Google groups the duplicate set into a cluster, weighs the signals available for each member, and consolidates them onto the one URL selected as canonical. Everything else in the cluster is treated as an alternate, generally excluded from the index in favor of the canonical version.
Google canonicalization runs on a set of signals, and Google has been explicit that none of them are strictly required — a site can do fine without declaring a preference at all. But when signals are present, some carry more weight than others, and Google has described the relative strength of the major ones in its own words:
When these signals agree — the redirect, the canonical tag, the sitemap, and the internal links all point at the same URL — Google's selection almost always matches what you intended. When they conflict, for instance a declared canonical pointing at a URL with far fewer internal links than the page declaring it, Google can override the declared canonical and select a different URL, which is exactly the scenario behind the "Duplicate, Google chose different canonical than user" status in Search Console. That's the practical difference between a declared canonical URL — what you told Google to use — and a Google-selected canonical URL — what Google actually decided to use.
It helps to keep these two terms distinct even though they're closely related. The canonical tag is the mechanism: a specific line of HTML, <link rel="canonical" href="...">, placed in a page's <head>, or the equivalent HTTP Link header for non-HTML files. The canonical URL is the outcome: whichever URL ends up being treated as the authoritative one for a cluster of duplicates, regardless of how — or whether — that outcome was declared.
<link rel="canonical" href="https://www.example.com/product" />In that example, the tag is the instruction; https://www.example.com/product is the canonical URL it's declaring. But because rel=canonical is only a hint, the declared canonical URL and the actual, Google-selected canonical URL are not guaranteed to be the same thing. A page can carry a perfectly valid canonical tag and still not have its declared target chosen as canonical if other signals — a broken redirect chain, a noindex tag on the target, weaker internal linking — point Google elsewhere. Understanding a canonical tag means understanding the syntax; understanding a canonical URL means understanding the result that syntax is trying, but not guaranteed, to produce.
Google Search Console's URL Inspection tool is where the distinction between declared and selected canonical URLs becomes concrete and checkable. For any URL you inspect, the tool reports two separate fields: the "user-declared canonical," meaning whatever URL your rel=canonical tag, redirect, or other signal specified, and the "Google-selected canonical," meaning the URL Google actually chose to treat as canonical after weighing all available signals.
When those two fields match, it confirms Google is following your declared preference. When they differ, it's direct evidence that Google overrode your declaration — and it's the first place to look when a page isn't ranking or indexing the way you expect. The Page indexing report (formerly "Index Coverage," renamed by Google around mid-2022) surfaces related statuses at scale across a site, including "Duplicate without user-selected canonical" (no preference was declared at all) and "Duplicate, Google chose different canonical than user" (a preference was declared and overridden) — both of which are, at their core, about which URL ended up as canonical versus which one you asked for.
Because Google weighs multiple signals rather than obeying a single declaration, reliably getting the canonical URL you want means making every available signal agree, not just adding a rel=canonical tag and assuming it will be honored. In practice that means:
When all of these agree, the declared canonical URL and the Google-selected canonical URL converge, and URL Inspection in Search Console should show a match between the two.
No, though they're closely related. The canonical tag is the HTML markup, rel=canonical, that declares a preference. The canonical URL is the actual outcome: whichever URL ends up treated as authoritative for a set of duplicates, whether or not it matches what a canonical tag declared.
Google still selects one. Google's documentation states that when nothing is declared, it will "identify which version of the URL is objectively the best version" on its own, using signals like redirects, HTTPS, internal links, and content quality. You simply lose control over which URL that ends up being.
Use the URL Inspection tool in Google Search Console. It reports both the user-declared canonical (what you specified) and the Google-selected canonical (what Google actually chose), letting you compare the two directly.
Because rel=canonical is a hint, not a directive. Google weighs your declaration against other signals, including redirects, HTTPS, sitemap inclusion, and internal linking. If those signals point toward a different URL than the one you declared — for example, your declared target has weaker internal linking or isn't served over HTTPS — Google can override your declaration and select a different canonical URL.
Not necessarily. Cross-domain canonical URLs are technically supported and were historically used for syndicated content, though Google's recommendations around that specific use case have shifted over time. Within a single site, though, the canonical URL is almost always another URL on the same domain.
You declared a canonical, but Google overrode it and selected a different URL, the clearest proof that rel=canonical is a hint and not a directive.
A canonical tag that points a page at its own URL, the recommended baseline that removes ambiguity from parameter and variant URLs.
The reassuring Search Console status: your page correctly points to another canonical, and Google is consolidating it exactly as intended.