Nicolas Bouliane

Cool URLs don't change Posted on

“Cool URIs don’t change” was written about in 1998 by none other than the father of the internet, Tim Berners-Lee.

If you put something useful on the internet, chances are that people will bookmark your page, share it, or refer to it on their own website. Make sure that whatever URL they have keeps working, even when you move things around.

The alternative is a broken link. A door slammed in a visitor’s face.

Most businesses care about this. Dead ends hurt sales. At my last e-commerce job, it took many meetings over multiple weeks, pages of documentation and dozens of automated tests before we rolled out a new URL structure. Every single URL had to keep working, even one-off URLs used in promotional newsletters years ago.

The German government, on the other hand, does not give a flying hoot about broken links. Websites that were built as references move pages around with puzzling frequency, for no apparent reason. The URLs just stop working, so the countless websites, videos, online courses and printed pamphlets link to those pages, and they just… disappear.

I often link to government websites on All About Berlin. Every few weeks, a reader informs me of a broken link. Sometimes, I fixed the same link just a few months ago. Most of the time, the page still exists, completely unchanged, just under a different URL.

Sometimes, the URLs don’t break, yet perhaps they should. For example, the immigration office replaced one form with another, and stopped accepting the old version. The old form remained at the old address, and the new one was uploaded elsewhere. Pages (including my own) kept linking to the old form, unaware that a new version existed. I wonder how many people were turned back at their immigration office appointment because of that cock-up.

This is one of the many, many minor problems that make my work a little harder than it should be. Keeping hundreds of detailed guides up to date is no small task, but it would be a lot easier if links didn’t break all the time.