Technical
Canonical URLs: The SEO Lever Most Sites Get Wrong
Canonical URLs tell search engines which version of a page is the original. When they are right, duplicate content problems disappear. When they are wrong, sites bleed traffic to the wrong URLs and never understand why. I have audited a dozen client sites this year and the canonical mistakes are remarkably consistent.
What Canonical URLs Actually Do
When the same content is reachable at multiple URLs, search engines need to pick which one to rank. The canonical tag is how you vote. The tag tells the engine: 'this page is the original, rank that URL instead of this one.' Without the tag, the engine guesses, and sometimes it guesses wrong.
Common Mistakes I See
First, canonical pointing to a 404. Developers set a canonical and then the target URL changes. The canonical keeps pointing at the old URL which no longer exists. The engine sees the broken canonical, gets confused, and ranks the page poorly or not at all.
Second, every page canonical to the homepage. This happens when a template hardcodes the canonical tag. Every article says 'the real page is the homepage.' The homepage gets the link equity. The articles stop ranking.
Third, canonical with parameters that matter. An e-commerce site setting the canonical to the parameter-free URL even when the parameters change the content. Filter pages collapse to the category page. Filtered results never rank for long-tail queries.
<!-- Correct: canonical points to the preferred URL of this page -->
<link rel="canonical" href="https://example.com/articles/my-post" />
<!-- Wrong: canonical hardcoded to homepage on every page -->
<link rel="canonical" href="https://example.com/" />
<!-- Wrong: canonical points to a dead URL -->
<link rel="canonical" href="https://example.com/old-path-that-404s" />The Check I Run Now
Before any site handoff I crawl with Screaming Frog. I pull the canonical column. I look for three things: any canonical pointing to a non-200 URL, any canonical pointing to a different URL than the page (which might be correct but needs a reason), and any bulk collapse to a single URL (which is almost always wrong).
This check takes 15 minutes and has caught canonical bugs on every single site I have audited. Every one.
The Bigger Frame
Technical SEO is full of small levers like this. Canonical tags, meta robots, hreflang, pagination signals. Each one individually matters a little. Collectively they determine whether the content you worked hard on actually gets found.
See the Google canonical URL documentation for the official guidance. The audit habit is the real defense against silent canonical bugs eating your traffic.
RELATED READING
The Consulting Shift I Am Making In Year Two
After a year of writing and building, my consulting practice is changing shape. Shorter engagements. Sharper outcomes.
ReadThe Frontend Shift: Shipping Less JavaScript In Year Two
A year ago I reached for Next.js for everything. This year I often reach for nothing.
ReadThe Serverless Lesson I Would Write On A Sticky Note
After a year of shipping serverless projects, one rule explains most of the wins and all of the losses.
Read