A canonical URL, set via <link rel="canonical">, tells search engines which single URL should get credit when the same or near-duplicate content is reachable at more than one address. Get it wrong and search engines can index - and rank - a version of the page you didn't intend.
Why Canonical Tags Go Wrong
- URL parameters creating unintended duplicates. Tracking parameters, sort order, or filter state (
?utm_source=,?sort=price) generate technically-different URLs serving the same content, without a canonical pointing them back to the clean version. - Protocol or subdomain mismatches.
httpvs.https, orwwwvs. bare domain, splitting the same content across two indexed addresses. - Pagination without a self-referencing or series-aware canonical. Page 2 of a paginated list canonicalizing to page 1 (or not having a canonical at all) can make search engines drop page 2's unique content entirely.
- Staging or preview URLs leaking a canonical pointing at production, or vice versa, after a template gets copied between environments.
How to Identify the Problem
The Website Audit's SEO score runs a real canonical-correctness check on every scan - it flags a canonical URL that's relative instead of absolute, one that's outright invalid, multiple conflicting canonical tags on the same page, and the specific, common mistake of a page canonicalizing to your homepage instead of to itself. Browser Test complements this by showing you the raw tag and exact URL it captured from your live, rendered page.
Neither check confirms the canonical target actually resolves to a 200 (rather than a redirect or a 404), or that it's consistent with your site-wide protocol/subdomain choice - those two still need a manual spot-check.
How to Fix It
1. Self-reference the canonical URL on the preferred version of a page
Or directly in HTML:
2. Canonicalize parameter and sort/filter variants back to the clean URL
A page reachable as both /products?sort=price and /products should have the parameterized version's canonical point at the clean /products URL, so link equity and indexing consolidate onto one address.
3. Pick one protocol and one host, everywhere
Standardize on https and either www or the bare domain, redirect the other permanently (301), and make sure every canonical tag on the site uses that same standard - a canonical pointing at the non-redirected version defeats the purpose.
4. Manually verify the canonical target actually resolves
Run a Website Audit first - it'll catch relative URLs, invalid URLs, conflicting canonicals, and the homepage-mistake automatically. What's left to check by hand: that the canonical URL returns a 200 status and genuinely matches the content of the page pointing to it, especially right after a URL restructure or migration.
Duplicate Without User-Selected Canonical
This Search Console status means Google found several pages it considers duplicates, none of them has a canonical tag, and Google picked one URL to index on its own. The page in the report is the one Google left out. It usually shows up for URL variants: tracking parameters, http versus https, trailing slashes, uppercase paths, or print and sort versions of the same page.
Fix: add a self-referencing canonical URL to every indexable page, and on each variant point the canonical tag at the main version. Then make internal links and your sitemap use that same URL, so every signal agrees. If the variant should not exist at all, 301 redirect it to the main URL.
Duplicate, Google Chose Different Canonical Than User
Here you did set a canonical URL, but Google ignored it and picked another page. Google treats the canonical tag as a strong hint, not a command, and overrides it when other signals disagree: internal links pointing at a different URL, a sitemap listing the other version, redirects that conflict with the tag, or content that is not actually equivalent.
Fix: use URL Inspection to see which canonical Google selected, then line up every signal behind the URL you want: the canonical tag, internal links, sitemap entries and redirects. If the two pages genuinely differ, give each one unique content and its own self-referencing canonical instead.
How Scanverra Detects This
The Website Audit's SEO score (Lighthouse's canonical audit) parses every rel="canonical" link on the page and flags a relative or invalid URL, multiple conflicting canonicals, and a canonical pointing at your homepage's root instead of the page itself. Browser Test separately captures whether a canonical tag is present and the exact URL it points to. Together they cover the mistakes above - what they can't see is whether the target URL actually resolves correctly or matches the source page's content.