The Downtempo Blog

Product, development, and design musings from your friends at Downtempo

The Downtempo Blog header image 2

SEO: Have a clear URL structure

October 11th, 2008 by Andy Volk

I’ve been working on a Ruby on Rails (RoR) project with a colleague as DOWNTEMPO’s first incubated product. While I’m more of a product shepherd than a programmer, I believe in trying my hand at everything, and so I found myself being tutored in the ways of Ruby and RoR.

One of the (many) great things about RoR is that it gets you up and running quickly, but one thing that you need to still do manually is to plan out a set of clearly readable “friendly” URLs for your website structure. (There are volumes of debate on how importnat the second item is, but I’ll leave finding those as an exercise for the reader.)

Search engines use a combination of URL, page title, and page content to index content on a site. Having clear URL structure will significantly impact the ranking of content in search results.

Here are some simple suggestions of how to structure your own site URLs. I thought I’d share them with you and save you paying me my consulting fees just to learn something that everyone should know.

HOMEPAGE

Should always be linked to as ”/” (so the homepage URL would always be “http://www.downtempo.net/” and never “index.htm” or “http://www.downtempo.net/page/2”).

TOP-LEVEL PAGES

Should always be linked to as the section title, using dashes or underscores instead of spaces. Use short, descriptive names that either match or are a derivative of the page title (ie. a page titled “The People of Downtempo” would get a url of “/people/”)

For example, the top-level page URLs on the Downtempo site are:

http://www.downtempo.net/work/
http://www.downtempo.net/process/
http://www.downtempo.net/people/
http://www.dowtempo.net/blog/

SECOND-LEVEL PAGES

Second-level pages (sub-sections) should always be linked to as an abbreviated form of the second-level title, using dashes or underscores instead of spaces.

For example, if i had a news section on the people site, and i had it broken down by subsections called “Featured News”, “News from Partners”, “Press Releases”, and “News of the Weird”, my URL structure should look like this:

http://www.downtempo.net/news/featured/

http://www.downtempo.net/news/partners/

http://www.downtempo.net/news/pr/

http://www.downtempo.net/news/weird/

THIRD-LEVEL PAGES

Third-level pages (ie. specific articles or images) should always be linked to with the full title of the article or image in the url, using underscores (or dashes, depending on your personal preference, it doesn’t make a difference with regards to SEO) instead of spaces, and removing any non-URL-compliant characters (ie. don’t urlencode characters like quotes ” just strip them out).

NOTE: If the user later changes the title of an article or image, this should NOT change the URL. This gets set only once, when the article/image is first created (although you may want to have a special override in later for cases where they REALLY want to change this—a lot of blogging platforms have this feature).

all URLs should always be less than 255 characters to avoid problems with some spiders and web form fields (they might want to use a URL as their IM status, for example).

A few examples of how to apply these guidelines:

1.) A news article article at “http://www.somenewssite.com/news_item/2″ should have this URL instead:
“http://www.somenewssite.com/news/article/bush_announces_unprecedented_step_to_address_financial_crisis”

2.) The press release at “http://www.somecompany.com/releases/2008/10342.html” should have this URL instead:
“http://www.somecompany.com/news/pr/revenue_grows_100_percent_over_last_quarter”

3.) The image at “http://www.somephotosite.com/image_set/2″ should have this URL instead: “http://www.somephotosite.com/photos/sutro_tower_in_the_fog”

2 Comments

Leave A Comment

2 responses so far ↓

  • 1 Steve Oct 28, 2008 at 4:51 pm

    I’m not sure about your underscore recommendation… The rest of it is solid, but I’m pretty sure the engines treat underscores as underscores (characters in their own right), rather than as white space due to their historic use in programming languages. If you want engines to treat it as white space, use a hyphen.

    So, if you’re optimizing for “andy_volk”, then the url should read ‘/andy_volk/”, however, if you’re optimizing for “andy volk”, the URL should be “/andy-volk/”.

    Actually, here’s a reference on it… http://www.mattcutts.com/blog/dashes-vs-underscores/

    cheers,
    Steve

  • 2 Andy Oct 29, 2008 at 2:39 pm

    Thanks for your feedback, Steve! I did a fair bit on research on this recently, and the official word from Matt Cutts at Google is that “Underscores are now word separators” (see this CNET article from July 2007), and most comments at the end of this blog entry back up that statement. It seems that he never changed his old blog entry to reflect this fact.

    You can see proof of this in a travel blog entry i wrote on how to recharge a china mobile SIM card. Query for “china mobile recharge” and note that in the result titled “how to use a china mobile recharge card (gone living)” (currently the #1 result for this query), you’ll see that the words “china mobile recharge” are highlighted in the URL, even though i’m using underscores between those words.

    Therefore it seems that dashes versus underscores in URLs is now an issue of style. I like the extra visual space between words that underscores provide, so i recommend using underscores as separators. You could just as easily use dashes if you prefer the way they look (they are also slightly easier to type than underscores), and it shouldn’t affect SEO ranking either way.

    I’m going to adjust the blog entry to mention that users can use either underscores or dashes without a significant impact on SEO.