A coworker and I are locked in a debate over the value of SEO keywords in the URL of a page. She wants to change all the filenames of the HTML pages of a fencing company so they look like residential-home-chicago.html, contact-chicago-contractor.html, and so on. She is convinced that because Google highlights keywords in URLs in search results, that means that putting keywords here is more valuable.My position is that these do not improve SEO, since Google doesn't seem to give keywords in the URL any more weight than keywords in the body of the page, and might even give them less weight. In the meantime, they make it harder for me to find the pages I want when its time to edit them, and the site as a whole looks cheap and spammy.Google's own SEO guide suggests to me that yes, keywords in URLs are useful, but not superior, and that they are more useful for human readability than search engine rankings.I'm looking for authoritative sources that support either position, not blog articles from SEO optimization companies trying to promote themselves.
Are keywords in URLs good SEO or needlessly redundant?
seo;google;url;keywords;ranking
Google doesn't put much (if any) ranking weight directly on the keywords that are in the URL right now. Any effects on SEO with or without them are caused indirectly through user interaction and usability.From a better usability standpoint:Keywords in URLs can increase the clickthrough rate (CTR) from the SERPs.   Check out these two search results for Stack Exchange on Google.  The first uses keywords in the URL and gets an extra instance of the keywords bolded in the listing. When URLs are pasted into forums and the like, keywords in the URL let users know what to expect and increase interaction there as well.  Here is a screenshot of two links to the same meta discussion from here, one with keyword url, one without.  The one with the keywords is more attractive and informative.  When urls have keywords, but no numeric ids, urls can be both informative, memorable enough for users to recall, and short enough for users to type.  Wikipedia has the gold standard in this regard.  The URL for their page about Stack Overflow is en.wikipedia.org/wiki/Stack_Overflow.  (It could drop the wiki/ and maybe even the en. part to be even better.  Also, they should use dashes rather than underscores because Google doesn't handle the underscores properly.)Keywords in URLs can however, make usability worse in some ways:It makes some URLs long.  Long URLs are more likely to get truncated in emails and  by CMS systems.  Because of this, you should have the numeric id in the front where your software can still see it if the last part of the URL is chopped off.If the keywords are not used as database keys, there can be many URLs that will access the same content.  You will need to implement URL canonicalization to choose the one that you want search engines to index.Users may not be picky about upper and lower case when they type in URLs, but your server software should be.  You should have a canonical case (probably all lower case) and redirect to that proper case as part of URL canonicalization.If the URL isn't all ASCII, the international characters will be URL encoded when sent to the server.  Some software will show the URLs to users with ugly encoded characters. http://www.dmoz.org/World/Japanese/%E5%81%A5%E5%BA%B7/ vs http://www.dmoz.org/World/Japanese//Keywords in URLs may also contribute to SEO spam penalties for keyword stuffing and thin content.  When Google's Panda and Penguin algorithms launched, several sites that were hit had nothing but URLs that were specifically targeted at keyword variations.  Avoid having too many pages on your site that have nothing but targeted high traffic key phrases as the URLs.  For example, a site with a set of URLs like:/best-blue-widgets/widgets-in-blue/buy-blue-widgets/blue-widgets-for-saleis going to be seen by Google as unlikely to have high quality content.  In such a case it would be far better to have pages such as:/blue-widgets/article-2345-uses-of-blue-widgets-for-widget-detection/article-8373-blue-widget-buying-guide/article-9873-how-many-blue-widgets-is-enough-for-one-circusSo my advice is:Use keywords in urlsSeparate words with dashesKeep the entire URL lower caseUse one, two, or three words with no numeric id in the URL when possibleUse a numeric id near the front, with a URL slug after it for longer URLs.Implement URL canonicalization to 301 redirect to the best form of each URL (first choice), or use the rel canonical meta tag (second choice).Don't just target keywords in URLs, pick URLs that are short, descriptive, and memorable when possible; but avoid keyword stuffing.