10

Is using a URL like http://coolsite.com/doSomething common?

Or should such a page have a URL like http://coolsite.com/dosomething or http://coolsite.com/do-something ?

5
  • On a Linux server, /doSomething and /dosomething are different (although they may be mapped to do the same thing). IIS servers are not case-sensitive. Commented Jul 1, 2013 at 14:53
  • 1
    Only comment I can make from an UX perspective is, doSomething and do-something have better readability than dosomething.
    – rk.
    Commented Jul 1, 2013 at 15:36
  • FYI - I'm not asking which is easier to code. The OS the server is running on is irrelevant ... what's nicer for the user of the website?
    – ripper234
    Commented Jul 1, 2013 at 16:05
  • @AndrewLeach - That is one of the biggest problems with apache - anyone running an apache web server should turn off case-sensitive URLs. Commented Jul 1, 2013 at 16:45
  • 1
    If you ever want to change hosting providers, then the OS the server is running on can be pretty important. Moving from a case-in-sensitive to a case-sensitive hosting platform can create all sorts of fun like links no longer working. Vice versa the fun could be in suddenly having duplicate routes whereas before they were distinct. Commented Jul 1, 2013 at 18:15

6 Answers 6

22

Go with the hyphenated option. It will be easier to read for the user and if you have longer names, make it easier to recall too.

eg: look at the URL for this question:

questions/41595/what-is-the-casing-convention-for-url-routes

Also, avoid capitalization if possible, just to remain consistent. eg: Was the S capital or was the D capital?

8

Unless you have a very important reason to do so (like URL shorteners e.g. bit.ly), URLs should never be case sensitive (regardless of the OS for the server). A user does not want to have to remember that the path to a certain page on your site has capital letters at position X and position Y.

It is also much quicker for the user to type all lowercase. And making your URLs case-insensitive, even on apache-based websites will mean that no matter how someone types your URL in a link or in the browser window, the user will get to your content, which is the most important part.

As for using underscores, hyphens, or nothing, the best thing for search engine optimization is to use hyphens, then each "word" in the URL is considered a "term" by the search engines. Bing treats underscores and hyphens the same way, but Google (at least as recently as I can find) treats words separated by hyphens as separate terms, but combines words separated by underscores into a single term.

Having no spaces between the words means that the entire string is going to be treated as a single word by search engines. If you absolutely do not care about search engines finding your page in any way, then going without hyphens/underscores is definitely easier for a user to type. But my argument at that point is, how many people really type your URLs as opposed to getting there via other means?

5

The general consensus is that a dash is seen by google as a space, when an underscore and camel-case are not.

So there is a SEO benefit there--which one could translate into a UX benefit in terms of 'findability'.

As for readability, all lower case is certainly the hardest to read.

So that leaves camel-case vs. a separator such as a dash. I'd argue the dash is as close to plain-written language (using spaces) so would say that's another plus for the dash option.

4

double-click this: theQuickBrownFox

double-click this: the_quick_brown_fox

double-click this: the-quick-brown-fox

Your computer (most likely) considers the last to be separate terms. Google (or any other automatic word indexer) would understand that those are separate terms and would be able to index them properly.

0

For upper-level domains, use camelCase for promotional things outside of the web like commercials and brochures. Basically, if the user can't copy and paste the domain, then use camelCase to make it easier to read and (more importantly) easier to remember. Domains should be case insensitive anyway.

For pages within domains, use hyphens because these names tend to be longer. It's easier to just type a hyphen to separate words than it is to hold down the Shift/Cmd key and type a letter.

-1

Its mostly different on the type of OS you are using. From a technical geek(like me) perspective I would suggest sticking to camelCase :)

Mostly use "-" server a better UX experience, because human eyes are more fixated on center of words.

4
  • 1
    Can you provide the benefits of using camelCase from a UX perspective?
    – rk.
    Commented Jul 1, 2013 at 15:48
  • From UX prespective, its always better to use something which has a space, so the closest you can get is by using "_" or "-" I replied from a coding perspective earlier. I remember in my old days during my training we were taught that human eyes focus more on the center of the words rather than the entire word, so the easier it is to differentiate words the better.
    – neoeahit
    Commented Jul 1, 2013 at 15:53
  • 1
    You are saying a _ or - is better and yet are recommending camelcase as the answer? ;)
    – rk.
    Commented Jul 1, 2013 at 15:56
  • I am saying use your guts! from UX use "-", some users feel it hard to press a shift also, so "-" is safest bet. from a geek/nerd perspective camelCase ;)
    – neoeahit
    Commented Jul 1, 2013 at 16:02

Your Answer

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

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