Update 6/10/09 – Video from Matt Cutts about the underscore vs. Dashes issue.
Spaces should never be used in a URL or file names because the space character gets translated to “%20” by the browser, and this can wreak havoc with both readability and statistics or analytics programs. The question then remains, which is better to use instead of spaces, underscores “_” or dashes “-“.
As far as Google is concerned Big_Oak consists of one word, “Big_Oak”, and Big-Oak consists of two words, “Big” and “Oak”.
The reason Google does not treat the underscore as a word separator is because Google was created by programmers who knew that programmers often wanted to search about programming. Many computer programming languages use the underscore character in such ways that CLASS is different from _CLASS.
Because of this, I always recommend using dashes instead of underscores in your filenames and URLs. Be careful not to use too many dashes in your domain name, as that could get your site flagged for other reasons. I prefer to have a domain name with no dashes, and to use dashes where appropriate in the directory and file structure.
Other things about Google to keep in mind when choosing filenames and URL structure.
- There is no difference between lower-case and upper-case:
big oak, Big Oak, BIG OAK, and biG Oak are all the same.
- The ampersand “&” is a word seperator:
Big&Oak is treated as two words.
- Singular words are not the same as plural words:
oak and oaks are treated as different words.
- Google cannot read words that are within other words:
bubble will not be seen inside of bubblegum.
As with any tip, keep in mind that it’s a combination of many factors which will ultimately decide your placement in the search engine rankings and quite often every little bit counts.