Skip to content
Gerhard van Deventer

Why Every Post Needs a Canonical URL

  • seo
  • syndication

Every place I publish — a newsletter, LinkedIn, X — is a copy. This site is the original. That distinction only means something if the machines reading these pages can tell the difference, and the mechanism for that is unglamorous: a <link rel="canonical"> tag pointing at the one true URL.

The problem canonical tags solve

Search engines and feed readers don’t inherently know that three versions of the same essay are the same essay. Left to their own devices, they’ll index all three, split whatever ranking signal the piece earns across copies, and sometimes surface the wrong one as the “real” source. A canonical tag is a explicit statement: this URL is authoritative, route credit and citations here.

For a syndication model — write once, publish here, let a newsletter and social posts point back — the canonical tag is the seam the whole system hangs off. Automation downstream (my Make workflows, specifically) can trust that whatever this site’s RSS feed emits is the definitive version, because every item’s link is the canonical link, not a hopeful guess at one.

What this looks like in practice

This particular post doesn’t set a canonicalURL in its frontmatter. When that field is absent, the site falls back to the post’s own address on this domain — which is exactly correct, since this is where the post was written and first published. No override needed; the default is the canonical truth.

Contrast that with a post that started life somewhere else — a guest piece, something drafted first for a client’s blog — where the frontmatter needs to say “no, actually, look over there.” That’s the override this field exists for, and it’s the case the next post in this feed demonstrates.