# Duplicate without user-selected canonical: what it means and how to fix it

> "Duplicate without user-selected canonical" in Search Console means Google sees the page as a copy of another URL, the page names no canonical, and Google indexed the other URL. When to act and how.

Updated 2026-09-26 · Technical SEO · HTML version: https://getreport.app/guides/duplicate-without-user-selected-canonical

"Duplicate without user-selected canonical" is a reason in Google Search Console's Pages report. It means Google considers the URL a duplicate of another page, the URL does not declare a canonical of its own, and Google chose the other URL to index instead. The page is not indexed on its own, but its content is usually indexed under the other URL, so in many cases nothing is lost. It needs a fix only when the URL Google left out is one you want in search, or when the list shows a pattern of duplicates you can remove at the source. This guide shows how to tell the two apart and how to fix each pattern. For how canonicals work in general, read [canonical tags explained](https://getreport.app/guides/canonical-tags-explained).

## Quick answer

- **It is a "Not indexed" reason, not an error.** Google found a duplicate with no canonical tag and picked another URL as the canonical.
- **Inspect a few examples** with URL Inspection: "User-declared canonical: None" and a "Google-selected canonical" that is a different URL.
- **If Google's choice is right, the page is fine.** Remove the duplicate at the source if it is avoidable (a 301 for host and slash variants), or add a canonical pointing at the chosen URL.
- **If this URL should be indexed,** give it a self-referencing canonical, make its content clearly distinct, link to it internally and list it in the sitemap.
- **Fix patterns, not URLs.** Hundreds of rows usually come from two or three causes: parameters, variants, feeds or archives.
- **Expect weeks, not days,** for the count to change: Google updates it as it recrawls the URLs.

## What the status means

Google's help text for the reason is short: the page is a duplicate of another page, although it does not indicate a preferred canonical page. Three things are true at once:

1. **Google grouped this URL with others** because the content is the same or nearly the same.
2. **The URL has no canonical.** No `<link rel="canonical">` in the HTML and no canonical `Link` header.
3. **Google chose another URL** from the group as the canonical and indexed that one.

The report lists the URLs Google left out, not the one it kept. That is why the list often looks alarming: it is full of addresses that appear to be your pages, but each one's content is usually in the index under another address.

### Where it sits next to the other canonical statuses

| Status | Your page's canonical | What Google did | Usually |
| --- | --- | --- | --- |
| Duplicate without user-selected canonical | None | Picked another URL | Fine if Google's pick is right |
| Duplicate, Google chose different canonical than user | Names a URL | Picked a different URL | A signal disagrees with your tag |
| Alternate page with proper canonical tag | Names another URL | Agreed with you | Expected; no action |

A **non-canonical URL** is any address in such a group that Google did not choose: the `http` or `www` variant, the URL with `?utm_source=`, the sorted view. Having them is normal; linking to them or listing them in your sitemap is what causes trouble.

## Is it a problem?

Ask one question for each pattern in the list: **is the URL Google chose the one you want people to land on?**

- **Yes.** The duplicate is left out and the right page is indexed. Nothing is broken. Tidying up is optional but worthwhile when the duplicate is avoidable, because it saves crawling and keeps the report readable.
- **No, Google chose the wrong URL.** For example, it indexed `http://` instead of `https://`, or the parameter version instead of the clean one. Fix it with redirects and a canonical on the right URL.
- **No, this URL is a different page** that Google mistook for a duplicate. For example, two product variants or two city pages. Make the content distinct, or accept that they are one page and merge them.

## How to diagnose it, step by step

### 1. Export the examples

In Search Console, open Indexing → Pages, click "Duplicate without user-selected canonical" in the "Why pages aren't indexed" table, and export the example URLs. The export is capped at 1,000 rows, which is enough to see the patterns.

### 2. Group them by pattern

Sort the list and look for what the URLs share: a parameter (`?sort=`, `?utm_`, `?replytocom=`), a path (`/feed/`, `/tag/`, `/print/`), a host (`http://`, `www.`), a trailing slash, or a template (products, locations). Most sites have two or three patterns covering nearly all rows.

### 3. Inspect one URL per pattern

Paste one example into URL Inspection. In the indexed result, "User-declared canonical" shows **None**, and "Google-selected canonical" shows the URL Google chose. That second URL answers the question above. Note that the live test cannot tell you which canonical Google will select; only the indexed data shows it.

### 4. Check your own signals

> **Free tool:** [Canonical checker: free canonical tag test](https://getreport.app/tools/canonical-checker): Free canonical checker: see which URL a page declares as canonical, whether it answers 200, and whether redirects, www and the trailing slash agree with it.

Run the canonical checker on the example URL and on the URL Google chose. It shows every canonical tag on the page (so you can confirm there is none, or find one that only appears after JavaScript), whether the canonical target answers 200, and whether the `http` and `www` variants redirect or serve their own copy. A variant that "serves its own copy" is a duplicate you can remove with one server rule.

> **Check: Canonical tag is present.** Without a canonical URL, search engines may index duplicate versions of this page (with and without trailing slash, with UTM parameters) and split its ranking signals.
>
> 1. Add <link rel="canonical" href="https://your-site.com/page/"> in <head>.
> 2. In WordPress, Yoast or Rank Math add this automatically: check it is not disabled for this page.

> **Check: Only one of www and non-www serves the page.** When the www and non-www addresses both return the page, search engines see two copies of every URL and split links and rankings between them.
>
> 1. Pick one host as canonical and 301-redirect the other to it, keeping the path (most hosts and CDNs have a one-click setting for this).
> 2. Make sure the canonical tag on every page uses the chosen host.

> **Check: Internal links use trailing slashes consistently.** /shop/ and /shop are two different URLs to a search engine. Linking to both styles creates duplicate pages and splits their signals.
>
> 1. Choose one style (with or without trailing slash) and redirect the other to it with a 301.
> 2. Update internal links and the sitemap to use the chosen style everywhere.

## Fixes by pattern

| Pattern in the list | Cause | Fix |
| --- | --- | --- |
| `http://` or `www.` versions | Both hosts or protocols answer 200 | 301 to the preferred version in one hop |
| With and without trailing slash | Both forms answer 200 | 301 one form to the other |
| `?utm_source=`, `?gclid=`, `?fbclid=` | Tracking links crawled | Self-referencing canonical on every page, which also covers parameter copies |
| `?sort=`, `?view=`, `?page=1` | Sort and view options | Canonical to the clean URL; link to it without the parameter |
| Filter combinations | Faceted navigation | Canonical or robots.txt block for filters without demand |
| `/feed/`, `/comments/feed/` | WordPress feeds | Usually leave as is; feeds are not pages to index |
| `?replytocom=` | WordPress comment reply links | Canonical on posts (SEO plugins add it); or disable threaded comment links |
| `?p=123`, `/attachment/…` | WordPress short links and attachment pages | Canonical, and redirect attachment pages to the file or post |
| `/index.html`, `/index.php` | Default document reachable by name | 301 to the directory URL |
| Uppercase and lowercase paths | Case-insensitive server | 301 to lowercase |
| Product in two category paths | Shop categories | One product URL; canonical and internal links point to it |
| Similar pages (variants, locations) | Near-identical content | Differentiate the content or merge |

The fastest fix for most sites is to make sure **every indexable page carries a self-referencing canonical**. Any copy of that page with extra parameters then carries the same tag and moves to "Alternate page with proper canonical tag", which states your choice rather than leaving it to Google. For parameters and filters in depth, see [faceted navigation and parameter URLs](https://getreport.app/guides/faceted-navigation-and-parameter-urls); for host and slash variants, [trailing slashes, www and https: pick one](https://getreport.app/guides/trailing-slashes-www-and-https-pick-one); for attachment pages, [WordPress attachment pages](https://getreport.app/guides/wordpress-attachment-pages).

> **Check: Canonical tag points to a valid URL.** The canonical tag asks Google to index that URL instead of this one. If it points to another site, appears twice or leads to an error page, your ranking signals are given away or ignored.
>
> 1. Point the canonical at this page's own clean URL (same scheme and host, no tracking parameters), and make sure it returns 200.
> 2. Keep exactly one canonical tag; if a plugin and the theme both add one, disable one of them.

> **Check: The URL loads without a redirect chain.** Each redirect is a full request and response before the browser can start loading the page, which slow mobile connections feel most. Google says redirects do not lose ranking value, but Googlebot follows at most 10 hops, and long chains slow crawling and break when one hop changes.
>
> 1. Point every old URL straight at the final one (a single 301), and update internal links to use the final URL directly.
> 2. Look for rules that stack, for example http → https, then non-www → www, then trailing slash; combine them into one rule.

## When the page should be indexed

If the report lists a URL you want in search, Google has decided it adds nothing over another page. Change that decision:

1. **Add a self-referencing canonical** so the page states that it is its own original.
2. **Make the main content distinct.** A variant or location page needs text, data, images or offers the other page does not have. Changing a word or a heading is not enough.
3. **Link to it** from relevant pages with descriptive anchor text, and list it in the XML sitemap.
4. **Check the signals agree.** Internal links, the sitemap and hreflang annotations should use this URL for this content, not the URL Google chose instead.
5. **Request indexing** in URL Inspection once the page is changed.

If the two pages really answer the same question, one strong page beats two weak ones: merge them and redirect the weaker URL.

## "Duplicate, Google chose different canonical than user"

This related status means the page does declare a canonical, and Google disagreed with it. The usual causes:

- **The declared canonical redirects, returns 404 or is `noindex`.** Google will not use a target that is not a live, indexable page.
- **Other signals point elsewhere.** Internal links, the sitemap, hreflang or redirects use a different URL than your tag.
- **The pages are not really duplicates,** or are so similar that Google prefers the page with stronger signals.
- **Two canonical tags that disagree,** often one from the theme and one from an SEO plugin, or one added by JavaScript.

Inspect the URL, compare the user-declared and Google-selected canonicals, and fix whichever signal disagrees rather than the tag alone. The canonical checker shows the redirects, the canonical's status, the `www` and slash variants and `og:url` in one table.

## How to verify the fix

- URL Inspection on a fixed example shows your canonical under "User-declared canonical", and the Google-selected canonical matches it after the next crawl.
- The canonical checker shows one self-referencing canonical and variants that redirect.
- Over the following weeks, rows move from "Duplicate without user-selected canonical" to "Alternate page with proper canonical tag" or "Page with redirect", both of which are expected states.

The report is updated as Google recrawls, which for rarely visited duplicates can take weeks. A rising count after a fix usually means Google is discovering more variants of the same pattern, not that the fix failed.

## Common mistakes

- **Blocking the duplicates in robots.txt.** Google can no longer read the page, so it cannot see a canonical, and the URLs can stay indexed as bare addresses.
- **Adding `noindex` to choose between duplicates.** Google's documentation advises against it: `noindex` drops the page instead of merging its signals.
- **Canonicalising genuinely different pages** to hide them from the report. Google may ignore the hint, and if it follows it, the page disappears.
- **Trying to clear the list to zero.** Some duplicates, such as feeds and tracking parameters, will always appear. The goal is that every important URL is indexed.
- **Redirecting every duplicate to the home page.** Redirect to the matching page, or leave the duplicate alone with a canonical.

## Questions people ask

### What does "Duplicate without user-selected canonical" mean?

It is a Search Console status meaning Google found the page to be a duplicate of another URL, the page has no canonical tag naming the original, and Google picked a different URL to index. Inspect the URL to see which one Google chose. If Google's choice is right, add a canonical pointing to it; if the page should be indexed itself, add a self-referencing canonical and make its content distinct.

### Should I fix every URL listed as duplicate without user-selected canonical?

No. Fix the patterns where Google chose the wrong URL, or where a page you want in search is listed, and remove avoidable duplicates such as http and www variants with redirects. Duplicates like feeds, tracking parameters and sorted views can stay in the list, because the right page is already indexed. The aim is correct indexing of important pages, not a count of zero.

### How do I fix "Duplicate, Google chose different canonical than user"?

Find the signal that disagrees with your canonical tag and correct it. Check that the declared canonical answers 200 without redirecting and is not noindex, that internal links, the sitemap and hreflang use the same URL, and that the page has only one canonical tag. If the two pages are really different, make the content distinct instead of relying on the tag.

### How long does it take for duplicate statuses to clear in Search Console?

Usually a few weeks, sometimes longer. Search Console updates each URL only after Google recrawls it, and duplicate URLs are crawled less often than canonical pages. You can speed up important pages with Request indexing in URL Inspection. For the rest, check that the pattern is fixed on your site with a canonical checker and let the report catch up.
