I got into a discussion today at work over whether or not having an .html file extension has any SEO benefits over an extensionless directory-style url. I did a little research online and found just about equal arguments for either side.
On the .html file extension side, the argument is that having a file extension makes any keyword-rich naming appear human-generated rather than computer-generated, since html files are typically static files. They also argue that a page named “/awesome-page.html” is considered one level higher than one named “/awesome-page/” and that higher level pages get more indexing-juice.
On the other side, the argument is basically that it doesn’t matter. It’s likely that Google does not really assign more weight to a page with an .html file extension, as extensions can easily be generated dynamically. Surely, Google or other search engines aren’t so naive as to make an assumption such as, “If the page has an .html extension it must be static”. Secondly, while it is true that pages higher up in the directory structure of a site get more weight in indexing, it’s also true that this is considered in relation only to the site itself. At that point, the argument becomes moot, since whether the site structure starts at level 0 or level 1, all sub-levels will line up equally. Lastly, and perhaps most importantly, the W3C recommends directory-style urls over extensions (under the heading, “What to leave out”).
Regardless, there does seem to be valid points on both sides, so what do you think?
For those who are unfamiliar with IPython: it’s a Python shell replacement that adds many features for developers. It’s beyond the scope of this post to go into greater detail, but if you want to learn more you can visit the IPython website.
IPython has been an enormous aid to me in developing with Django, but there was one issue I was having that nearly drove me nuts. Running on Mac OSX Leopard, I found that occasionally, as I was typing a long bit of Python, the screen would go all (for lack of a better word) wonky and part of what I was typing would go into another part of the terminal screen away from the actual command line. Other times, as I would cycle through previously typed commands, the same thing would occur, obscuring or removing entirely the possibility of editing certain lines I had typed in. The end result: I ended up having to waste much time retyping the same or nearly the same commands over again, or worse, an entire block if I was in the middle of writing a method.
Well, today, I finally got sick of it and started searching for a fix. It was difficult to search for since it’s hard to even explain what happens, but I did find a fix at IPython’s site, of all places. According to the site:
Many of the problems users have experienced in IPython on OS X leopard are due to Apple’s use of the BSD editline library instead of the GNU readline library in Leopard’s system python. Ludwig Schwardt’s has created an egg that statically links agains the GNU readline library.
To get the egg, simply run the following from the command-line: