Duplicate without user-selected canonical
Google found pages it treats as copies, none of them named a preferred URL, so it picked one. Usually nothing to fix — unless it picked the wrong one.
Duplicate without user-selected canonical means Google found two or more URLs it treats as the same page, none of them says which one is the original, and Google picked one of the others to index. The URL in this report is not indexed by itself; its content usually is, under the URL Google chose. Google’s own Page indexing help calls it “not an error, but … working as intended, because Google does not serve duplicate pages.”
So the question is not how to make the report empty. It is whether Google picked the URL you would have picked. Most of the time it did, and there is nothing to do. When it did not, the fix is to say which URL you prefer, in a way Google actually listens to.
First, see which URL Google chose
Open the URL from the report in URL Inspection and expand Page indexing. Two lines matter:
| Line | What it tells you |
|---|---|
| User-declared canonical | What your page says. Here it reads None: that is the “without user-selected” part |
| Google-selected canonical | The URL Google indexed instead |
If the Google-selected canonical is the version you want people to land on, you are done. The report is describing a duplicate that was handled correctly.
If it is a URL you would never choose, or the URL in the report is the page you are trying to rank, read on.
When it is genuinely nothing
| The URL in the report | Why it is fine |
|---|---|
The same page with ?utm_source=, ?ref= or other tracking parameters | Google indexed the clean URL. Correct |
A sort or filter view, such as ?sort=price | Same products, different order. One indexed version is right |
| Upper- and lower-case versions of one path | One page, one URL indexed |
| A print or “amp” version of an article | The main article is indexed |
Page 1 of a list reachable at both /blog and /blog?page=1 | One of them is enough |
In every row the content is in Google under a URL you are happy with. This status is not a penalty and does not cost the indexed version anything.
When it is a real problem
1. Google picked the wrong URL
The Google-selected canonical is an http:// URL, a www version you do not
use, a parameter URL, or a staging copy. Google weighs signals you may not know
you are sending: which version your internal links use, which one is in your
sitemap, which one other sites link to. Google’s guide on
consolidating duplicate URLs
also notes that a bad TLS certificate or an HTTPS-to-HTTP redirect makes it
prefer http “very strongly”.
2. Two different pages are being treated as one
Product variants that differ only by colour, location pages with the town name swapped, tag and category archives listing the same posts. Google is telling you it cannot see enough difference to index both. You have two honest options: make the pages genuinely different, or merge them into one and point the rest at it. Adding a canonical tag to each page pointing at itself does not make them less alike.
3. Your preferred version does not say it is preferred
The page you want indexed has no rel="canonical" at all, so every copy of it is
an equal candidate. This is the most common cause and the easiest to fix.
How to tell Google which URL you prefer
Google lists three signals, strongest first:
- A redirect. If a duplicate URL never needs to exist,
301it to the preferred one. This is the right answer forhttptohttpsand for the host you do not use. rel="canonical". Put<link rel="canonical" href="https://example.com/page">on the preferred page, pointing at itself, and on each duplicate, pointing at the preferred page. For a PDF or another non-HTML file, send the same thing as an HTTPLinkheader.- The sitemap. List only the preferred URLs. Google calls this a weak signal, so it backs up the other two rather than replacing them.
Then make everything else agree: internal links, navigation and the sitemap should all use the preferred URL. A canonical tag that points one way while your own links point the other is a contradiction Google may resolve against you.
Two things not to use. robots.txt stops Google reading a duplicate, so it
cannot see your canonical tag on it, and Google may still index the blocked URL
without its content. noindex removes that URL from Search entirely instead
of passing its signals to the version you want.
What success looks like
The URL in this report will not move to Indexed. It is a duplicate, and staying out of the index is correct. Success is one of two things:
- it moves to Alternate page with proper canonical tag, which means Google accepted your canonical and, in Google’s words, “there is nothing you need to do”; or
- it stays here, but URL Inspection now shows the Google-selected canonical you wanted.
If it moves to Duplicate, Google chose different canonical than user, Google saw your canonical and overruled it. Look at how different the two pages really are: Google says that if the declared canonical “is not similar to the current page”, it will never choose it.
When the answer is a different status
If the URL is not a duplicate at all and still is not indexed, start with why is my page not indexed. If the URL redirects rather than duplicating another page, it belongs in page with redirect, and if Google fetched a unique page and still declined it, see crawled – currently not indexed.
Checking a list of URLs
URL Inspection shows the Google-selected canonical for one URL at a time, and only on sites you have verified. To see which form of many URLs Google holds, the free index checker marks a URL as Found under its canonical URL when Google returned the same page without the tracking tag or other parameter you pasted. Before checking a long list, the bulk URL cleaner strips those parameters so you check each page once.