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
1export const metadata = {
2 alternates: {
3 canonical: "https://example.com/products/keyboard",
4 },
5};Or directly in HTML:
1<link rel="canonical" href="https://example.com/products/keyboard" />2. Canonicalize parameter and sort/filter variants back to the clean URL
A page reachable as both /products?sort=price and /productsshould 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.
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.
