Cool URIs Don't Change (1998)

211 points51 comments14 hours ago
torh

Not that long ago I clicked on a link that Microsoft provided somewhere in Windows -- could have been the event log, I don't remember. I do remember it was for a specific support article, but it ended up at a generic landing page for something. I am not talking about a link from Windows 95, it must have been Windows 10. But regardless, it is all gone. Then again, it probably wasn't a cool URL to begin with.

It's amazingly many news sites that also seem to scrub their URLs every time they do a redesign. Also uncool.

show comments
mikepurvis

Sadly, though:

    $ curl -I https://www.nsf.gov/pubs/1998/nsf9814/nsf9814.htm
    HTTP/2 404 
    content-type: text/html; charset=UTF-8
    content-length: 54737
    date: Sun, 09 Aug 2026 17:58:44 GMT
    strict-transport-security: max-age=31536000; includeSubdomains; preload
    server: Apache
show comments
firasd

What this page doesn't mention is 301 or 302 redirects. SEO has made "old URLs staying live" more of a widespread concern than it was at the time. And WordPress etc ship with inbuilt redirects upon slug rename

So to a large extent this has been mitigated and not using the suggestion here, which is to create a permanent URL ontology upfront

That said eventually neglect, removal, reorgs (or simply websites going offline) still happens... but the way the suggested goal has been advanced is due to becoming a business priority and with redirects and CMSes as tech to help

That said one suggestion made here turned out to be very useful and indeed is the default in WP:

   http://www.w3.org/1998/12/01/chairs
If you use date as part of the taxonomy then -- as Tim BL says here:

> A reason for using a topic area as part of the URI is that responsibility for sub-parts of a URI space is typically delegated, and then you need a name for the organizational body - the subdivision or group or whatever - which has responsibility for that sub-space. This is binding your URIs to the organizational structure. It is typically safe only when protected by a date further up the URI (to the left of it): 1998/pics can be taken to mean for your server "what we meant in 1998 by pics", rather than "what in 1998 we did with what we now refer to as pics."

show comments
rendaw

URLs are URIs and URLs include "how to access this" which fundamentally makes it hard to prevent them from changing. If it were an abstract ID, like a UUID, or a hash or something I'd get it. So are all URLs bad URIs?

show comments
zibw

A classic. This keeps getting more credible as it ages. Now it's been at the same URI for 28 years.

mooreds

Great article, lots and lots of past discussion: https://hn.algolia.com/?q=cool+uris

show comments
glacials

If you run a statically generated website, I recommend append-only generation, where you keep your `dist/` (or whatever web root) stateful between builds. This guarantees you don't break URIs even if the static generator changes or the source content is removed.

You can even make an orphan branch and check out that branch into `dist/` as a worktree to keep it under version control.

show comments
zkmon

The concept of hooking onto a URL, for years, is a bad thing. It prohibits the URL owners from changing it. It's not 90's. You have search engines now to get to content. It's almost same as bookmarking an IP address, and complaining that the change has frustrated you, or someone scribbled the IP address on the margin of a letter.

I usually bookmark a link only to come back to a few days/weeks later. I don't expect a bookmark to work after years. I let the URL owners to have freedom to change it.

A thing that changes or goes away, feels natural. An URL that didn't change in 20 years, actually freaks me out, like a non-degradable plastic.

show comments
burntcaramel

They didn’t follow their own advice for their accessibility practices page https://www.w3.org/TR/wai-aria-practices/

_carbyau_

A side effect of the idea that this information can be "permanent" means you should really think before putting it up there.

But today is not that, it is the opposite of that with stuff being put online that really doesn't need to be. This is permaweb vs slopweb.

donatj

I find that every time major companies as well as most authors switch blogging systems even if they maintain their URLs broadly, their RSS feed url breaks.

Swizec

I've been trying to keep all URLs backwards compatible forever on swizec.com and it's surprisingly hard. I _think_ anything from 2010 onward should be good. The domain started in 2005.

Unfortunately I'll never know for sure.

nicbou

This is something I work really hard to maintain on my websites. I often refer to government websites as sources for my guides, and these URLs break at an alarming pace. It's as if the German government is moving reference pages and services around just for giggles. It creates a significant maintenance burden on my end.

When I worked for an ecommerce website, we spent weeks making sure every URL worked after a migration.

Nowadays it feels a little quaint because most of my 404s are from LLMs hallucinating URLs that never existed, sometimes for topics I never covered. I wonder what nonsense it attributes to me.

ricardo81

I recall some link rot research from ~10 years ago that estimated it was in the high single digit percentiles per year.

archive.org perhaps have/could have some interesting insights on it.

jruohonen

It is not only about "coolness" but long-term preservation too; that was one of the main motives behind DOIs.

shiandow

The headers that push a bit into the margin are an interesting stylistic choice, but why on earth does it have to be random? Did something change that affected the layout somehow? (ironically)

show comments
moritzwarhier

Evergreen. Correct.