Quite a long time ago we discussed best practices for URL structure – that old post needs both an update and more details to discuss. So I decided to start a new post summarizing and discussing various strategies for URL file naming.
1. Why do we care?
URL is undoubtedly one of the most important aspects that affect both SEO and usability.
- Rankings (placing keywords in the file path is one of the most effective ways to make the keywords more prominent);
- Click-through: a “clear”, “readable” URL can be another reinforcement signal for the user to click it;
- Usability: a good “obvious” URL helps the user understand what the page is about even before entering the page.
2. Keywords in the file name
There is no doubt that keywords in the URL matter (so far they even matter a lot). However this doesn’t mean that you need to stuff your URLs with only keywords. The best practices would be:
- Keywords in the file path occur naturally;
- Keywords in the file path help make the URL easier comprehensible and memorable;
- URLs do not consist of only keywords: here’s a good point expressed by Onreact in his post on top 10 fatal URL design mistakes:
Recently bloggers tend to shorten their URLs in as much as their posting becomes totally boring. I won’t click /2008/06/27/google if I see only the URLs (like, say, in an email) but I will click google-files-for-bankrupcy
3. Word separators
While Google has become much smarter when it comes to identifying separate words in the file path, a dash is still considered the best choice:
|Space||URL encoded as %20 (makes the URL not easy to read). This may also prevent from sharing the URL in some social bookmarking services.||/word1%20word2|
|&||URL encoded as %26 (makes the URL not easy to read). This may also prevent from sharing the URL in some social bookmarking services.||/word1%26word2|
|Comma (,) or period (.)||Abused by spammers||/word1.word2 OR /word1,word2|
|Underscore||Traditionally it isn’t seen by search engines as a word separator (this is slowly changing now)||/word1_word2|
4. URL length
While it is still considered the best practice to stick to shorter URLs, the factor is becoming less and less important:
- Usability: Very few people manually type a URL in the address bar. They either use bookmarks or search history (e.g. FireFox / Chrome smart address bar that shows URLs while you start typing the title of the page) or just use Google to find the page again;
- SEO: Google can handle very long URLs (though it is still rumored that it prefers short URLs, I personally don’t see any big difference);
- Click-through: Google now breaks long URL in SERPs smartly: it only shows the parts which use the search term or even substitutes the URL with breadcrumbs.
5. Case sensitivity
We have discussed this before: URLs are case sensitive. That being said, if you have two versions of the URL live and linked to (which is only possible if your site is on Windows server), this means that both lower- and higher-case URL versions return 200 OK status when queried. This will cause some duplicate content issues but Google will most likely be able to figure that out (by choosing one of them). What’s more important is that you are wasting plenty of link juice spreading it between the two versions.
It is recommended to always choose lowercase pattern (just because there will always be people who will link to a more traditional, plain-text version) and to use 301 status code to redirect all other (capitalized, upper-case, etc) versions to the lowercase one.
6. URL Extensions
We’ve discussed URL extensions previously and come to the conclusion that it doesn’t matter too much if an URL have one or not. There are some pros and cons (listed below) but these are rather minor arguments:
Argument for using an extension: intuitive browsing: seeing an .htlm people may understand that is a page with content, seeing / people may assume that’s a folder. Although there is no direct impact on rankings, an URL extension makes it clear both to a user and a search bot whether this is a page or subdirectory.
Arguments against using an extension:
- Reduce the overall URL length, which is just better overall. Not that the 4/5 characters that are in the .html or .php really add a lot, but sometimes small things can make a difference.
- No problems with any technology changes (moving to anew CMS, etc): no need to redirect the old URLs to the new ones.