Duplicate Without User-Selected Canonical
The Search Console status that appears when Google finds a duplicate page but you haven't declared a canonical, so Google chooses one for you.
Google Search Console shows two canonicals for a reason: the one you asked for, and the one Google actually picked.
Open the URL Inspection tool in Google Search Console on almost any indexed page and you will see two separate fields: User-declared canonical and Google-selected canonical. They are not always the same URL, and the gap between them is one of the most misunderstood parts of technical SEO. I get asked about this constantly, so let's define both terms precisely.
The user-declared canonical is the URL you told Google to treat as the master copy. You declare it in one of three ways: a rel="canonical" link tag in the page's <head>, an HTTP Link header for non-HTML files like PDFs, or indirectly through 301 redirects and sitemap inclusion. This is your input. It is a request, not a command.
The Google-selected canonical is the URL Google actually chose to index and rank after evaluating that request alongside everything else it knows about the page cluster. This is Google's output. Most of the time the two match, and when they match, nothing about this distinction matters to you. But when they diverge, the Search Console report is telling you something important: Google looked at your signal and decided a different URL deserved to represent the group.
Understanding this pair matters because it reframes what rel=canonical actually is. It is not a switch you flip to control indexing. It is one input, submitted by the site owner, into a consolidation process Google runs on its own. Google's own documentation is blunt about this: rel=canonical is described as a strong signal, not a directive, and Google explicitly says a site "will likely do just fine" without specifying a canonical preference at all, because Google will identify what it considers the objectively best version on its own.
Both fields live in one place: the URL Inspection tool in Google Search Console. Paste or select a URL, and once the report loads, look under the "Indexing" or coverage details section for "User-declared canonical" and "Google-selected canonical" listed as separate rows. You can inspect any URL on a verified property this way, whether it is currently indexed or not.
Three outcomes are possible when you check:
That third case deserves its own explanation, because it confuses a lot of site owners. "User-declared canonical: None" does not mean something is broken. It means Google did not find any canonical signal from you for this specific URL — no self-referencing rel=canonical tag, no redirect, nothing pointing this URL elsewhere. That is a completely normal, common state, especially on pages where you never added an explicit canonical tag because the page was always meant to stand on its own. It only becomes worth attention when the page is unexpectedly grouped with duplicates and Google has picked a different URL to index in its place — in which case adding a self-referencing canonical tag is a reasonable fix.
A related nuance: sitemap inclusion counts as a weak signal toward your declared preference, even without a rel=canonical tag. So a URL can show a declared canonical based purely on its sitemap presence, and that URL can still lose to a different Google-selected canonical if stronger signals point elsewhere.
The core fact to internalize is this: rel=canonical is a hint, not a directive. Google has said so explicitly, and the existence of the Google-selected canonical field in URL Inspection is the mechanism that proves it. If rel=canonical were binding, there would be no need for Google to expose a second, independently determined field — declared and selected would always be identical by definition.
Instead, Google treats your declaration as one signal among several, weighs it against the others, and picks whichever URL it judges to be the best representative of the duplicate cluster. Google has described the relative strength of these signals in its own documentation:
When these signals point in the same direction, Google's choice lines up with yours and the fields match. When they conflict — for example, your rel=canonical points to URL A, but most of your internal links point to URL B, and B is also the one with the HTTPS advantage or the cleaner path — Google can, and does, override your declaration and select B instead.
Other common causes of a mismatch include canonical chains or loops (A points to B, B points back to A), a declared canonical target that itself is noindexed, blocked by robots.txt, returning a 404, or redirecting elsewhere, and duplicate content that Google's algorithms judge to be thinner or lower quality than the alternative version. In each of these cases, Google is not malfunctioning. It is doing exactly what its documentation says it will do: evaluating the objectively best version of a duplicate cluster rather than blindly obeying a tag.
If you inspect a URL and see a mismatch between the two fields, you are very likely looking at what Search Console's Page Indexing report labels "Duplicate, Google chose different canonical than user." This status is, in effect, the aggregate version of the exact comparison you make one URL at a time inside URL Inspection — it is the clearest proof point in all of Search Console that rel=canonical does not force an outcome.
Seeing this status, or this mismatch, is not automatically a problem. It is a prompt to investigate, not a red alert. Ask yourself two questions. First: is Google's choice actually correct? In a meaningful share of cases, site owners discover Google picked the better URL — the one with cleaner formatting, more inbound links, or fewer parameters — and the declared canonical was simply pointed at the weaker page by mistake, by an outdated template, or by inherited configuration from a migration. If that is what happened, the fix is often to update your rel=canonical to agree with Google rather than fight it.
Second, if your originally declared URL genuinely is the one you want indexed, the mismatch tells you your signals are not aligned. Common misalignments include a sitemap that still lists the non-preferred URL, internal links across the site that point to the non-preferred URL, a redirect somewhere in the chain that contradicts the rel=canonical tag, or a declared target that fails a basic health check — it is not returning a clean 200 status, it is blocked, or it carries a noindex tag. Google will not select a canonical target that it cannot fully trust to serve users, no matter how clearly you declared it.
This status, along with its close sibling "Duplicate, submitted URL not selected as canonical" — which describes the same phenomenon for URLs actively submitted through an XML sitemap — should be reviewed URL by URL rather than dismissed in bulk. A handful of overridden canonicals across a small pattern of pages (say, one template) usually points to one root cause you can fix once.
You cannot force Google to use a specific canonical the way you can force a redirect to work. But you can make your preferred URL overwhelmingly the obvious choice by aligning every signal Google actually weighs, rather than relying on the rel=canonical tag alone.
Start with consistency across every signal type:
Beyond alignment, strengthen the target itself. The declared canonical must return a clean 200 status, must not be noindexed or blocked by robots.txt, and should not itself redirect anywhere. It should also be, in Google's judgment, the best version of the content — the most complete, least boilerplate-heavy, best-linked copy of the page. If a thinner or less-linked page is what you are declaring as canonical, Google has reasonable grounds to override you even when every technical signal is textbook-correct.
None of this guarantees Google will comply — it never does, by design. But making every signal tell the same story is the closest thing to leverage that exists, and in practice it resolves the great majority of mismatches.
Checking user-declared versus Google-selected canonical takes under a minute per URL:
For a sitewide view instead of a one-URL-at-a-time check, use the Page Indexing report (found under Indexing > Pages) and look for the "Duplicate, Google chose different canonical than user" and "Duplicate, submitted URL not selected as canonical" rows. Each gives you a sample list of affected URLs you can inspect individually using the same URL Inspection workflow. Re-check after making changes; Google needs to recrawl and reprocess the URL before the Google-selected canonical field updates, which can take anywhere from days to weeks depending on the site's crawl frequency.
It means Google found no canonical signal from you for that specific URL — no rel=canonical tag, no redirect pointing elsewhere, and no sitemap-based signal. This is normal for pages that were always meant to stand alone. It only needs attention if the page is being grouped with duplicates and Google has selected a different URL to index instead of this one, in which case adding a self-referencing rel=canonical tag is a reasonable fix.
No. rel=canonical is a hint, and Google has stated plainly that none of the canonicalization signals are directives it must obey. What you can do is align every signal that feeds Google's decision — rel=canonical, internal links, XML sitemap, redirects, and HTTPS — so your preferred URL is the obvious, uncontested choice. That approach resolves most mismatches, but it is persuasion, not a guarantee.
Not automatically. It is a prompt to investigate, not an error by default. In many cases Google's pick is actually the better URL, and the fix is to update your own declaration to agree with it. It becomes a real problem only when the page you wanted indexed is being suppressed in favor of a weaker duplicate, which usually traces back to conflicting signals like internal links or a sitemap that disagree with your rel=canonical tag.
They describe different starting conditions. "Duplicate without user-selected canonical" means you never declared a canonical preference at all, so Google picked one entirely on its own. "Duplicate, Google chose different canonical than user" means you did declare a preference, explicitly, and Google evaluated it and overrode it anyway. The second status is the clearer demonstration that rel=canonical does not bind Google's final decision.
Use the URL Inspection tool. Enter or select the URL, let the report load, and look in the indexing details section for two separate lines: "User-declared canonical" and "Google-selected canonical." You can inspect any URL on a verified property individually, or start from the Page Indexing report's duplicate-status rows to find a batch of affected URLs to check one by one.
The Search Console status that appears when Google finds a duplicate page but you haven't declared a canonical, so Google chooses one for you.
The reassuring Search Console status: your page correctly points to another canonical, and Google is consolidating it exactly as intended.
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.