Skip to content
TurboIndex

Duplicate Without User-Selected Canonical: How to Fix It

Duplicate without user-selected canonical means Google found duplicate pages and picked the canonical for you. See how to find the duplicates and take control.

September 9, 20267 min read

"Duplicate without user-selected canonical" means Google found two or more URLs with the same or nearly the same content, you did not tell it which one you prefer, and it picked one on its own. The URL listed in the report is the one that lost, so it is not indexed. The fix is to find out what it duplicates, decide which URL should win, and then say so clearly with a canonical tag, a redirect, or both.

It is not a penalty. It is Google doing deduplication without your input. The risk is simply that its choice is not the one you would have made.

Step 1: find out what it duplicates

  1. In Indexing > Pages, click "Duplicate without user-selected canonical" and open one of the example URLs with the magnifier icon (Inspect URL).
  2. Expand Page indexing.
  3. Read two fields:
    • User-declared canonical: "None". That is the "without user-selected" part.
    • Google-selected canonical: the URL Google indexed in its place.

Now open both URLs side by side. In nearly every case you will recognise one of the patterns below.

Step 2: identify the pattern

Pattern Example of the duplicate pair
Protocol or host variants http://example.com/page and https://www.example.com/page
Trailing slash or letter case /page and /page/, /Page and /page
Index files /folder/ and /folder/index.html
Tracking parameters /page and /page?utm_source=newsletter
Sort, filter and view parameters /shoes and /shoes?sort=price&view=grid
Session or click IDs /page?sessionid=8f3a, /page?gclid=...
Print or alternative views /article and /article?print=1
Same item under several paths /mens/shoes/runner-x and /sale/runner-x
Pagination returning the same items /blog?page=1 and /blog
Staging or alternate domains staging.example.com/page, example.netlify.app/page
Files with no HTML head PDFs or other documents duplicated at several URLs
Near-identical templates Location pages where only the city name differs

The first ten are technical duplicates: the same page reachable at more than one address. The last one is different in kind: separate pages that Google judges to be the same content. They need different fixes, so be sure which you have.

One more check before you fix anything: look at the page source of the inspected URL. If a canonical tag is present but Search Console says "None", Google did not see it. Common reasons:

  • The tag is outside <head>, or something invalid earlier in the head (an unclosed tag, a <div> or <img> injected by a script) made Google end the head early.
  • The tag is injected by JavaScript and rendering failed or differed.
  • There are several canonical tags with different values, in which case Google ignores them.
  • The href is relative or malformed.

The canonical checker shows what is declared in the HTML and in the HTTP Link header for any URL.

Step 3: choose the fix

Fix A: redirect, when the duplicate URL has no reason to exist

For protocol, host, slash, case and index file variants, a server-side 301 redirect to the preferred version is the cleanest answer. Users and crawlers all end up on one URL.

# Nginx: force https and www
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://www.example.com$request_uri;
}

After a redirect is in place, the URL moves to "Page with redirect" in the report, which is a normal state. The redirect rule generator produces rules for Apache, Nginx, Cloudflare and Netlify.

Fix B: canonical tag, when the duplicate URL must keep working

Parameter URLs, print views and multiple category paths have to stay reachable, so they get a canonical pointing to the main version:

<!-- on https://www.example.com/shoes?sort=price -->
<link rel="canonical" href="https://www.example.com/shoes">

And every canonical page should point to itself. A self-referencing canonical on all indexable pages is the simplest prevention, because any parameter variant of the page then carries the right hint automatically:

<!-- on https://www.example.com/shoes -->
<link rel="canonical" href="https://www.example.com/shoes">

Rules for the tag:

  • Absolute URL, including protocol and host.
  • One per page, inside <head>, in the initial HTML if at all possible.
  • Point to a URL that returns 200, is indexable and is not itself canonicalised somewhere else.

After this fix the duplicates show as Alternate page with proper canonical tag. That status is fine. The goal is not an empty report. The goal is that you made the choice.

Fix C: HTTP header, for PDFs and other non-HTML files

Files have no <head>, so send the canonical in the response header:

Link: <https://www.example.com/downloads/whitepaper.pdf>; rel="canonical"

This is also how you tell Google that the HTML page, not the PDF copy of it, should be the indexed version.

Fix D: make the pages different, or merge them

If Google is folding together pages you consider distinct (city pages, product variants, thin category pages), a canonical tag is the wrong instrument. A self-referencing canonical on each does not make near-identical content unique, and Google may overrule it. Your options are:

  • Add substantive, page-specific content so each page stands on its own.
  • Merge them into one stronger page and 301 redirect the others.
  • Accept the consolidation if the variants have no separate search demand.

Fix E: keep staging and alternate hosts out

If the Google-selected canonical is on a staging or platform domain, or your live pages are losing to one, protect the non-production host with HTTP authentication. That is more reliable than robots.txt, which prevents crawling but does not stop known URLs from being indexed.

Step 4: align every other signal

Google treats rel="canonical" as a strong hint, not a command. It weighs it together with redirects, internal links, sitemap inclusion, HTTPS preference and hreflang. If those contradict the tag, the tag can lose, and you end up with the sibling status "Duplicate, Google chose different canonical than user".

Checklist for the URL you want indexed:

  • It has a self-referencing canonical.
  • All duplicates canonicalise or redirect to it.
  • Internal links point to it, not to parameter or alternate-path versions.
  • It is the version listed in the XML sitemap, and the duplicates are not.
  • It is served over HTTPS.
  • hreflang annotations, if any, reference it and not the duplicates.

Internal links are the signal most often forgotten. If your navigation links to /shoes?view=grid on every page, do not be surprised when Google prefers that version. How Google weighs these signals is covered in the canonical tags guide.

What not to do

  • Do not block the duplicates in robots.txt. Google cannot read a canonical tag on a page it may not fetch, so consolidation stops and the blocked URLs can still be indexed without content.
  • Do not noindex duplicates as a way of canonicalising. Google advises against using noindex to pick a canonical within a site. A canonical tag or redirect passes signals to the main URL, and noindex drops the page entirely.
  • Do not combine noindex with a canonical to another page. The two send conflicting messages.
  • Do not use the Removals tool. It hides a URL from results for about six months and does nothing for canonical selection.
  • Do not canonicalise every paginated page to page 1. Page 2 is not a duplicate of page 1. It lists different items, and canonicalising it away can hide those items from Google.

Step 5: validate and wait

  1. Inspect a fixed URL and click Test live URL. The live result should show your canonical under User-declared canonical. (The Google-selected canonical is only shown for the indexed version, so it will read "Only determined after indexing" in a live test.)
  2. Back in Indexing > Pages, open the issue and click Validate fix.
  3. Google recrawls the affected URLs gradually. Validation typically takes up to about two weeks according to Google, and sometimes much longer. Duplicates are recrawled less often than canonical pages, so the long tail can take a while to clear.

The count for this status should fall while "Alternate page with proper canonical tag" or "Page with redirect" rises by a similar amount. That is what success looks like.

How much effort does this deserve?

Be pragmatic. Decide by what the Google-selected canonical is:

Situation Priority
Google picked the URL you would have picked anyway Low. Add canonicals for hygiene when convenient.
Google picked a parameter, HTTP, staging or otherwise ugly URL High. This is the version showing in search results.
Tens of thousands of duplicate URLs on a large site High. It wastes crawling that your real pages need. See faceted navigation and indexing.
Distinct pages being merged by Google High, but it is a content task, not a tag task.

If you are unsure whether the page you care about is indexed at all, or only a duplicate of it, start with why is my page not indexed.

Frequently asked questions

What does Duplicate without user-selected canonical mean?
Google considers the page a duplicate of another page, the page does not declare a preferred canonical, and Google has chosen the other page as the canonical. The inspected URL is therefore not indexed. The content is indexed under the URL Google picked.
Is Duplicate without user-selected canonical bad for SEO?
Not by itself. There is no penalty for duplicate content of this kind. It becomes a problem when Google picks a URL you do not want in search results, when thousands of duplicate URLs waste crawling, or when pages you consider unique are being treated as duplicates.
How do I see which URL Google chose as canonical?
Inspect the URL in Search Console and expand Page indexing. The Google-selected canonical field shows the URL Google indexed in its place. The User-declared canonical field will show None for this status.
Will adding a canonical tag fix it?
It changes the status, since a page with a canonical pointing to another URL is reported as Alternate page with proper canonical tag, which is a healthy state. If you want the inspected URL itself indexed, a self-referencing canonical helps only if redirects, internal links and the sitemap support the same choice.

Keep reading