Duplicate Without User-Selected Canonical: Meaning and How to Fix
This Search Console status means Google found two similar pages and picked one itself. Here is when it is fine, when it is a problem, and how to fix it.
- "Duplicate without user-selected canonical" means Google found two or more very similar URLs, you did not say which one is the main one, so Google picked one itself.
- The page with this status is not shown in Search. If it is a junk URL (with
?ref=,?page=, http, or www copies), that is usually fine. - If an important page is affected, add a
rel="canonical"tag pointing to the right URL, or 301-redirect the duplicate. - Use URL Inspection to see which URL Google chose, then click Validate Fix after you fix all affected pages.
You open the Page indexing report in Search Console and see a list of URLs under "Duplicate without user-selected canonical". It sounds serious. Many new bloggers panic and start deleting pages.
Most of the time, there is nothing wrong. This guide shows you how to tell the harmless cases from the real problems, and how to fix the real ones step by step.
What does "Duplicate without user-selected canonical" mean?
A canonical URL is the main version of a page. When the same content is available at several addresses, Google groups them and shows only one in Search.
Google's Page indexing help page explains this status as: the page is a duplicate of another page, it does not indicate a preferred canonical, and Google has chosen the other page as canonical, so it will not serve this page in Search.
In short: you did not tell Google which one is the main page, so Google decided for you.
Common causes on small blogs and script websites
| Duplicate URL example | Why it exists | Usually a problem? |
|---|---|---|
http://site.com/post/ vs https://site.com/post/ | HTTPS not forced | Fix it with a redirect |
www.site.com vs site.com | Both versions open | Fix it with a redirect |
/post/?utm_source=facebook | Tracking links shared on social media | No, if a canonical is set |
/post/?amp=1 or /post/amp/ | AMP or mobile version | No, if a canonical is set |
/category/news/page/2/ | Pagination showing similar lists | Usually no |
/shayari/love-1 and /shayari/love-2 with almost the same text | Thin, near-identical pages | Yes, improve or merge them |
Product page with ?color=red and ?color=blue | Variant filters on a store | No, if a canonical is set |
Google's guide on consolidating duplicate URLs lists similar causes: URL parameters, domain variants, http and https versions, and separate mobile URLs.
Step 1: Check which URL Google chose
- Open Search Console and go to Indexing > Pages.
- Scroll to "Why pages aren't indexed" and click Duplicate without user-selected canonical.
- Click one URL from the list, then click Inspect URL.
- Under Page indexing, look at User-declared canonical and Google-selected canonical.
Now you know the pair: the URL in the report (the duplicate) and the one Google prefers (the main page).
Step 2: Decide if you need to do anything
Ask one question: Is the Google-selected canonical the page I want people to find?
- Yes: for example, the duplicate is
/post/?utm_source=facebookand Google chose/post/. That is correct. You can still add a canonical tag to make it clear, but there is no urgent problem. - No: for example, Google chose the http version, or an old copy of your article, or a category page instead of the post. This needs fixing.
- The pages are not really duplicates: Google's help page says that if the page should not be a duplicate, you should make its content clearly different from the other page.
Step 3: Fix it with the right method
Google's documentation names three main ways to tell it your preferred URL. Redirects and rel="canonical" are strong signals. Listing a URL in your sitemap is a weaker signal.
Method 1: Add a canonical tag
Place this inside the <head> section of the duplicate page, pointing to the main page:
<link rel="canonical" href="https://yourdomain.com/your-post/" />
Also add a canonical tag on the main page that points to itself. Google recommends a self-referencing canonical on the canonical page.
- WordPress: most SEO plugins add self-referencing canonicals automatically. Check a post's page source for
rel="canonical". - PHP scripts: check the header template. Good scripts print a canonical for each post. If yours does not, ask the script developer to add one.
- Blogger: Blogger themes usually include a canonical tag through the theme's head code. Check the page source to confirm.
Method 2: Use a 301 redirect
Use a redirect when the duplicate URL should not exist at all. Good examples: http to https, www to non-www (or the other way), and old URLs you replaced with new ones. Our guide on fixing a "Not Secure" website shows how to force HTTPS.
Method 3: Make the content different or merge it
If you have several thin pages with almost the same text, a tag will not save them. Merge them into one strong page and redirect the others, or rewrite each page so it has its own clear purpose.
robots.txt or the URL removal tool for canonicalization, and not to use noindex to pick a canonical within your site. Also use full URLs (with https and your domain) in canonical tags, not relative paths.Step 4: Send consistent signals
Google is more likely to accept your choice when everything points the same way:
- Internal links point to the canonical URL, not to parameter or http versions. See our internal linking guide.
- Your sitemap lists only canonical URLs.
- Canonical tags, redirects and sitemap all agree. Do not point a canonical to one URL and a redirect to another.
- The canonical URL returns a normal 200 page, not a redirect or an error.
Step 5: Validate the fix
- Fix every important URL in the list, not just one.
- Go back to the issue in the Page indexing report and click Validate Fix.
- Wait. Google's help page says validation usually takes up to about two weeks, but can take longer.
- Do not click Validate Fix again until it succeeds or fails.
For one important page, you can also use URL Inspection and request indexing after the fix.
How it differs from similar statuses
| Status | Meaning | Action |
|---|---|---|
| Duplicate without user-selected canonical | No canonical given, Google picked one | Check Google's choice; add canonical if wrong |
| Duplicate, Google chose different canonical than user | You set a canonical, Google picked another | Compare both pages; make signals consistent |
| Alternate page with proper canonical tag | Page correctly points to an indexed canonical | Nothing, this is fine |
| Crawled - currently not indexed | Google crawled but chose not to index | Improve quality; see our fix guide |
Final word
This status is Google telling you, "I picked the main version for you." Check its choice. If it is right, relax. If it is wrong, add a canonical tag or a redirect, keep your internal links and sitemap consistent, and validate the fix.
Next step: inspect three URLs from this list today and note which version Google chose. If you run a news site, duplicates are common, so check the demo's page source for a canonical tag on every post before you choose a script, whether it is our AI auto news website script or any other. Our courses cover Search Console in more depth.
Frequently asked questions
Is 'Duplicate without user-selected canonical' an error?
Not always. It only means Google found pages it considers duplicates and chose one as the main version. If Google chose the right page, you can usually leave it. It needs action only when an important page is the one being left out.
Will a canonical tag force Google to index my chosen URL?
No. Google treats canonical tags and redirects as strong signals, but it still makes the final choice. Your chosen URL should have the same or very similar content and be the one you link to internally.
Should I use noindex or robots.txt to remove duplicates?
Google advises against both for choosing a canonical. Noindex blocks the page completely, and robots.txt can stop Google from seeing your canonical tag. Use rel=canonical or a redirect instead.
How long does Validate Fix take?
Google's help page says validation usually takes up to about two weeks, but sometimes longer. Do not click Validate Fix again while it is still running.