GSC status
How to fix “duplicate without user-selected canonical”
Google crawled more than one URL with substantially the same content and you did not tell it which one is canonical — missing tag, conflicting tags, or a tag Google ignored. It picked a winner. The URL in this bucket is the loser.
What this status actually means
Google-selected vs user-declared
URL Inspection shows both. On this status the user-declared canonical is missing, points at this URL while a duplicate exists, or disagrees with itself across copies. Google-selected canonical is the address that made it into the index.
Our diagnose check
When we fetch a tracked URL, we read
rel=canonical and compare it to the submitted address. If they differ, the next action is: fix the tag, or submit the canonical URL instead — submitting this address will not index it.Cause → check → fix
These checks are the canonical branch of our per-URL diagnose logic — not a generic “add a canonical tag” paragraph. We do not publish recovery rates; they go stale and they imply a promise nobody can keep.
| Cause | Check | Fix |
|---|---|---|
| No rel=canonical, or several copies each claiming to be canonical | View-source the URL you submitted and every near-copy (http/https, www, trailing slash, parameters). Note whether a rel=canonical exists and whether every copy names the same href. |
Put one self-referencing canonical on the URL you want indexed. Remove or 301 the extras. Then submit that URL, not the duplicates. |
| HTTP and HTTPS, or www and non-www, serving the same body | URL Inspection → Google-selected canonical. Compare scheme and host to the URL you submitted. Our diagnose path normalises both sides before comparing; a scheme mismatch is enough to fail. | Pick one host and scheme. 301 the rest. Self-canonical the survivor. |
| Session, sort, or printer URLs duplicating a clean URL | In the Pages report, open an affected example. If the inspected URL has parameters and Google-selected canonical is the clean path, you are submitting the wrong address. | Stop submitting parameter variants. Canonical them to the clean URL (or noindex them if they must stay reachable). |
| Theme and plugin emitting two different canonical hrefs | Fetch the page once and read the first canonical href in the HTML. Diagnose uses that href. If it is not the submitted URL, you will never index this address. | Leave a single canonical in the rendered HTML, matching the URL you want in the index. Re-inspect after the tag is consistent. |
The fix, in order
1
Read Google-selected canonical
Search Console → URL Inspection on the excluded URL. That is the address Google stored. Everything else is a duplicate in its view.
2
Make the live tag match that URL — or change which URL should win
If Google picked the right one, self-canonical it and 301 the rest. If it picked the wrong one, fix the tags and redirects so the URL you want is the only candidate, then request indexing on that URL.
3
Submit the winner, not the copies
Use URL Inspection → Request Indexing or the Indexing API on the canonical URL. Related: every submission method that still works.
Common questions
Related: All indexing issues · Alternate page with proper canonical tag · Crawled — currently not indexed · Discovered — currently not indexed · Soft 404 · Excluded by noindex tag · Blocked by robots.txt
Where do I see this in Search Console?
Indexing → Pages → Why pages aren't indexed → Duplicate without user-selected canonical. Open any example, then URL Inspection. The important line is Google-selected canonical: that is the URL Google stored instead of the one you submitted.
Is this the same as “alternate page with proper canonical tag”?
No. This status means you did not give Google a usable canonical, so it guessed. Alternate page with proper canonical tag means you did set one, and Google is honouring it. Different cause, different fix.
If I submit the duplicate again, will it index?
Not while Google still considers it a duplicate of another URL. Submission asks Google to look. It does not override a canonical decision. Fix the tags (or 301 the extras), then submit the URL you actually want in the index.
Does IndexRanger guarantee the URL will index after I fix the canonical?
No. We submit and measure. Nobody can guarantee Google indexing.
Submit the canonical URL. Then measure.
We send the address you choose and re-inspect Google's coverage state on a schedule. 25 URLs free, no card.
Start free