Canonical tags tell search engines which version of a page is the "preferred" one — but Google treats them as hints, not directives. When they're wrong, broken, or contradictory, Google may choose a different canonical than you intended, splitting signals across duplicate URLs or ignoring your consolidation entirely.
How canonical tags work
A canonical tag is a <link> element placed in the <head> of a page that declares the preferred URL for that content. It must use an absolute URL — including scheme, domain, and path. A self-referencing canonical (pointing at the page's own URL) is the standard implementation for non-duplicate pages.
The key principle: Google treats canonicals as hints, not hard directives. If Google has strong signals pointing elsewhere — internal links, sitemaps, or redirect patterns — it may override a canonical you've set. When canonicals are broken, looped, or point to inaccessible URLs, Google falls back to its own judgement.
Correct implementation — self-referencing canonical:
<!-- Correct: absolute URL, self-referencing -->
<link rel="canonical" href="https://sallymills.com/canonicals/">
Live examples
Each page below is a real, crawlable demo. The canonical tags are live — Googlebot sees exactly what's described.
Relative URL in Canonical Tag
The canonical uses a relative path instead of an absolute URL. Inconsistently interpreted across crawlers.
View demo → 🔴 BrokenCanonical Loop (Page 1 of 2)
Page 1 points its canonical at page 2. Page 2 points back. Google ignores both and treats each as self-canonical.
View demo → 🔴 BrokenCanonical Loop (Page 2 of 2)
The other side of the loop. Canonical points back to page 1, completing the circle.
View demo → ✅ CorrectCross-Page Canonical Consolidation
A page that correctly declares the section hub as its canonical — the right pattern for consolidating near-duplicate URLs.
View demo → 🔴 BrokenCanonical Destination Returns 404
The canonical points to a URL that doesn't exist. Google can't consolidate to a 404.
View demo → 🔴 BrokenCanonical Destination Blocked by robots.txt
The canonical destination is disallowed in robots.txt. Google can't crawl it to verify it as the preferred version.
View demo → ⚠️ IssueTrailing Slash Mismatch
The canonical tag omits the trailing slash while the page URL includes it — a subtle but real mismatch.
View demo →