💬 This is in reaction to
Short URLs: why and how by Derek Sivers
In the Beginning Were Short URLs
I recently read Derek Sivers’s Short URLs: why and how, again. He makes a compelling case for using very short, but meaningful, URLs on your website. Very short here means one or two words at most, or even just 2 to 4 characters. On his website, that’s https://sive.rs/anna, https://sive.rs/plaintext https://sive.rs/1s, or indeed https://sive.rs/su for that particular post. That’s very different from typical URLs like https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/1 or https://github.blog/changelog/2021-10-11-improved-notification-email-titles-for-issues-and-prs/.
Similarly, before I even read that post, the first few pages I created on my website had similar URLs: /cv or /open-source.
Why?
It’s easy to remember and you can type it (quickly!).
They are also easy to share on the phone or face to face.
Someone asks for my CV?
Easy, go to cj.rs/cv (Charlie Juliett DOT Romeo Sierra SLASH Charlie Victor2 on the phone).
Short URLs also look nice and tight.
I even purchased cj.rs to replace joly.pw as the main domain in 20193.
Derek makes similar points:
- I can remember my URLs. I can avoid the search engine step. (No need to search when I already know the answer.) Which means…
- I can type it or say it. Whether texting, answering an email, or talking to someone on the phone, I can say, “Go to sive.rs/ff for my talk about the first follower.” or “My newest book is at sive.rs/h.” I do this often, so having memorable URLs, easy to type in full, saves me a lot of searching.
- They look nicer. They’re aesthetic. They show care. We should put something of beauty into the world, instead of creating digital pollution.
He then adds:
- They remove the middle-man. With long URLs, people use those ugly social share buttons that promote (and further entrench) harmful social media sites, and add visual clutter to your site. Short URLs encourage people to copy and paste the URL directly, which lets them share it anywhere, instead of only the sites for which you have a share button.
- They’re enough. Using 36 characters (a-z and 0-9):
2-character URLs give me 1296 (36²) unique combinations.
3-character URLs give me 46,656 (36³) unique combinations.
4-character URLs give me 1,679,616 (36⁴) unique combinations.
I don’t need more than that.
I did not really think about those last points4, but they make sense as nice complementary benefits.
Losing My Way and Finding It Back
If we were thinking alike about short URLs, then why did I use https://cj.rs/blog/lets-encrypt-caa-records-with-caddy/ for my last blog post?
Why did I add the full title at the end of a path that is nested inside blog?
Shouldn’t I have used something like letsencrypt-caa or caddy-caa?
Mainly I lost sight of the benefits of concise URLs. And Hugo has nice sections to organise content, set cascading parameters, list related pages…
But regardless of the tool, I certainly think in terms of categories for my pages. I remember things like “I have written this blog post” or “I have created this page at the root to showcase my open source work”.
A bit of hierarchical organisation makes sense even for the user.
Some pages share a common theme, but in different categories.
For instance, I have a blog post on an Asciinema module for Hugo and the page of that project both pertaining to the same underlying project.
So ideally, they would be at cj.rs/hugo-asciinema and cj.rs/blog/hugo-asciinema instead of cj.rs/hugo-asciinema and cj.rs/announcement-hugo-asciinema.
Finally, even when there is only one page on a particular topic, some hierarchy is useful.
Something like cj.rs/su can look cryptic in a tweet, whereas cj.rs/blog/su makes more sense.
Both can still be easily remembered and typed.
And having /blog/ for blog posts leaves space right under / for proper pages on the same topic that may exist later.
While there are over one million 4-letter combinations in a-z and 0-9, meaningful words are much rarer.
On the same example as above, I’m keeping /asciinema in store for something more closely related to Asciinema in the future.
If I had spent that one word on the Hugo module, it would have been gone forever5.
Striking a Balance
Moving forward, I’ll revert to much shorter URLs using (for the path part):
- One or two words at the top level, for projects and generally pages that are not blog posts. Think
/contact,/rusqlite-migrationor/open-source. - At most one folder, like
/blog/for blog posts. The exception would be multi-parts articles, which could be under/blog/topic/1,/blog/topic/2… - That list may evolve if there are strong reasons, but I’ll keep in mind the memorability and direct typing benefits.
ℹ️ Note
As a side note, I think short URLs work even if the domain is made of multiple words like shinychair.com, blog.joinmastodon.org, alostgardener.blog. Even with these domains, short URLs convey meaning, are still relatively easy to type and are easy to remember for the site owner.
An interesting read of it’s own, I should perhaps blog about it some day. But in the meantime, feel free to go and read it, I’ll wait. ↩︎
At least according to a whois look up. ↩︎
Although
cj.rslooks like a URL shortener and URL shorteners were the inspiration to look for niche TLDs. For the first couple months, I have to admit I couldn’t get over how cool a two letters domain felt. I now think it is a bit unfortunate to use the Republic of Serbia’s TLD, instead of, say, a.org, which seems less likely to implement residency requirements. ↩︎Don’t change URLs: Hypertext Style: Cool URIs don’t change. ↩︎
Liked this post? Subscribe:
Discussions
This blog does not host comments, but you can reply via email or participate in one of the discussions below: