Guide

Duplicate without user-selected canonical, or Google choosing for you.

This status means Google found two or more URLs it considers the same page, looked for a canonical tag telling it which one counts, found none, and picked one itself. Unlike most Search Console statuses this one is worth acting on, because the page Google picks is frequently not the page you would have picked.

A decision worth taking backWhere duplicates come fromCommands you can run

How this differs from the status people confuse it with

There are two canonical statuses in Search Console and they mean opposite things about your site. Getting them the wrong way round leads to fixing the one that was already fine.

  • Alternate page with proper canonical tag. You declared a canonical and Google honoured it. The decision was yours and it was respected. Usually nothing to do, as covered in that guide.
  • Duplicate without user-selected canonical. You declared nothing, so Google chose. The decision was taken out of your hands.

Why it matters

Google's choice is based on signals like internal links, sitemap inclusion and URL tidiness. Those often favour the wrong version: a parameter URL that happens to be linked more, or an HTTP variant, or a print view. Your ranking then attaches to a URL you did not intend and would not promote.

Find out which URL Google actually chose

Before changing anything, learn what Google decided. The URL Inspection tool in Search Console reports the "Google-selected canonical" against your "user-declared canonical". When the first has a value and the second says none, this status is what you get.

If Google's pick matches what you would have chosen, the fix is simply to say so explicitly. If it does not, you have found something that is costing you.

# does this URL declare a canonical at all?
curl -s https://example.com/page/ | grep -i 'rel="canonical"'

# compare the variants Google might be treating as duplicates
curl -sI https://example.com/page  | grep -i '^HTTP\|^location'
curl -sI https://example.com/page/ | grep -i '^HTTP\|^location'

Where the duplicate URLs come from

Parameters and tracking

?utm_source=, ?ref=, session identifiers and sort orders all create URLs serving identical content. A single campaign link shared widely can generate more inbound signal to the parameter URL than the clean one has, which is exactly how Google ends up choosing it.

Trailing slashes, protocols and cases

/page and /page/, http and https, www and apex, /Page and /page. Each pair is two URLs to a crawler unless one redirects to the other. These are the cheapest duplicates to eliminate and the most commonly left in place.

Faceted navigation

Filter and sort combinations on a store or directory generate near-identical pages at scale. This is where the status appears in the thousands rather than the dozens, and where the answer is architectural rather than a tag on each page. Covered as part of ecommerce SEO.

Near-identical locale pages

UK and US English versions of the same page are duplicates by any reasonable measure. The correct answer here is not a canonical between them, it is hreflang declaring them as alternates for different audiences. A canonical would suppress one market entirely.

The fix, in order

  • Decide which URL should own the content. Usually the clean, linkable, parameter-free version. Write it down before you touch anything.
  • Add a self-referencing canonical to every page. Every URL should declare its own preferred version, including the chosen one. Pages without any canonical are how this status happens in the first place.
  • Redirect what should not exist. Protocol, www and trailing-slash variants should 301 to the chosen form rather than merely canonicalise to it.
  • Make internal links point at the canonical version. If your own navigation links the parameter URL, you are voting against your own canonical.
  • Use hreflang, not canonical, between locales. They are alternates, not duplicates.
  • For faceted URLs, stop generating and linking them rather than tagging millions of them.

The mistake to avoid

Do not reach for noindex here. It looks like it solves the problem because the duplicates disappear from the report, but a noindexed page passes nothing on and, if Google had selected that URL as the canonical, you can suppress the content entirely. Canonical consolidates. Noindex removes. They are not interchangeable and using the second where you meant the first is one of the more expensive mistakes in this area.

The goal is not an empty report. It is that every URL on the site has an opinion about which version counts, and that the opinion is yours.

Book me

Google picking the wrong URL?

Send us two URLs you think are competing. We will tell you which one Google has selected, whether it is the one you wanted, and what to change so the decision comes back to you.

Reply within one working day No obligation Your details stay with us

Takes about 60 seconds. No newsletter and no CRM sequence. Your details are used to reply to this enquiry and nothing else. See the privacy notice.