A Better URL Structure for SEO?

A couple of years ago website owners scrambled to adopt the latest and greatest URL structure to help their rankings. What people finally settled on included characteristics such as these:

  • Free of session IDs
  • As few parameters as possible
  • As Short as possible
  • Keyword-rich
  • Dashes as word separators

And for the most part I agree with all of these things, but lately I've been wondering if there isn't a better way. The three areas of weakness I see with the above approach include:

  • It's possible to have duplicate URLs if there are just words with no unique identifiers. Some people include the data in the URL, but I don't like doing that, but it seems to guarantee fewer visits for articles that are old even if they're relevant.
  • If you want to rename a URL to use different keywords, you need to also set up a 301 redirect so users and search engines can find the content when using the old URL.
  • Google News which is slowly being incorporated in to Google's main search results (Google Universal) requires a unique 3-digit (or more) identifier in every URL that isn't the date.

My proposed URL structure is this: https://infolific.com/technology/internet/######/one-or-more-keywords/ where ###### is a unique, numeric identifier with 3 or more digits. Advantages to this approach include:

  • Numbers in the URL are unlikely to dilute the keyword relevance of the URL.
  • You'll still get the keyword benefit from sites that link the page without creating custom anchor text.
  • The number can map to a content record in a database for guaranteed lookup success EVEN IF the keywords change i.e. the CMS can be programed to ignore everything except the number.
  • Should the keywords be changed down the road, automatic 301 redirects (based on the number in the URL) can updated search engines and users. No more manual redirects!
  • Using a unique ID should allow for technology and database independence as long as you can carry the ID to whatever new system your website migrates to.

The biggest drawback to this new URL structure is that numbers sometimes scare people and there's no question that they make it near impossible to type the URL correctly. Sadly, I don't have a suggestion to deal with either of those two issues.

Anyone want to take me to task for proposing such a crazy idea?

[Update – October 4, 2007]
So a month after I wrote this article with what I thought to be an original idea for a URL structure, I discovered that another site is already using this structure. On the SeekingAlpha website the URLs are structured like this:


An example of a real article:


And all of these URL versions will redirect to the correct artle:


Kudos to the SeekingAlpha site! The only problem is they messed up with their redirects and used 302s (temporary) instead of 301s (permanent).

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 2.50 out of 5)


  1. WordPress, the most popular CMS strongly recommends to not have the text fields in the starting of permalink from point of view of database,

    Starting Permalinks with %category% is strongly not recommended for performance reasons.

    For performance reasons, it is not a good idea to start your permalink structure with the category, tag, author, or postname fields. The reason is that these are text fields, and using them at the beginning of your permalink structure it takes more time for WordPress to distinguish your Post URLs from Page URLs (which always use the text "page slug" as the URL), and to compensate, WordPress stores a lot of extra information in its database (so much that sites with lots of Pages have experienced difficulties). So, it is best to start your permalink structure with a numeric field, such as the year or post ID.

    Similar advice comes from webertz.

    So the best idea is to start permalink structure with post-id. It makes URLs unique and database friendly. I don't see any harm in placing the numeric identifier in the starting instead of at the end.

    What is your advice?

    • The right answer depends on your goals. If having the fastest loading site is your primary goal, then using numeric permalinks may just be the best way to achieve that. However, I'd argue that if speed is of utmost important you should look for a CMS that generates static HTML files that would bring down the number of database queries to 0.

      The advice here and on other sites that suggest using keywords in the URLs is based on the assumption that traffic is your primary goal. And while keywords in the URL may not, on their own, drive a lot of traffic, it is one item in a long list of items related to obtaining the best possible organic rankings and traffic.

  2. Well great read! I have been wondering about this for awhile. On most of my links I use "-" and it seems to work ok. Some site will not let you use that but let you use "." and i wonder about using it! I am gonna give it a try and I will let you know if I have any luck! From what I have read the indexes looks at ". _ - / " the same, I may be wrong about that! What do you you guys think?

  3. I was reading this article and noticed that now your url has the ID at the end of the url, which is what Amit commented on I guess prior to when you changed them. I was just wondering why you decided to make the change to having the ID at the end?

    Thank you for the great post!

  4. Which is the better way to display URL for SEO purpose. Like this e.g. allthingssem.com/a-better-url-structure-for-seo/ OR allthingssem.com/a+better+url+structure+for+seo/

  5. Amazon does something like that, e.g.: http://www.amazon.com/Habits-Highly-Effective-People/dp/0671708635

    The keyword rich part of the URL does not play any part in the Web page resolution, it's there just for SEO. i.e. you can edit the URL and it still works: http://www.amazon.com/Habits-of-losers/dp/0671708635

    I don't think that's a good way to do it :)

  6. Amit,

    Having the ID at the end would technically work too, but it introduces a couple of potential problems. The first is that some people might think the numbers are some sort of session ID and remove them. The second issue is that you want to make sure your CMS knows where to look for the ID i.e. always in the same spot after the domain. If you put it at the end of everything and your URLs have a varying number of folders, you could run into problems.

  7. Marios, How about placing the unique ID after the keywords - something like xyz.com/one-or-more-keywords/######/

    If the URLs are long, search engines display only part of the URLs in the organic resultsets - if the keywords are more on the right side, it might help the visitor get a better idea about the page.

Leave a Reply

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail.