Simon Willison’s Weblog


Quality news site URLs

30th July 2003

Nathan Ashby-Kuhlman is devoting this week on his blog to discussion and analysis of news site’s URLs.Nathan’s 5 attributes for a good URL are worth repeating here as they succintly describe my own opinions:

URLs should be human-readable
URLs should be short
URLs should not contain useless parts
URLs should be ’hackable’ and dates should be year/month/day
URLs should be permanently unique

I’m something of a fascist when it comes to URLs; they are one of my first considerations when initially designing a site and for personal projects I refuse to compromise on them. Nathan’s series is now on day two, and true to his word he has been dissecting a number of large and not-so-large news sites and grading each one on the quality of their article URLs.

Steven Jarvis plays devil’s advocate in the comments, asking a very interesting question about the value of “hackable” URLs:

I’ve got a devil’s advocate question for you: why do URLs need to be hackable? My wife (who is remarkably non-websavvy) would never in a thousand year think about hacking an URL. I’d say the same is true for at least 90% (and probably much higher than that) of the audience of news websites. *I* like hackable URLs, and I agree in general that they should be hierarchical, if only because I like at least the appearance (such as that given by liberal use of mod_rewrite) of a well-organized site. Isn’t hacking an URL really just a fall-back point when the site’s navigation fails you?

Nathan’s reply on the same page is worth reading. I agree with him; while hackable URLs as an additional navigation aid add very little value to the vast majority of surfers, they are a powerful indicator of the quality of a site’s navigational structure. They also tend to be a by-product of a well thought out URLs system, meaning if you are already following best practise for URLs you can often gain hackability for a very low extra cost.

This is Quality news site URLs by Simon Willison, posted on 30th July 2003.

Next: Python 2.3

Previous: Superb CSS template/tutorial

Previously hosted at