“Duplicate without user-selected canonical” means Google found pages that look the same, saw no canonical tag telling it which one is the main version, and chose one itself. The URL in this report is the one Google did not choose. It is not indexed; another URL stands in for it.
Often Google picks well and nothing is lost. The problem is when it picks the wrong version (a URL with parameters, the HTTP version, a print page), or when pages you consider different are treated as duplicates.
See which URL Google chose
Inspect an affected URL with URL Inspection. Under Page indexing you see two lines: User-declared canonical (none, in this case) and Google-selected canonical. If the Google-selected URL is the one you want people to land on, you only need to make that choice explicit. If it is not, you have to change the signals.
Where duplicates come from
| Source | Example |
|---|---|
| Protocol and host variants | http:// and https://, www and no www both answer 200 |
| Trailing slash | /shoes and /shoes/ both answer 200 |
| Parameters | ?sort=price, ?utm_source=..., ?sessionid=... |
| Product variants | the same product in colours or sizes on separate URLs |
| Pagination and filters | page 2 of a listing that repeats page 1 |
| Printer or AMP versions | /print/..., /amp/... |
| Pages with very little unique text | location pages that differ by one word |
How to fix it
- Pick one URL per piece of content. It should answer 200, be indexable and be the one your internal links use.
- Redirect the variants you never need. HTTP to HTTPS, one host, one trailing-slash form: these should be 301 redirects, not duplicates with a canonical.
- Add
rel="canonical"to the variants you keep. Each variant points to the main URL; the main URL points to itself. Use absolute URLs:<link rel="canonical" href="https://example.com/shoes/red-runner">. - Make the other signals agree. Internal links, the sitemap and hreflang annotations should all use the main URL. Google treats the canonical tag as a strong hint, not a rule, and follows it more readily when everything else points the same way.
- Make really different pages different. If Google merged pages that should rank separately, they need more unique content: specific text, data and titles.
Mistakes that keep the problem alive
- A canonical that points to a URL which redirects, answers 404 or is noindex. Google ignores it.
- A canonical inserted by JavaScript that differs from the one in the HTML.
- Several canonical tags on one page, often one from the theme and one from a plugin.
- Sitemaps that list the variants instead of the main URLs.
How to check that it worked
- URL Inspection shows your URL as User-declared canonical, and the Google-selected canonical matches it.
- The URLs move to Alternate page with proper canonical tag, which is the healthy state for variants.
- The number of pages under this reason goes down after you click Validate fix.
What SignalCrawler checks here
The audit tests every protocol and host variant and both trailing-slash forms, and reports pages without a canonical, pages with several different canonicals, canonicals that point to redirects, errors or noindex pages, canonical chains, near-duplicate content and parameter URLs that multiply. Findings are grouped by page template, so one fix covers many URLs.