How to fix "Duplicate without user-selected canonical"

"Duplicate without user-selected canonical" means Google found this URL, decided it is a duplicate of another URL, and saw no canonical tag on it telling Google which version you prefer, so Google picked one itself. The URL in the report is the one Google did not choose. If Google chose the version you want, there is nothing to fix. If it chose wrong, or the duplicate should not exist at all, redirect it or add a canonical.

On WordPress, the most common real cause is a second host serving the whole site: for example www.example.com returning a full copy with a 200 instead of redirecting to example.com.

Step by step

1. See which URL Google chose

Open Indexing → Pages → Duplicate without user-selected canonical, pick an example URL and run it through URL Inspection. Look at Google-selected canonical. If it shows the URL you want indexed, the example is just the duplicate Google set aside, and the status is harmless.

2. Find the pattern

Export the examples and look at how they differ from the chosen canonical. Typical WordPress patterns:

DuplicateCanonical Google choseCause
https://www.example.com/post/https://example.com/post/www host serves a copy
http://example.com/post/https://example.com/post/http not redirected
https://example.com/posthttps://example.com/post/Trailing slash variant loads
https://example.com/post/?utm_source=xhttps://example.com/post/Parameters, no canonical output
https://example.com/post/amp/https://example.com/post/Old AMP plugin leftovers

3. Redirect host and protocol variants

For www, http and slash variants, a 301 is the fix, not a canonical tag. Test each one:

bash
curl -sI http://www.example.com/post/ | grep -i -E '^(HTTP|location)'

You want a single 301 to https://example.com/post/. If the www host returns 200, add a redirect rule at your host or CDN that sends every www URL to the same path on the apex. On Cloudflare, a redirect rule matching the www hostname does this. Make sure Settings → General in WordPress uses the same host you redirect to.

4. Check your canonical output

View source on a normal post and search for rel="canonical". It should point to the post's own clean URL on your chosen host. Hydrogen SEO outputs a self-referencing canonical on every post, page, term and archive, which covers parameter duplicates automatically. If no canonical appears, another plugin or the theme may be removing it; if two appear, you have two SEO plugins active. See duplicate meta output.

5. Set a canonical for real content duplicates

When two different pages carry near-identical content on purpose, such as a printable version or a syndicated copy, open the duplicate's SEO Settings sheet (⌘E / Ctrl+E) and enter the preferred page's full URL in Canonical URL. If the duplicate has no reason to exist for visitors, merge it and add a 301 in Hydrogen SEO → Redirections instead.

Google weighs internal links and sitemaps when choosing a canonical. Make sure menus and content link to the https apex URL with the trailing slash your permalinks use, and that the sitemap lists only those URLs. Mixed internal links keep feeding Google the variant you do not want.

7. Validate the fix

Once the redirects and canonicals are in place, click Validate fix in the report. Redirected URLs usually move to "Page with redirect", which is the correct end state for a duplicate host.

What the status means

Google groups URLs with the same or very similar content and indexes one per group. "Without user-selected canonical" means you gave no hint. Compare with "Duplicate, Google chose different canonical than user": there you did set a canonical and Google overrode it, often because the pages are not as similar as the tag claims, or internal links point elsewhere.

When to leave it alone

When Google's chosen canonical is the URL you want and the duplicate is harmless, such as a parameter variant that is already canonicalized in the source, you can ignore these entries. They do not hurt the chosen page. Act when the chosen canonical is wrong, or when a whole host or protocol variant is being served, since that splits crawling across two copies of the site.

Common questions

Is Duplicate without user-selected canonical bad for SEO?

Not when Google picks the right version. It becomes a problem when Google picks the wrong URL or a whole duplicate host is crawlable.

Should I use a canonical or a redirect for www duplicates?

A 301 redirect. Visitors and crawlers should never reach the duplicate host at all.

Why do I see this even though Hydrogen SEO outputs canonicals?

Google may have crawled the URL before the canonical was in place, or the duplicate is a host variant that should redirect. Check the live URL with URL Inspection.