Underscores, Dashes, Matt Cutts, Oh My

Should you use dashes or underscores in URLs? The age old question has a new answer. Over the weekend at WorldCamp 2007 Matt Cutts broke the news that Google would soon be treating underscores as word separators, much the way they already treat dashes. That should be welcome news to anyone currently using underscores. In spite of the good news you’re still better off using dashes.

The good news comes via cnet News Blog writer Stephen Spencer who also shares some other goodies from Matt such as your file extension doesn’t affect ranking. You can use .php, .htm, .html, .asp, and it doesn’t matter. We already knew that, but confirmation is always nice. Matt also revealed that if you want your blog to get into Google News it needs to have multiple authors.

Back to the question of underscores vs dashes. I still think dashes are best for one very simple reason. Dashes are more readable to human beings, especially in URLs. Underscores are a little more difficult to read in general, but they can completely disappear when the text is underlined.

Which text has the underscores?

Which_text_has_the_underscores?

The observant among you will notice the second line above is longer than the first. It’s longer because it has the underscores and underscores are wider than a space, but you shouldn’t be able to see the underscores themselves. You can see them if you make your text bigger of if you overwrite the font, but both lines are 12px Verdana, which is the most common body font you’ll come across. Even with bigger text or a different font it’s not too hard to miss the underscores. Most will see the underscore as a space.

The potential is there for someone to mistakenly think your URL has spaces in it. It won’t happen a lot, but why let it happen at all.

If you’re currently using underscores in your URLs don’t worry. Just enjoy the good news that it will now or soon count as a word separator. In the future think twice about using dashes instead.

For a little more coverage of Matt Cutts goodies from the weekend have a look at

And while we’re talking about Matt Cutts he asked earlier in the week what you wanted to see implemented in Webmaster Central. Tell Matt what you want to see or just check out what everyone else wants. At the moment the leader is ‘more information about penalties or other scoring issues’

Download a free sample from my book, Design Fundamentals.

4 comments

  1. I’ve wondered myself. It seems like it would have been such an easy and logical change to implement. Good example too directly from Google. Maybe they discovered no one could find their pages and fixing the underscores was easier than renaming and 301ing all the pages.

    It does get hard to keep up with all the different naming conventions. I program in a few languages and have to go back and forth between underscores and capitalization. It’s easy to forget which language gets which convention sometimes.

    And when you throw things on the web it adds to the confusion since prior to now it was important to use a dash. As far as I know Google will see the keyword1Keyword2Etc as one word and so not individual keywords are seen. That naming convention works better for the JSP programming, but so not great for the URL.

    Even if underscores are now Google friendly I’m still going to stick with dashes. They’ve become my convention in anything that a search engine might crawl and I think they are the most human friendly in terms of readability.

  2. Oh finally. I am sure it did not take them more than couple of hours to make such a change. I wonder why it took forever to implement. I had noticed a while back that most of the links on Google analytics conversion university were not search engine friendly. Most of them used underscores in naming the files. Checkout this URL from Google

    http://www.google.com/analytics/cu/dt_sitemaps_for_seo.html

    In the J2EE world, we still use a different convention in naming jsp files. As a java standard, we don’t include underscores or hyphens in the name of a file. Instead, the name of the first variable starts with a small letter, each additional keyword will start with a capitalized letter. So the page will be named: keyword1Keyword2Keyword3.jsp.

  3. hehehe, I just noticed that you can not see the underscores in the link I posted to Google! That is the same point you were making in the blog.

    I must admit I refused to use dashes for a long time. You can visit http://www.store.motorola.com and thank me for some of the horrible urls there. I came around tho. Using dashes makes the url much more readable.

  4. Funny. I did notice and I guess you helped to prove my point. I can’t remember if I started off using dashes or if I began using them after learning a little bit of seo and understanding the dashes were needed to recognize the individual words. I have been using them for a long time though.

Leave a Reply

Your email address will not be published.

css.php