Optimizing WordPress Permalinks

GuidepostPermalinks were invented to make the URLs permanent and also more easier to remember.

WordPress blogs by default use dynamic URL structure, in the form of http://mysite.com/?p=344. This is dynamic as the page is retrieved using the number parameter which changes for every page.

Using permalinks, the previous URL becomes something like http://mysite.com/cooking-tips-tricks.

Why use permalinks?

Besides being easier to remember and use, permalinks can have positive impact on your search engine rankings.

It is believed that Google ranks pages based on appearance of keywords in the URL, among other factors. You can see a hint confirming the theory in the actual search results page, as all keywords appearing in the URL will be highlighted as well.


Setting up Permalink structure

Permalinks are edited in Settings->Permalinks screen, and best results are made if you enable  "Custom structure". Custom means you can define permalink structure by using one of many permalink tags. Most useful are %postname% (title of the post), %post_id% (id of the post) and %category% (post category, if in multiple categories first created category will be used).

Most basic usage is only having %postname% tag and as an example you can see urls on my site which are using this structure.

Recently I am more inclined to think that using  %category%/%postname% may yield you better results if category names contain keywords you want to rank for.

Setting permalinks for Google News

If you want to list your site in Google News, one of the requirements is to have at least three digit identifier at the end of every URL.

This is easily accomplished using %postname%-%post_id% structure, which will append post ID to the end of url so it becomes http://mysite.com/cooking-tips-tricks-344. You only have to create at least 100 pages first in order to have three digits at the end :)


Since permalinks cost you nothing to set up, there is no reason not to use them. This should be the first step you do when you install a WordPress blog as changing permalinks at a later time requires more work (you will have all incoming links to your old urls).

Posted in: SEO, WordPress
TAGS:, , , , , , , , , , , , , , , , , , , , , ,
Both comments and trackbacks are currently closed.


  1. Nov 8th, 2012 11:58 AM

    Thank you!
    Really nice post.. It’s Work in my blog
    I’d like to improve my knowledge in wordpress..

  2. dailytipsy
    Aug 17th, 2012 10:28 AM

    please help when i installed wordpress on my host using softaculous the default category permalink is mysite.com/blog/category
    and my post link is mysite.com/blog/category/postname
    please help me i want to change it to /%category%/%postname%/
    i want to remove blog entirely.thanks in advance.

  3. Jan 19th, 2011 10:07 AM

    My current permalink is /year/month/day/post name/

    Is this bad for SEO. I have avery good SEO traffice and this permalink is ther from last 1 and half year.

  4. Nov 8th, 2010 12:14 AM

    Hi Vladimir,

    Thanks for the nice post and it is always pleasure to read your blog. I did not know that Google News need specific permalinks structure. Thanks for sharing this information.

  5. Oct 9th, 2010 5:05 AM

    Thanks for the information. I have just re-installed my wordpress. And changed immediately my Permalinks Settings. I believe its the best practice to do after the installation.

    BTW, I also prefer %category%/%postname%.thanks

  6. mr.richmind
    May 27th, 2010 1:15 AM

    Can you help the way to set-up permalinks without : index.php?


  7. May 18th, 2010 6:19 AM

    My new blog just set up the new permalinks. Just nice permalinks. Thank you.

  8. Apr 25th, 2010 3:45 AM

    Nice tips, I use category and post name for my new blog and find it easily to remember and good for SEO too

  9. Mar 17th, 2010 5:45 PM

    I always make sure that I setup permalink as soon as I install WordPress.

    Each time I would use something different according to the needs from that particular blog.

  10. Marc
    Mar 2nd, 2010 4:22 AM

    Hi, does anyone know if there's the possibility to use 2 different structures?
    One would be like http://www.mysite.com/article1.html and the other like http://www.mysite.com/news/article2.html

    Since I've a website which is already running with the first structure but now I'd like it to publish only some articles in a different way (for example using the category "news")

    Do you think it could be possible?

    Thanks :)

  11. Jan 28th, 2010 3:06 AM

    But sometimes we need to know the time information from urls in SERPs. Especially information talks about time-related announcements, e.g: job vacancies, conferences, seminars, etc.

  12. Jan 22nd, 2010 1:59 AM

    Thanks I knew about permalinks and how to use them, I am really excited about the google news perma links though.

    this is awesome, and I wondered how this worked. This is really gonna increase exposure thanks again.

  13. Jan 15th, 2010 11:16 AM

    I would like to run my site on http://www.thailand-hotdeals.com with wordpress.
    I have another software on folder. Can I ignore .htaccess (mod-rewrite) on sub folder?
    Thanks for advance.

  14. Alan
    Jan 14th, 2010 8:24 AM

    Hi Vladimir,

    I will unfortunately need to change my permalink structure as it begins with a date. The reason for this was that the blogs started on Blogger, which use dates in the urls so, I needed to maintain the same when moving to WordPress so to avoid 404's.

    Well, I have yet to remove the dates from the permalinks & now that it's been about 9 months since moving from Blogger, we have a lot more urls to change. I was going to to make the change because I though WP automatically redirects changed permalinks/urls so I figured I would be okay. But I noticed that you did not mention that above.

    Do you have any thoughts on this?

    Thanks! BTW, I just emailed you about some private work...this url change being some of the work ;-)


  15. Jan 11th, 2010 1:39 AM

    Hi. Very good article, but I need a help.

    I use wordpress on a linux server.

    I set permalinks but I have some problems with a couple of things.

    How to rewrite & permalink like "domain.com/fr/aticle-title" this 2 address

    The second problem is this:
    "domain.com/article-title/?lang=fr" must be "domain.com/fr/article-title/"

    The third is to know how to modify variable sequency in permalink
    "domain.com/index.php?p=228&lang=fr&tag=ferry" must be "domain.com/fr/ferry/article-title/"

    I need to know how to modify htaccess file or if there is a wordpress plugin and how to set it.

    tks for the help and sorry for the bad english!!!


  16. Oct 17th, 2009 1:06 PM

    Hi Vladimir

    I've just created my blog and am learning wordpress stuff now. Very interesting reading, thanks.

    On the wordpress website they say "For performance reasons, it is not a good idea to start your permalink structure with the category, tag, author, or postname fields." which basically makes sense as database requests can be slower. Another contra - you can experience issues accessing wp-admin when set up permalinks as %postname%.

    Do you experience any of those issues?

    To avoid this I have set up permalinks as /%post_id%/%postname%/. I would assume this is the highest performance option and do not let the post name be too far from the web-site address.

    I didn't know about google news + page_id - thanks for that. "Three digit issue" is easily resolved by setting last post id to 100 in wp_posts table. That's what I did after reading your guidelines. There can be only one issue: you may lose your revisions, post_parent also needs to be changed.

    To compy with google news I will have to use /%post_id%/%postname%-%post_id/ which is a bit weird but who cares about links?

    • Oct 17th, 2009 4:28 PM

      Performance issues are noticeable only on high volumes of traffic, so usually its nothing to worry about. And I believe google news does not require three digits anymore.

      • Oct 18th, 2009 6:19 AM

        they do. after reading your post i checked the google's manual for news publishers

      • Garrison
        Nov 8th, 2009 4:40 PM

        I think this is really bad advice because what happens when:

        a) Your site gains high traffic, and;
        b) Has hundreds of posts

        Everyone has the ambition to create popular websites so your advice is not scaleable.

        There seems to be an ironic conflict here e.g. on the one hand you're advocating a structure of %category%/%postname% which will help SEO and help yield high traffic; yet that high traffic (combined with hundreds of posts) could lead to chronic performance issues because the URL structure requires many queries, many more than is necessary (or recommended)

        • Nov 8th, 2009 4:50 PM

          The advice here is aimed at SEO. However regarding WP performance we run the same setup on GeekWithLaptop.com a WordPress site with tens of thousands of posts and huge traffic without any problems even when multiple digg front pages are hit in the same day.

  17. Oct 2nd, 2009 5:42 AM

    Thanks for your well infomation. I have another issue, I have other folder name "gallery" which need to be ignored from .htaccess. How do I write the rule?

    Thanks for advance.

  18. Sep 29th, 2009 9:11 AM


    Thanks for the nice post.

    I have installed a wordpress blog on IIS. When using permalinks, an index.php appears in the URL. Now my URL becomes:

    Is this index.php harmful from seo point of view? what is the maximum limit of slashes in a URL for better SEO?

    Is there any easy solutions to my problem.

    Sorry for so many questions. Thanks for your precious time.



  19. Sep 11th, 2009 7:28 PM

    Thanks for the info, I will update my blog with the settings.