// guides / duplicate content and canonicals
Duplicate without user-selected canonical: what it means, and when to fix it
Duplicate without user-selected canonical means Google found a page that copies another one, saw no canonical tag naming the main version, and picked the canonical itself. Google calls it working as intended, not an error. It only needs fixing when Google picked the wrong URL, or when the page isn't really a duplicate.
What does Duplicate without user-selected canonical mean in Search Console?
It's one of the reasons listed under Why pages aren't indexed in the Page indexing report. Google's help defines it plainly: the page "is a duplicate of another page, although it doesn't indicate a preferred canonical page." Google has chosen the other page as the canonical, "and so will not serve this page in Search."
Three words in the status name do the work. Duplicate: Google's grouped this URL with at least one other that has the same or very similar main content. Without user-selected: nothing on the page, no canonical tag, HTTP header or sitemap entry, told Google which version you prefer. Canonical: so Google picked the representative URL by itself.
The next sentence in Google's help is the one most articles leave out: "This is not an error, but is working as intended, because Google does not serve duplicate pages." The report is telling you what Google did, not that something broke. Whether you act depends on which URL Google picked and whether you agree with it.
Why does Google group these URLs and pick its own canonical?
Because it only wants one copy of any piece of content in its results. Google's canonicalization documentation says that when it finds multiple pages that seem the same, or whose primary content is very similar, it clusters them, then marks as canonical the page it judges "objectively the most complete and useful for search users." The canonical gets crawled most regularly; duplicates are crawled less often.
Google names the signals that feed that choice: whether the page is served over HTTP or HTTPS, redirects, whether the URL is in a sitemap, and rel="canonical" annotations. With none of your own to go on, it uses whatever else it has. Even when you do declare one, Google says a canonical preference is "a hint, not a rule."
The same page lists the usual sources of duplicates: region variants, device variants, HTTP and HTTPS versions, sorting and filtering on category pages, and demo or staging copies left open to crawlers. It also says some duplicate content on a site is normal and isn't a breach of Google's spam policies. The cost is split signals and harder tracking, not a penalty.
Which WordPress URLs usually end up in this report?
WordPress core prints a canonical tag only on single posts and pages. Its rel_canonical() function returns early on anything that isn't a singular view, so archives depend on the SEO plugin, and a missing or misconfigured plugin leaves them without one.
Host and protocol variants
http and https, www and non-www. One site in my case studies had Search Console reporting the www and non-www homepages as two separate pages, each with its own impressions and position. The www host now 301s to the other.
Pages published twice
WordPress adds -2 to a slug that's taken. A second Edinburgh page at /scrap-my-car-edinburgh-2/ is the pattern: two URLs, one town.
Comment reply links
Core builds reply links with a ?replytocom= parameter, so a post with comments can be reached at extra URLs that carry the same article.
Tracking and ad parameters
?utm_source=, ?gclid= and similar. Google's own example of a URL you'd rather not see in results is a product page with a ?gclid= on the end.
WooCommerce sort and filter URLs
?orderby= and filter parameters show the same products in a different order or subset, which is exactly the sorting and filtering case Google lists.
Attachment pages and staging copies
Before WordPress 6.4 every upload got its own attachment page, and sites upgraded from older versions keep them. A staging subdomain left open to crawlers duplicates the whole site.
How do you find the duplicate and Google's canonical with URL Inspection?
The report tells you the pattern. URL Inspection tells you what happened to one URL, and that's where the fix is decided.
- i.
Open the status in the Page indexing report
Pages, then Why pages aren't indexed, then Duplicate without user-selected canonical. Sort the example URLs and look for the pattern first: parameters, a host, a path like /page/2/ or a -2 slug.
- ii.
Inspect one example URL
Paste it into URL Inspection and read the indexed result, not the live test. Google's help says you can determine the canonical only in the indexed data; the live test can't predict it.
- iii.
Read the two canonical fields
User-declared canonical will say None, which is the whole point of this status. Google-selected canonical names the URL Google chose instead.
- iv.
Open both URLs side by side
Compare the page you inspected with Google's pick. If the main content really is the same, Google's grouping is right, and the only question is whether it chose the version you want.
- v.
View the source
Search the HTML for rel="canonical". If it's missing on a template that should carry one, the fault is in the theme or SEO plugin settings, not the page.
How do you fix Duplicate without user-selected canonical on WordPress?
Match the fix to what you found, because the three tools do different jobs. Google ranks them by strength: a redirect and a rel="canonical" are strong signals, a sitemap entry is a weak one, and they stack when combined. If a site has many of these at once, the source is usually a template or a setting, and that's the duplicate content and canonical fixes I take on.
| What you found | Fix | Why |
|---|---|---|
| The copy shouldn't exist, like a -2 page or an old host | 301 it to the main URL | A redirect is the strongest signal, and Google says to use it when you're retiring a duplicate |
| Visitors need both, like a sorted or filtered view | rel="canonical" on the copy, pointing at the main URL | The URL keeps working and Google knows which one to index |
| Google chose the right URL and nothing links to the copy | Leave it | Google's help calls this status working as intended |
| Google chose the wrong URL | Declare the canonical on every version, link internally to it, list only it in the sitemap | Signals that agree carry more weight than one tag |
| The page isn't really a duplicate | Make its main content substantially different | Google's help says a page that isn't a duplicate should differ substantially from its supposed canonical |
Which fixes make duplicate URLs worse?
Three are common, and Google's best practices rule out all of them. Don't block duplicates in robots.txt: Google may still index a disallowed URL without its content, and it can't read a canonical it isn't allowed to fetch. Don't use noindex to choose between versions of one page; Google says it doesn't recommend it because it blocks the page from Search completely, and rel="canonical" is the preferred solution. And don't send mixed signals, like one URL in the sitemap and a different one in the canonical tag.
Two quieter habits help. Put a self-referencing canonical on the main page itself, which Google recommends, and link to the canonical URL everywhere in menus, breadcrumbs and body copy, because consistent internal links tell Google your preference too.
When is Duplicate without user-selected canonical fine to leave?
More often than the forum threads suggest. A healthy WordPress site has URLs in this report. The work is sorting them.
Worth fixing
- Google chose a URL you don't want in results, like the http or www version
- A page you want ranking is grouped as a copy of a different page
- Service or location pages built from one template and grouped together
- Hundreds of URLs from one parameter or setting, costing crawling time
Fine to leave
- Sort orders and filters grouped with their clean category URL
- Tracking parameter versions of a page Google already indexes
- ?replytocom= and similar comment URLs
- Any URL where Google-selected canonical is the page you'd have picked
How do you validate the fix, and how long does it take?
Fix every instance first, then press Validate fix on the issue in the Page indexing report. Google's help says validation stops as soon as it finds a single remaining instance, and it typically takes up to about two weeks, though in some cases much longer. You don't have to validate at all: Google updates the count whenever it recrawls an affected page.
Content fixes take their own time. Google's canonicalization troubleshooting page says that even after you fix the content, it might hold pages in a duplicate cluster for up to two weeks, and pages split out faster when the difference is clear and significant. For the few URLs that matter most, Request Indexing in URL Inspection asks for a re-evaluation, but it's subject to quotas, so I save it for those.
One check after validation passes: inspect the URLs again and confirm the Google-selected canonical is now the one you wanted. A cleared count can also mean the URLs simply dropped out of Google's crawl, which isn't the same thing.
Duplicate without user-selected canonical vs Google chose different canonical than user: what's the difference?
One word decides it: whether you declared a canonical. Here there's none. In Duplicate, Google chose different canonical you declared one and Google overruled it, which is a signals conflict and needs a different diagnosis. Pages that aren't in the index for crawl or quality reasons sit under discovered or crawled, currently not indexed.
| Status | Did you declare a canonical? | What Google did | Usual action |
|---|---|---|---|
| Duplicate without user-selected canonical | No | Picked a canonical itself and left this URL out | Check Google's pick; act only if it's wrong |
| Duplicate, Google chose different canonical than user | Yes | Ignored yours and indexed another URL | Find the signal that disagrees with your tag |
| Alternate page with proper canonical tag | Yes | Accepted it; the canonical is indexed | Nothing, Google's help says there's nothing to do |
| Page with redirect | Not relevant | Followed the redirect; this URL isn't indexed | Nothing, if the redirect is intended |
Rather have it fixed for you? See the Duplicate content and canonicals service.
Duplicate content and canonicalsWhat else do people ask about duplicate without user-selected canonical?
Is Duplicate without user-selected canonical bad for SEO?
Not by itself. Google's help calls it working as intended. It costs you only when Google picks a URL you don't want in results, or groups a page that should rank on its own.
How do I fix duplicate without user-selected canonical?
Inspect an example URL, read the Google-selected canonical, then redirect the copy, add a rel="canonical" pointing at the main page, or make the page genuinely different. If Google's pick is right, leave it.
Should every WordPress page have a canonical tag?
Every page you want indexed should carry a self-referencing canonical, which Google recommends. Core adds one to posts and pages; your SEO plugin should cover archives, the home page and custom post types.
Can I use noindex instead of a canonical tag?
Not to choose between versions of one page. Google says noindex blocks the page from Search completely and recommends rel="canonical" instead. Noindex suits pages that shouldn't be in Search at all.
What is alternate page with proper canonical tag?
It means Google accepted the canonical you set and indexed that page instead. Google's help says there's nothing you need to do, so it's the status you want duplicates to end up in.
Where do these rules come from?
Google's own documentation, plus what I see on the WordPress sites I work on. Written by Muhammad Younus, a WordPress technical SEO consultant.
- Google: Page indexing report
- Google: What is URL canonicalization
- Google: How to specify a canonical URL with rel="canonical" and other methods
- Google: Fix canonicalization issues
- Google: URL Inspection tool
- WordPress source: rel_canonical() in link-template.php
- WordPress source: replytocom in comment-template.php
- Make WordPress Core: changes to attachment pages in 6.4

Want this checked on your own site?
Book a call on Upwork, share the URL and read-only Search Console access, and you'll get back what's actually wrong, ranked by the clicks it's costing.
Book a call on Upwork