Optimal URL Structure


Having an optimal URL structure for your website straight from the beginning is very important, both because it will attract more readers and because it will be really difficult to change it afterwards.

An optimal URL structure will not use numbers or strange characters on the permalinks, it will be short and describe the content of the page.

Here is an example of a poor URL structure:


Here is an example of an efficient URL structure:


An optimal URL structure will be more user friendly and it will also improve your search engine rankings. Most search engines, in fact, give a high weight for keywords present on the URL structure.


WordPress users can set an optimal URL structure by going into the Control Panel, then Options, then Permalinks. After you check the “Custom” structure and insert “/%postname%/” as a custom structure. This will make your permalinks display the post title right after the domain name.

Browse all articles on the SEO category

43 Responses to “Optimal URL Structure”

  • Damn Printer

    Oh God I really need to fix my permalinks!

  • Aahz

    I’ve been working my way through your excellent “Blog Setup: 40 Practical Tips” and have found myself a bit stuck here. Is there any way to alter the category URLs, themselves? For example, right now my category URLs are – MYSITE.com/?cat=16 when I’d like it to be – MYSITE.com/anarchy

    I’ve got the titles optimized fine, as well as my post, Page and archive titles and URLs. All that’s left is the category URLs.

  • Patricia

    I’ve been wondering about the permalink structure for a while now, there re lots of different opinions on the subject. One of my blogs, which has a PR7 uses the dafault permalink structure simply because I didn’t know any better when I started and after reaching a PR7 I was afraid that changing the structure would affect the PR. I haven’t tried any plugins yet, do they really do the job in keeping the PR?

    As for my other blogs with lower PRs I’ve been using the category/postname structure and I think this is the best alternative if you don’t use multiple categories for posts, however, if you do, like it’s been said above, it could become a little bit of a problem. Even so, I think it’s far better than using dates.

  • Daniel

    It does not affect them at all.

  • Deborah

    How does this change affect individual pages like About and Contact, which aren’t posts?

  • directtv

    Blog of directtv

  • Masha

    very nice blog

  • Simmons

    Anybody know how to do that with blogger?

  • Dawud Miracle

    It’s a pain simply because it makes my URLs more complex if I put a post in multiple categories. Let’s say I write a post and place it in three categories. WordPress chooses one of the categories ( usually in alphabetical order, I think) to use as the permalink. So if I try to link using the other two categories, the link is broken. This may seem minor, but it’s a bit of a pain for me. If I would have known this before hand, I wouldn’t have used category in the permalink.

    As for tags – I’m switching quickly to using tags with UTW.

  • theUg

    I made the mistake of using %categoy%/%postname% with my permalink. Don’t do this. It makes linking more difficult, especially if you place posts in multiple categories.

    Why would it make linking more difficult? As for categories, my idea is to post entries under single category, so that URL is informative in that it tells visitor what is general topic of the post (I often browse like this — instead of just clicking the link, I hover mouse over it to check the title and URL and see if it worth my time), and then I just tag away with my UTW.

  • Dawud Miracle

    I made the mistake of using %categoy%/%postname% with my permalink. Don’t do this. It makes linking more difficult, especially if you place posts in multiple categories.

  • Leftblank

    I’m a bit late to respond myself, I wish I saw this post earlier.

    I’ve got a tip though; always include your %postid% in your URLS. That way WordPress will only base the page shown on that value and you can edit the names of your pages without the chance of servicing 404’s to those visiting your website through backlinks.

    Like said above, I also agree on the timedateyear being useless, it’s often in the post so why bother putting it in the URL…

  • theUg

    Time stamp in the URL by default is the unnecessary bit of information, that visitor has to process. If information is in fact time sensitive, it could be incorporated as in my example above.

    As for search engines, each file on the server has a time stamp, and each URL supplied by dynamic CMS (such as WP) provide the time stamp, so for bots it’s enough information right there. So does sitemap.xml which provided in case of WP by related plug-in.

  • Daniel

    OK now I got the question, and I guess there is no definite answer, since different countries label dates differently. The clearer one in my opinion is year/month/day/.

  • Fanatyk

    Daniel that`s why I`m asking the question 😉

  • Daniel

    Fanatyk, as far as I know having dates on the permalink structure makes no difference at all for search engines.

  • Fanatyk

    You should always have a date in your permalinks as this is important for search engines. it’s one of the reasons google loves blogs because of the date stamp.
    How google knows that the row of numbers is date stamp? It may looks variously: year/month/day, day-month-year, dd_mm_yy etc. etc. So which one is the best?

  • rapture

    Yep, adding a unique identifier is important. If you don’t, then it would be possible to have the same “clean url” assigned to multiple blog posts.

    For instance, what happens if you wanted to name another blog post “Optimal URL Structure”?

    I guess if you are careful, then it won’t matter and will be best for search engines. But over time, that link structure will have a few “breaks”.

  • Maki

    I personally don’t feel that changing your urls to /%postname%/ really helps that much with SEO. Using a date or category/postname permalink would do just as well.

    SEOmoz does indeed use /%postname%/ but then again you have stiff competition on the other end. SEO guru Aaron Wall doesn’t do /%postname%/ but uses archives and numerics. Same goes for the very respectable Search Engine Journal. Problogger does date/postname.

    I think keyword density and page titles are far more important when it comes to Search Engine rankings for a specific page on a blog.

  • Everton

    You should always have a date in your permalinks as this is important for search engines. it’s one of the reasons google loves blogs because of the date stamp.

    Philip you can change your permalinks at anytime without having create any permalinks –

  • Josh Schumacher

    I was searching for some information on a topic that has been changing a lot lately. I realized how much the year/month/post-title structure helps give users a sense how relevant a post would be on a highly time sensitive topic when scanning search results.

    Pages that don’t post anything that is time sensitive may get a couple SEO bonus points but it means you can never make a post with the same title again and when searching though archives, it removes some of the context of the article you get when leaving the date in your permanent link structure.

  • theUg

    I use /%category%/%postname%/. This way, when people see URI /sport/football/holland-russia_07feb2007/, they know it’s about football, but when they see /politics/munchen_theses/, they know it’s about politics, not about FC “Bayern”.

    As for date, I do not think it is that important. I write timeless literary masterpieces, so that is of no concern to me. 😀 And my posts never have same name, besides I always manually edit slugs (I and my hosts are not ready to go UTF-URLs yet for non-latin content(like Wikipedia)), and add pertaining data information, should I require so (see example above with football).

    Fanatyk, I’d recommend you keep URL without “.html”. This way you can always keep same persistent address without worrying about creating redirects, when you choose to switch to XML+XSLT, or switch from PHP to ASP, CF, Ruby or what not.

  • Daniel

    Philip, yes you can change the permalink structure while retaining the older posts, but you will need to implement some complex 301 redirects to keep them working and retain the backlinks.

    Fanatyk, I am pretty sure that /postname or /postname.html is the same as far as search engine optimization is concerned.

  • Daniel

    Jennifer, personally I would change even a little improvement on my search engine ranking for the restraint of not naming my posts with the same name. By it is a matter of opinion, since I do not think that adding the date to the permalink structure would have any huge impact.

    That said some of the most important SEO blogs out there do not include the date but just the post title on their permalink structure (e.g. SEOmoz.org and PronetAdvertising.com).

  • Fanatyk

    I`m using %postname%.html but… what is your opinion which is better: /%postname%/ or /%postname%.html ?

  • Philip Liu

    Two things I’d like to mention:

    1) I’d be careful about changing the permalinks after other sites have already linked to you (otherwise they’ll get busted links) as well as for search engine purposes after your site has already been indexed with the current link structure.

    Is there a way to change future permalink structure while retaining old permalinks?

    2) For my blog, I use “yearmonthday-title-of-post”

  • Plain Jane Mom

    I always appreciate blogs which include the date in the URL. That way I can tell from scanning google results which are the most recent posts, or from the time period I need.

  • Jennifer

    I agree with Maki. You could have multiple posts with the same name. I use year/month/post-title. This also acts as a sort of self-documenting system, where the user can view the timeframe of the post simply by checking the URL.

    However, my blog also contains some pages that are separate from the normal blog flow, such as an about page. These are staple entries that are forever linked in the sidebar. These entries follow the domain/post-title naming convention.

  • Daniel

    Maki, If I am not wrong the only problem you can encounter from having a permalink structure with domain.com/post-title/ is related to posts with the same name. That is if you use this structure you can not have 2 posts with the same name, while if you have a numeric factor like date you would be able to have 2 posts with the same name because their dates would be different.

    Having the category names listed on the URL is OK if those keywords are related to the content on your post. But remember that the more keywords on titles or on URL the smaller the individual value that each of those keywords receive from search engines.

  • Maki

    I use /%category%/%postname%/ because all my categories are keywords and they are also automatically listed in Technorati as tags.

    WordPress also recommends that you include a /%post_id%/ instead of just postname. Though I think postname should be fine on most occasions.

    To quote WordPress.

    “If you use postname as the only element in your permalinks to create a structure such as myblog.com/post-title, the rewrite rules may make it impossible to access pages such as your stylesheet (which has a similar format) or the wp-admin folder.

    It’s best to include some numeric data (e.g. the post ID or date) in the permalink to prevent this from happening. Additionally, WordPress v1.2.x requires the use of a date structure in order for some features, such as the calendar, to function properly. /%year%/%monthnum%/%day%/%postname%/ is always a good start.”

Comments are closed.