This blog has had pretty long URLs for legacy reasons. Today I've made some updates to change that.
Redirects and RSS should all work, though some feed readers seem to surface old posts as unread, sorry for any inconvenience.
For context, this used to be my company's website. I only really ever updated the blog section, so I decided to make that the main thing. The old structure lasted just over 8 years and my hope is that the new one will break that record.
URLs are such a cool part of the web, especially if they're set up thoughtfully. Like traintimes.org.uk, where you can add
/london/bristol to get times for trains from London to Bristol, and
/9:00 to that if you want the ones that leave from 9am.
I don't know of ways to give blog URLs very thoughtful structures, there isn't a lot of structure in this blog anyway. Anne van Kesteren's classic post on how to do blogs has some good pointers, like where an archive should live.
New blog post URLs
On this blog, a post URL used to be something like:
The main changes are:
- new host name, reducing lots of characters, easier to remember and put on slides
- single language setup, removing the need for
- no more dates in the URL structure
I wasn't super sure about removing dates, so I asked on Twitter. I didn't have a specific reason for including dates before, it was a default of my CMS and I kind of liked it at the time.
Other reasons for including a date are:
- a less messy file system, if you put posts into actual folders in the file system; this is moot if your routes are handled by some system
- it can be helpful for blog owners that code to have the date as part of the file name
- prevents naming collisions
- it's nice for analytics
- it's a default in a lot of blog software or a choice from the past
- it provides context
But there are drawbacks too:
- date is usually creation date, this could make posts seem old, while the author may be frequently keeping content up to date, this could be confusing
- dates are really metadata, they don't belong in the URL
- it's not as simple and readable
I've gone for simplicity. I do agree dates matter though, especially on tech posts, so I have the publication date in the post content near the title (I do use GitHub's
<time-ago> Web Component to display it relatively). I also include dates when I make updates, though I add those at the end rather than near the title (I probably want to improve that).