Developer Tools

I’ve banned query strings

One developer's site now rejects all UTM and tracking parameters.

Deep Dive

Chris Morgan, the developer and writer behind chrismorgan.info, has taken a strong stance against unwanted URL tracking by imposing a complete ban on unauthorized query strings. In a recent blog post, he expressed frustration at how third parties append tracking parameters such as '?ref=example.com' or '?utm_source=example' to links pointing to his site. He argues that such practices abuse users by injecting analytics data without consent, and that legitimate referrer information is already available via the HTTP Referer header. His solution is a blanket rule in his Caddyfile that rejects any query string not explicitly allowed by him. Currently, his site doesn't use any query strings, so the ban is absolute for now. If he ever adopts query strings for his own purposes (e.g., pagination or filtering), he plans to maintain a strict whitelist of known parameters. He admits this decision will break any existing cache-busting URLs (e.g., '?t=123' on stylesheet links), but he considers that a minor trade-off for regaining control over his site's URLs. The move is a personal policy, but it reflects a growing unease in the developer community with opaque tracking practices and the lack of user consent in web analytics.

Key Points
  • Chris Morgan implemented a blanket ban on all query strings on his personal site using a Caddyfile rule.
  • The ban blocks common tracking parameters like utm_source and ref=example.com added by third parties.
  • He will allow only pre-approved query parameters if he ever needs them, breaking existing cache-busting URLs.

Why It Matters

A personal but symbolic stand against non-consensual URL tracking practices used by marketers and analytics platforms.