URL aesthetics
Tuesday 7th February 2006Look at the state of this… the URL itself I mean, not the page it points to:
http://www.tbs-sct.gc.ca/rma/eppi-ibdrp/hrs-ceh/6/RMA-CGR_e.asp
Can you imagine trying to dictate this to someone over the phone, or read it out on the radio? Reckon you can memorise it? If you saw it in your history list would you remember what the page was about?
URLs should be:
- designed for people, not computers and not filesystems;
- as short as possible (maintaining hierarchy only as necessary);
- as meaningful as possible — using words, dates, standard reference numbers, or whatever will make sense to your users, not a bunch of abbreviations;
- single case, not a mixture of lower and upper case;
- persistent (cool URIs don’t change), and therefore designed with persistence in mind. A URL is more likely to persist if it is sensible and economical in the first place!
URLs should not:
- include implementation details (.asp) and language preferences (_e), both of which can be handled transparently by content negotiation;
- use unnecessary punctuation. Some punctuation is ok, but four dashes scattered throughout the URL is too many.
Ideally, it should also always be possible to remove the trailing part of a path to obtain an index document for that level. If that’s not the case (which it isn’t for this one), it’s a probable sign that you have more levels of hierarchy than you actually need.