Canonical URLs: How to Solve Duplicate Content Without Losing Rankings
The same content reachable from multiple URLs is endemic on the web. Trailing slashes, tracking parameters, HTTP vs HTTPS, www vs non-www, print and AMP variants — all create technical duplicates. The <link rel="canonical"> tag is how you tell Google which URL to treat as the master copy and consolidate ranking signals to.
Self-referencing is the safe default
A self-referencing canonical — where every page declares its own URL as canonical — is best practice. It explicitly signals “this is the original version” and protects you if Google later finds the same content on a syndication partner or under a tracking parameter.
Where canonicals come from
Most sites use the HTML <link rel="canonical"> tag in the <head>. But canonicals can also be sent via the HTTP Link response header — useful for non-HTML files like PDFs that have no <head> to inject into. We check both sources and flag conflicts when the two disagree (Google ignores the page-level canonical when this happens).
Conflicts that quietly destroy your canonicals
- Multiple canonical tags in the same HTML — Google ignores the page-level canonical entirely.
- Canonical + noindex on the same page — contradictory signals; Google may drop both.
- Canonical points to a redirect — Google follows it, but prefers a direct canonical to the final URL.
- Canonical to a 4xx/5xx page — broken canonicalisation; ranking signals are lost.
- Canonical loops — page A → B → A; Google ignores both.
- Cross-domain canonicals — fine for syndication, dangerous when accidental (a copy-pasted template can wipe out a whole site’s rankings overnight).
How to use this tool
Paste any URL above. We follow redirects, parse every canonical signal on the page, and then probe the canonical target itself — fetching it, reading its own canonical, and reporting whether the chain stops cleanly. Run it on key landing pages, on URL variations (example.com vs example.com/ vs www.example.com) and on parameterised URLs to catch silent canonicalisation bugs before they cost rankings.