What Is a Non-Canonical URL?
By Seth Black · Published
“Non-canonical URL” shows up in site audit reports, Search Console statuses and developer tickets, usually with an alarming red icon next to it. Most of the time it isn’t a problem at all. Sometimes it’s the reason a page won’t rank. Here’s how to tell the difference.
What a non-canonical URL is
When several URLs show the same or nearly the same content, search engines pick one of them to index and show in results. That one is the canonical URL. Every other URL in the group is a non-canonical URL: a duplicate or alternate version that points, one way or another, to the canonical.
A page can become non-canonical in two ways:
- You declare it. The page has
<link rel="canonical" href="...">pointing at a different URL (or an HTTPLinkheader that does the same). - Google decides. Google sees duplicate content and picks a different URL as canonical on its own, with or without a canonical tag.
The canonical tag is a strong hint, not a command. Google also looks at redirects, internal links, sitemaps, HTTPS and hreflang when it chooses.
Common examples
The same page is often reachable at many URLs:
https://example.com/shoes/ <- canonical
http://example.com/shoes/ protocol
https://www.example.com/shoes/ host
https://example.com/shoes trailing slash
https://example.com/Shoes/ case
https://example.com/shoes/?sort=price parameters
https://example.com/shoes/?utm_source=newsletter
https://example.com/shoes/index.html
Other sources include print versions, AMP pages, product URLs that appear under several categories, and session IDs in URLs.
Is a non-canonical URL bad?
No. A non-canonical URL with a correct canonical tag is working as intended. Sorting parameters, tracking parameters and filtered views are supposed to canonicalize to the main page, and they’ll never rank on their own.
It becomes a problem in these cases:
- The wrong URL is canonical. Google picked the parameter version or the HTTP version instead of the page you want to rank.
- Your own site treats the non-canonical URL as the real one. Internal links, the XML sitemap or hreflang annotations point at non-canonical URLs, which sends Google mixed signals.
- The canonical target is broken. The canonical points at a URL that redirects, returns 404, is noindexed, or has its own canonical pointing somewhere else.
- A page you want indexed is canonicalized away by mistake. A template bug sets every page’s canonical to the home page, or every paginated page to page 1.
What Search Console’s statuses mean
In Indexing → Pages, non-canonical URLs appear under “Why pages aren’t indexed” with one of these reasons:
| Status | What it means | Action |
|---|---|---|
| Alternate page with proper canonical tag | The page points to another URL as canonical and Google agrees. | None, if that’s what you intended. |
| Duplicate without user-selected canonical | Google found duplicates with no canonical tag and picked one itself. | Add canonical tags so you choose, not Google. |
| Duplicate, Google chose different canonical than user | You declared a canonical, and Google ignored it and picked another URL. | Find out why (see below). |
To see which URL Google chose for any page, paste it into URL Inspection and look at “User-declared canonical” and “Google-selected canonical”.
Why Google ignores your canonical
When Google picks a different canonical than the one you declared, it’s usually because other signals disagree with the tag:
- Internal links mostly point to the other URL.
- The sitemap lists the other URL.
- The declared canonical redirects, is slow to return, or returns an error.
- The two pages aren’t actually duplicates (different content, so the canonical looks like a mistake).
- The declared canonical is HTTP while the page is HTTPS, or the reverse.
- There are multiple canonical tags on the page with different URLs.
Fix the conflicting signal, not just the tag. Google rarely ignores a canonical when the links, sitemap and redirects all agree with it.
How to find non-canonical URLs on your site
One page at a time: our free canonical tag checker shows the canonical declared in the HTML and HTTP headers, and whether the target URL actually returns 200, is indexable and doesn’t point somewhere else.
Across the site: crawl it and compare each URL with its canonical. The pages to review are the ones where the two differ. For each one, ask whether it should be canonicalized away, and whether anything on your site still links to it.
For specific canonical problems, these reference pages explain the fix: canonical URL has a query string and empty canonical URL.
From Google’s side: export the “Duplicate, Google chose different canonical than user” list from Search Console. It’s capped at 1,000 example URLs, but patterns show up quickly.
How to fix non-canonical URL problems
- Pick one version of every URL (protocol, host, trailing slash, case) and 301 redirect the others to it. Redirects are a stronger signal than canonical tags.
- Add a self-referencing canonical to every indexable page. Build it from the route or the stored URL, never from the raw request URL, or tracking parameters leak into it.
- Point internal links at canonical URLs. Navigation, breadcrumbs, pagination and related-product links are the usual offenders.
- List only canonical URLs in the XML sitemap. Our XML sitemap checker helps review it.
- Make hreflang annotations reference canonical URLs, or they’re ignored. The hreflang checker tests this.
- Don’t canonicalize paginated pages to page 1. Each page in a series should canonicalize to itself.
- Don’t combine a canonical to another URL with noindex on the same page. They say opposite things: “this is a copy of that page” and “drop this page”. Use one or the other.
For the full walkthrough of canonical failures and how to catch them before they ship, see how to find and fix every broken canonical tag on your site.
Quick answers
What does “non-canonical URL” mean? A URL that is a duplicate or alternate of another page, where the other page is the one search engines index.
Do non-canonical URLs hurt SEO? Not by themselves. They hurt when the wrong URL is chosen as canonical, or when your links and sitemap point at non-canonical versions.
Should non-canonical URLs be in my sitemap? No. Sitemaps should list only the canonical, indexable version of each page.
What’s the difference between a non-canonical URL and a redirect? A redirect sends users and crawlers to another URL. A non-canonical URL still loads for users; it only tells search engines which version to index.
If you’d like every canonical on your site checked in one pass, bseoa’s 14-day trial includes every feature and runs on your own machine.
-Sethers