The Best WordPress permalink structure for Optimal SEO and Performance

SEO post URLs

WordPress permalink structure is perhaps the most debated issue be it in WordPress specific forums or on other blogs. Earlier at DailyBlogging I had kept the permalink structure to /%year%/%month%/%date%/%postname%. But after a week or two I changed that to /%category%/%postname%/.

The reasons were pretty logical for this change. First: I seldom used to post daily because there was hardly any use of posting tons of post everyday when there is no one to read them. So having a date specific permalink was nothing short of a blogging suicide.

Second: I liked the inclusion of the category slug as it provides another keyword in addition to the post slug. I used to the Dean’s permalink migration plugin to setup a 301 redirect from the old permalink structure to the new one.

Now I’m on the verge of launching another blog, this time though specifically to cover Android related news and updates. So while setting up the blog I was again put into a fix by this permalink structure thing.

WordPress permalink structure
WordPress permalink structure(s)

The best WordPress permalink structure ?

To overcome this though scenario it was necessary to read what the experts are saying about an optimal WordPress permalink structure.

After going through some 4-5 posts from reputed SEO experts and bloggers I was left with 3 logical options.

  1. Combination of post-id and post name.
  2. Only post name.
  3. Category name with the post slug.

I know you would argue on the exclusion of the popular permalink structure [/%year%/%month%/%date%/%postname%/]. The counter argument is really simple i.e. that particular permalink structure would just make you posts URLs that bit longer.

Also if you don’t post in bulk (daily) then this strurture if of hardly any use. Moreover it makes your old posts look literally OLD.

So which permalink structure would you choose ? SEO and performance wise all the three are equally optimal (as you’ll find them in the below sections). Lets go into the details and see if we could come up with a definite pick.

Performance issues with permalinks

There is a lot of talk about not using the /%category%/%postname%/ permalink structure just because it causes some performance issues. I must say that, all such talks are ridiculous. It would’ve made sense if you were using a WordPress version below 3.3.

The problem with the inclusion of category in post URLs was that our database used to query between the category slugs and the main pages (as both as text fields). For example if your post URL was then the database would initiate a query to find out if the slug privacy is a category name or a page.

In WordPress 3.3 this issue no longer remains a definitive problem as they’ve added some special parameters to differentiate between page slugs and category names.

Otto, one of the core contributors in the WordPress development team confirms it on his blog when he says:

In August 2011, thanks to highly valuable input from Andy Skelton which gave me a critical insight needed to make it work, and with Jon Cave and Mark Jaquith doing testing (read: breaking my patches over and over again), I was able to create a patch which fixed the problem (note: my final patch was slightly over-complicated, Jon Cave later patched it again to simplify some of the handling). This patch is now in WordPress 3.3.

Even if you feel there is a mild performance issue with certain permalink structures then install the W3 Total cache plugin and enable the Page cache feature.

The SEO factor

Now you would ask, why is the /%post_id%/%postname%/ permalink structure still used (so widely) on news breaking blogs & sites ? The simple answer is that, earlier Google’s algorithm demanded blog post URLs to have 3 numerics in it so as to feature them in Google News.

But now Google has provided an alternative in the form of News sitemaps to feature blogs & sites in their news section. The reason why popular blogs are not wiling to change the permalink structure now is because, some of them fear a temporary drop in search engine traffic.

So there is no SEO related issue with any of these permalink structures. If I was you I wouldn’t have chosen the /%post_id%/%postname%/ structure. What is the use of lengthening our post URLs when we know that a post-id provides nothing exceptional ?

A counter view on using the combination of category name & post name could be that, your posts are actually put inside a virtual directory (i.e. under the specific parent category) and then served. But again that is a popular myth as most search engines give equal priority to all the URLs present in your blog.

Matt Cutts view on WordPress permalink structures

Recommended articles on this topic

So if I were to suggest a permalink structure then it would surely be one among-st, a plain post name [/%postname%/] or category slug with the post name [/%category%/%postname%/]. Notice the trailing slash.

Which permalink structure do you prefer on your blog(s) ?

Posted by

I like using and tweaking WordPress. Understrap, Tailwind, Bootstrap are a few words I would add to my Tech Profile. Besides that, I constantly observe my website's technical and SEO performance.


  1. Hi there Mani, I used to use /%category%/%postname%/ On all of my WordPress blogs for around two years by On my newest blog I have opted to use the /%postname%/ structure. I think it looks nicer like Matt said in the video. I really think it has anything to do with Seo.

  2. nice article ….. i m using /%category%/%postname%/ permalink…is it good for seo

  3. I tend to recommend only postname to bloggers who are starting out and still “feeling out the water” These are bloggers that are prone to change topic and categories later, something that is a BIG hassle to do if you use the category slug. However, for little micro niche sites, designed for SEO only, then category/postname is a stronger bet… for the reason you listed… its one more keyword in the URL.

  4. Thanks for this useful post!! I’m using that post name structure

  5. Nicely researched Mani… Getting these details right is what builds a strong foundation for a blog, especially regarding SEO.I set my blog as the /%postname%/ structure, both for elegance and readability, and, perhaps more importantly, to have absolute control of keywords in the URL. In each post, I edit the URL to suit whatever keyword or words I may be targeting.I don’t buy the argument that adding categories allows for an extra keyword – if you want that extra keyword, simply add it to the post name manually. The more unlimited you are, the better you can customize the URL to suit long tailed keywords.It’s not the only ranking factor of course, but it certainly makes a difference, and as Kim pointed out, changing categories becomes a headache if the slugs have categories in them too…

  6. I only use year and postname for permalink. The year gives a little sense of the recency.

  7. Nice post…
    I will always go for &postname% for normal blogs and if I intend to submit it to Google news, I will use Post id.

  8. I use the year and month in my permalink, mainly because I converted from Blogger to WordPress. I have been thinking about changing over to just using the post name, but haven’t done so. There are some good plugins that make the switch easy as they will handle the redirect for me, so I may do so in the near future.

  9. Nice post. I think /post-name/ is the best permalink structure.

  10. I use Post name as the permalink structure. Really great SEO tip!

  11. @mani bro Google still need a three digt number to include article in Google news.

    So the best Permalinks for your blog is :
    /%category%/%postname%/%post_id%/ if targeted to Google news


    1. Sorry my mistake didn’t read full article.It is not necessary to include 3 digit numbers in your permalink but we have either make manually or install a plugin to make news sitemap.

      1. Yes, the third point clearly states the use of news sitemaps to avoid the 3-digit permalink rule. Since many of us already use Yoast’s WordPress SEO plugin the News sitemap gets added automatically.

  12. Thanks for sharing…But I think /%category%/%postname%/ is better for SEO, which is also make better WordPress experience.

  13. thanks for the permalinks structure.I am going to use it on my blog

  14. Thanks for this Info.. I also using permalink like /year/month/post-name/ but now i’m going to change my blog permalink, This post will help me lot…

  15. POSTNAME can have canonical issue so category/postname can be better approach to avoid that issue.

  16. I use /%category%/%postname%/ permalink, This permalink i think best for seo

  17. Thanks Mani.. I Use /%category%/%postname%/ for my blog permalinks

  18. Thanks Mr Mani…after long consideration, I finally use the /%category%/%postname%/ permalink, I imitate your blog permalink

  19. Really nice post, i have used /%category%/%postname%/%post_id%/ for my permalink structure

  20. well, i have used %postname% fo a long time ago, but maybe i will try for %category%/%postname%
    thanks a lot mr. mani

  21. thank for Links…now Am Change My permalink to /%category%/%postname%/..

  22. i am using /%year%/%date%/%postname%……and may b thats the reason why m not having good trafic on my site….
    i will change its soon……

  23. I use %postname% that’s it. But now I want to add the category slug.. %category%/%postname%
    How can I do this without losing the ranking of each posts in the search engine?

  24. Nice post Mani! Earlier i was using postname slug only on many blogs. But i in my new blogs i would definately use /%category%/%postname%/ . You pointed right, i have seen many blogs having category slug getting more heights in search engines. One question if we use /%category%/%postname%/%postid% wouldn’t it be more better as it will increase performance and increase response time??

  25. hey man the above mentioned plugin is not available in wordpress directory can you upload your copy somewhere?

  26. i mean Dean’s permalink migration plugin i can’t find it in the wordpress repository

  27. I think that plugin is no more or deleted.
    By the way you can try this plugin:

  28. I always used the day & name but am going through a website consolidation and am going to post-name only. My reason is simple.. quite a few themes have sliders and other features that only allow posts, not pages, to be listed.

    I want to use those for main site content – ie: on the menu as a page and in the featured content. I can control the slug, so a post called, “About” can be my about page – just as easily as a page “About”.

    Other than that, the difference between the two impacting page rank is negligible. Good content, good titles, and decent meta data are much more important.

  29. very nice man. you give very useful and comfortable tips for absolutely new user. thanks a lot my boss! and go ahead

  30. Thanks for share, It’s realy useful

  31. guys i have a website with name. (link removed)

    i am getting some problem with permalink

    my permalinks are showing to google like this.

    Is any one have any clue? How can i fix this?

    1. I just checked the site index of your site on Google, it appears perfectly to me. Recheck.

      1. yes, but i checked with statepress and there i can see how people are redirecting to my website. Can you please tell me how you you check the index of my website in google?

        1. Just add in the Google query input box.

          1. thanks for your comment. Its kind of you!

  32. Still don’t know how to choose. Right now i using category/postname but this url will make it longer if the post in sub category.

    If the url domain/postname is it the url in serp will have breadcrumb also. I like the breadcrumb in serp.

  33. I used /%post_id%/%postname%/ structure on part of my sites, because it is good solution for non Latin alphabets using base64 encoding in url structure.
    for example.
    somesite/1568/%D5%A1%D5%BE …
    goes to same post, so
    i have not broken links from social medias etc …

  34. for the past 3 years ever since i blog on wordpress i always use %postname% as my permalink structure,might as well see how %category%/%postname% perform on my seo campaign..

Comments are closed.