19

I'm trying to come up with a page-naming convention so that each page in a web application I'm developing has the human-friendliest URL possible. The current URL structure of the web application is:

http://foo.example.com/webapp/pageName

The only part of the URL that I'll be changing is pageName. The application is a basic CRUD system and has a UI that consists mostly of forms and lists. There are both object- and task-oriented page names -- e.g. addEvent, eventManager, eventReview, imageUploader, editEvent, addItem, editItem, bulkAddItems, bulkEditItems, etc. Given those constraints, I'm weighing a few different URL styles for these page names:

  1. The current camelCase convention, which produces names like those listed above. This is simply a vestige from prior development; the pages were named like variables, without much thought given to their UX impact.
  2. Hyphenation, producing page names like:
    A. http://foo.example.com/webapp/add-event, http://foo.example.com/webapp/event-manager, or
    B. http://foo.example.com/webapp/Add-Event, http://foo.example.com/webapp/Event-Manager
  3. Using underscores, producing page names like:
    A. http://foo.example.com/webapp/add_event, http://foo.example.com/webapp/event_manager, or
    B. http://foo.example.com/webapp/Add_Event, http://foo.example.com/webapp/Event_Manager

Stack Exchange and Smashing Magazine use a style somewhat similar to 2A, e.g.:
- http://ux.stackexchange.com/questions/9093/senior-usability-and-navigation
- http://www.smashingmagazine.com/2011/07/25/email-is-still-important-and-here-is-why/

Wikipedia uses style 3B, e.g.:
- http://en.wikipedia.org/wiki/Extreme_Programming

I'm leaning toward style 3B. It emphasizes the page name with capitalization, and the underscore seems like a clearer and more intuitive word-delimiter than the hyphen.

What do others think? How much do these different URL styles lend themselves better to UX depending on what type of web application (blog, Q&A site, encyclopedia, what have you) they're being used for?

2
  • 2
    Note that URLs are case sensitive and Wikipedia has implemented redirecting for non-canon capitalisation. As such it's probably more convenient to just make everything lower-case.
    – Rahul
    Jul 25, 2011 at 17:07
  • 5
    @Rahul - case sensitive URLs have always been one of the dumbest things in my mind. Like users are going to remember case when typing in a URL. But agreed that it needs to be handled one way or another. Jul 25, 2011 at 18:18

2 Answers 2

36

If you're looking for the most SEO friendly URLs that are also human readable, then I would recommend using all lowercase, hyphenated URLs, as that is what Google recommends in their Webmaster tools documentation. However, if SEO doesn't matter for your web app (if, for instance, it all lives behind a login requirement), then you can use whatever deliminator you want.

I would strongly recommend that you avoid camel case URLs unless you are prepared you accept the URLs without proper capitalization as well... nothing is more frustrating to a user than being told to go to www.example.com/FooBar.html and getting a 404 when they instead type www.example.com/foobar.html (and yes, this really happens... some of the older systems at my workplace do this, and it's obnoxious!)

5
  • 4
    +1 for the Google recommendations - why would anyone now ignore this! Jul 25, 2011 at 17:58
  • 16
    +1 - Also, another argument in favor of hyphens is that underscores can disappear when a link is underlined, as is most often the case. If you're displaying a full URL as a link, underscores become a huge usability problem. Jul 25, 2011 at 18:01
  • 2
    And word wrapping. Dashes will tend to work with word wrapping when they need to, in a logical place, whereas if you use underscores, the text will overflow or break mid-word. Jul 28, 2011 at 17:26
  • 1
    Contrary to the answer, the linked Google document does not recommend lower case URLs. It is completely neutral in this question, it even has an upper case example, specifically wikipedia. Nov 4, 2013 at 17:19
  • @HontváriJózsefLevente: You're right, that was poorly stated. Google recommends hyphens over underscores, but says nothing about case (though case sensitivity in URLs is generally a bad idea, nonetheless). Nov 4, 2013 at 21:44
2

The parts of the URL below the root domain name are generally case sensitive on UNIX web servers and case insensitive on Windows web servers. Some unix webservers use the Apache mod_speling module to look for an alternative case mix if the given URL is not found.

To reduce likelihood of a '404 page not found' error you can create a 404 page yourself which can lower case the unfound URL and check for its existence and if that is found, redirect the page. That's a little feature no-one need ever know about.

But that little tweak is going to be much harder if you have CamelCase or MixeD_CasE in your URLs, because it easy to automatically lower case everything - not so easy to un-lowercase everything!

Go for 2A. Make life more flexible from day 1 and reduce chances of a headache later.

4
  • 2
    mod_speling is the correct spelling :-) Jul 25, 2011 at 17:46
  • and I would say that those unix webservers that don't use mod_speling to handle case issues should be doing so. Case sensitive URLs are really dumb for 99% of all uses I can think of. Jul 25, 2011 at 18:20
  • out of curiosity - what's the 1% :-) Jul 25, 2011 at 18:37
  • URL shortener services, although, even those I feel would be better suited without case sensitivity (for users), but it limits their potential URLs a lot that way. Jul 25, 2011 at 20:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.