Optimal URL Structure

By Daniel Scocco

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.


56 Responses to “Optimal URL Structure”

  • 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.”


  • 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.

  • 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.

  • 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.

  • 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”

  • Fanatyk

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

  • 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).

  • 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.

  • 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.

  • Mike

    There’s a good plugin that helps with the 301 redirects if you change the URL structure:


    I didn’t write it, but I do use it.

  • 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.

  • Mike

    Just for the record, you can create multiple posts with the same title. I set my permalink structure to just use the post title and created two posts with the title of “test.” The URLs ended up being http://www.url.com/test/ and http://www.url.com/test-2/

    I still prefer throwing the category in there, but it would do the same thing if you have two posts with the same title in the same category.

  • 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 – http://www.connectedinternet.co.uk/2007/02/20/permalink-migration-plugin-great-plugin-for-seo/

  • 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.

  • 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”.

  • Bes Z

    Good point Daniel. I think I mentioned this plugin in another related post here before, though I may be mistaken. I used the following plugin to change permalinks and redirect previous perma-structure to the new one:


    Maki and rapture have a point. Over time, a link structure can indeed have a few breaks. However, I try to keep my titles unique in some manner so that reading a title will let a person know what that specific post is about. That’s one of the reasons I have been using /blog/ before all my %postname% tags in my permalinks.

  • 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?

  • Daniel

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

  • Fanatyk

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

  • 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/.

  • 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.

  • 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…

  • 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.

  • 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

    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.

  • Simmons

    Anybody know how to do that with blogger?

  • Masha

    very nice blog

  • directtv

    Blog of directtv

  • Deborah

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

  • Daniel

    It does not affect them at all.

  • 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.

  • 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.

  • Damn Printer

    Oh God I really need to fix my permalinks!

  • Karthik

    1. You can have multiple posts with the same title, sequential numbers are added at the end of the URLs automatically by WP.

    2. If you have posts named as pages, it causes a conflict and WP prefers to show the page rather than the post.

    3. Having URLs that are both short and having relevant keywords is an important SEO factor, albeit not as much as other factors – still, it is.

    4. A URL of the form /%postname.html is better than /%postname%/ by a very small margin as search engines assume that in the latter case, the post is on the second level. It is common knowledge that Google gives more weightage to pages at the root level.
    Having a URL of the form /%postname%/ also means a possibility of duplicate content penalty as if you use /%postname%/ or /%postname%, it redirects to the same post *without* changing the URL. Google hates the same content on two URLs. There is a way around this, you can install a plugin to avoid it – but why bother when you can use /%postname.html?

    5. Using /%postname%/ in the URL also means that you can’t make posts such as “WP Admin” or something similar. But if you use /%postname.html, you don’t face the problem.

    The above points are correct to the best of my knowledge – if you need more clarification, click on my name to read my post – I’ve linked the post to my name so as not to appear to be dropping links!

    Hope that helps.

  • covarmon


  • Kazzi


    I’m a newbie/numpty when it comes to blogging so please dont laugh if I’m asking the obvious here lol
    I have just changed my urls to use the post name so would I have to get a new sitemap?

    Fab blog by the way! 🙂


  • Jeff Swanson

    This is all great information, however, I still haven’t heard a clear-cut answer on what the best url structure is for posts that can fall into multiple categories. I will be working on a blog soon and need to know what is the best and the permalinks can potentially be attached to multiple categories, or tags. Which of the following would be the best permalink URL given that the category URL would be http://www.example.com/category/






    By /random-post/, I mean that I would just pick one category if the permalink was in multiple categories.

    Thanks for your help in advance.

  • Strangely

    I’m in the same quandary as Jeff, (comment 37), as when I start to write I have one topic in mind, but in my own little world of interconnections where everything is related (I’m a Buddhist), I find that I have to add more and more categories to a post, so that by the end, the post may have three or four categories – I just don’t have the heart to give a post one category!

    Some people say you should use tags – but I think the same principal applies, in that the search engine sees multiple versions of content – which is bad as we are always told.

    Something weird happens to my posts’ URL Structure when I add a translator to my pages as well…. I can’t presently find much about it except to say that I get quite a few 404s with /chives/ in the URL title, which is a truncated “archives” folder. Maybe I shouldn’t use translation widgets?

    I currently use the numeric option to make each post URL unique as when I started, I could foresee times when I’d post with the same title, as several commentors have said previously, and I didn’t like the look of the date setup. That was my yardstick as I’d never blogged before. However, I’d read up a bit, and apparently, the big thing for Google is the actual title of, and on a page, followed by the content. The date is well down the priority list, and google gives you black marks for duplicate content.

    Thanks for a great set of postings on your site. I shall be working on lots of your tips in the near future.

  • allez sport 2005

    <a href=’http://darreatpics/thumbslrm/text486.htm

  • SEO Genius

    Great article thank you Daniel 🙂

  • Whimfield

    Thank you!!! Finally, a short clear post that explains this. Thank you!

  • andries

    How do I get employed in your company

  • Visionaer

    unluckily,I use the windows host,not by linux,solved the 404 problem caused by”index.php”
    i choose /%postname%/ finaly

  • kendra

    Thank you so much for this info! I’ve been totally frusterated with the default setting on my posts urls. This has saved me from hiring someone to change it for me!

  • Seb

    Is it bad to have a ‘-‘ in the url?


    I wonder if it affects the SERPs

  • Bang Kritikus

    How to apply this concept in a blogspot

  • daniel replicas

    i wonder if this site has a good url structure?

  • Steve

    I have always included the year and date in addition to the post title for the permalinks. I guess on my next blog I will have to change this practice.

Comments are closed.