File naming is an element of SEO that most people pay little attention to, yet its a crucial issue for two key reasons;

Search Engine Page Results

When a reference to one of your pages shows up within a SERP, there are 3 important cues that can entice a visitor to click the link and visit your site. In order, they are Title, Description and URL – or page file name. Why not give yourself every possible advantage when competing for visitors, by providing accurate and readable file names? It might well be the final push that slides the mouse pointer in your favor.

Search Engine Rankings

Equally, when search engine spiders are mapping your site and trying to figure out what on earth its all about, giving them some accurate information in every possible area would seem like a smart move, right? Keywords in file names are important, and they do make a difference. It might only be one of 100-plus elements in a search engine relevancy algorithm, but the more places you can tick off as being perfect, the better!

The Reality Check

Oddly enough, few people actually do this! Most file names are either a model of brevity, acronymic, cryptic or just plain gibberish! Thats a bit like driving with the handbrake on…

Top 10 Factors

1.) Use keywords! Why use “contact.html” when you could use “contact-the-blue-widget-specialists.html”??? Your page names are a good place to slip in an “exact match” high-volume keyword phrase… Do this where appropriate – like every page on your site – to help reinforce the keywords in Title / Description tags.

2.) Use hyphens and not underscores! In a URL, or in a text anchor on a page, the underscore blends with the hyperlink underline, making it difficult to see that it is not a space.

3.) Do NOT use spaces! Aside from the fact that the operating system has to fill the gaps with the awful %20 – there are still some operating systems and browsers in use around the globe that struggle to process spaces in file names.

4.) Do NOT use CAPITALS in file names – Windows does not care, and will treat “Blue-Widgets.html” and “blue-widgets.html” as the same file… However, operating systems such a Linux are case sensitive and see that variation as two completely different filenames! If you’ve typed internal hyperlink file names with case variations, you may well generate broken links for some users.

5.) Confine yourself to the alphabet, and numerals, with hyphens between words. Do not commit the heinous crime of adding special characters into your file names! Linux allows pretty much any character except a forward slash (/index.html) – but other operating systems might choke on them!

6.) Remember that SE’s really don’t like all the “&” and “?” and “=” that some CMS systems add. For example, if you are an osCommerce user, its a straightforward task to have Ultimate SEO URL’s installed, and produce plain-English file names.

7.) Don’t use the default file names and hierarchical structures in WordPress / Joomla / Drupal / or any other Content Management system. For example, is 2007 a good Category heading, or directory name? Its out of date in a few months time! Still, its not uncommon to see sites based on silly, out-of-date directory/file name combinations.

8.) Make sure your CMS site generates keyword-rich file names that reflect page content. This should be the “normal” way to do things, but apparently the people who write this software genre don’t really understand a web business must generate search engine traffic to survive.

9.) Prevent your session ID’s being added to pages served to search engine spiders. Aside from the special character garbage, it means every time they visit, they get a different URL for the same page – resulting in duplicate content indexing! That can get your site removed from the SE indexes!

10.) Before changing a filename, ensure that you first set up a 301 Permanent Redirect from the old file name to the new file name. This will make the transition seamless, and minimise the possibility of 404 page not found errors. Also, those people who had the page bookmarked will still arrive at the correct location in your site.