Custom Permalinks


Custom Permalinks is a WordPress plugin that gives you ultimate control over your site structure.

Lay out your site the way you want it. Set the URL of any post, tag or category to anything you want. Old permalinks will redirect properly to the new address.

Support not available at this time: Unfortunately, I don’t presently have the resources to offer support for this plugin. Please direct questions to the WordPress forums

Note: This plugin is not a replacement for the inbuilt permalink settings: Custom Permalinks is designed to modify permalinks on a per-post/page/tag/category basis, not for all posts/etc at once. If you wish to alter your entire site structure, spare your sanity, and change the WordPress permalink settings instead.


Download Custom Permalinks for WordPress from the Custom Permalinks WordPress plugin page.

If you like Custom Permalinks, please consider buying one of my products.


  1. Unzip the package, and upload ‘custom-permalinks’ to the ‘/wp-content/plugins/’ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Edit any post, tag or category to set a custom permalink.


  • Open or create a post, tag, or category.
  • Under ‘Custom Permalink’, type in a URL, not including the http://domain part of the address.
  • Save

Now, the post/tag/category will be accessible at the custom address.

Incoming visitors from old links will be redirected via a 301 redirect to the new address.

See Custom Permalinks in action right here! (See the address you’re currently at?)


Interacting with other plugins which modify the URL

If you notice that some plugins, such as Keyvan Minoukadeh’s Paged Comments plugin, are not operating correctly, then ensure that your custom permalinks have a trailing slash (or not, if your standard permalinks do not have trailing slashes).

The Paged Comments plugin, and possibly others, work by adding a path component to the URL to signify state (eg. /comment-page-1), then hiding that path component from WordPress.

If you have a custom permalink with a different trailing / configuration to your normal permalinks (i.e., your custom permalink has a trailing / when others don’t, or vice versa), you will notice that these plugins no longer work, because Custom Permalinks is correcting the URL, which overwrites the plugin’s changes.

If you notice this happening, make sure you have a trailing / on your permalink, or remove the trailing slash if your standard permalinks do not have a trailing /.

Hiding the custom_permalinks custom field

A user recently asked for this; I’m not going to include it in the plugin (some people, including me, want to see this field, because we set it manually sometimes), but I’m happy to make a plugin-let to make it happen.

Here it is:

Put it in your wp-content/plugins folder and turn it on in Plugins under WP admin.


I just get a “404 error” message when I try to visit a custom permalink

Have you configured your default permalinks to be other than the default “?p=123” style? If not, you probably haven’t got URL rewriting enabled. Either set your permalinks to one of the other options (or a custom layout), or add the following to your .htaccess file in your webroot, creating this file if necessary:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

, , . Bookmark the permalink. Both comments and trackbacks are currently closed.


  1. Posted February 21, 2012 at 3:36 am | Permalink


  2. Posted February 25, 2012 at 5:31 am | Permalink

    I love this plugin, but am having really interesting problems using it. It is always with the line below.

    ‘<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href=";

    As you see here when activated, it is adding another "/blog/" to the end of the address.

    It is also adding two "//" forward slashes in others like this

    I have the latest update of WP & AIOSEO Pack. My custom structure permalinks look like


    I have no idea why this is happening. When I deactivate it, everything is normal. Navigation is fine, but this application/rss+xml link is giving me a lot of 404 (Not found) errors.

    • Posted February 25, 2012 at 11:58 am | Permalink

      Whoops! Thanks heaps for the heads-up, Bobby – this was a bug. I’ve just submitted an update, 0.7.12.

      • Posted February 26, 2012 at 3:47 am | Permalink

        Awesome. Worked perfect! I will let you know if I see anything else. Thanks so much for taking the time to make such a wonderful plugin. Without this plugin, Google hates me. Such a time-saver.

        I appreciate your time, and thanks so much for the speedy fix. Thanks Again, Bobby

      • Posted April 9, 2012 at 10:29 pm | Permalink

        I am using on all of my websites and it works perfectly. I do not have a lot of content on my websites and I was wondering about a possibility : to have a post called and after couple of months to write a post and to call it again new-post.html . It looks like I would have a problem . Does anyone knows hot to deal with these kind of situations ?

  3. Alyssa
    Posted February 27, 2012 at 10:09 pm | Permalink

    I am getting the 404 error on a page with a custom permalink. I have tried editing htaccess, resetting the permalink settings, deactivating/activating the plugin. Nothing seems to work. My plugin is up to date. I’m not sure how to fix this.

    Here is the link

  4. Posted March 5, 2012 at 4:11 pm | Permalink

    I have struggled with this plugin as when it’s installed every post’s “read more” goes to an 404 page. It’s very strange as it appears that when I update the page names that works but the big issues come in with the posts. I’m having the same issues with my personal website. The plugin is great in theory but I just haven’t been able to get it to work correctly. Please help.

  5. Posted March 5, 2012 at 6:06 pm | Permalink

    Scratch that. I see it.

  6. Posted March 5, 2012 at 6:25 pm | Permalink

    I followed the instructions and edited the .htaccess web root file. However, while the Pages are fine the posts are not. If you click on Read More there is still the 404 error. I installed Smart 404 and I still have the same issues. If you go to may work site, and click on one of the posts it puts up a 404 page. Not sure what I’m not doing in order to make it work.

  7. Posted March 5, 2012 at 6:50 pm | Permalink

    I figured it out and everything is great. Thanks so much for the plugin!!!

  8. Michael
    Posted March 6, 2012 at 1:47 pm | Permalink

    I’ve installed this plugin to use on tags, it works fine in terms of changing the permalinks for tags but the problem I have is that the old tag permalinks don’t redirect at all. Help?

    • Posted March 6, 2012 at 3:20 pm | Permalink

      Hey Michael. Ah! You’re right – it looks like an issue has crept in with a WordPress update. Update to 0.7.13 – that should fix it.

      • Michael
        Posted March 6, 2012 at 11:00 pm | Permalink

        Thanks mate, works a charm!

  9. Posted March 23, 2012 at 11:37 am | Permalink

    Hello, I’ve installed the Versión 0.7.13 and I get 404 errors in my categories. It’s weird because they work when I save the category settings, but after a while they give a 404 error. If I save them again, they work. Any suggestion?

    My WP version is 3.3.1

    • Posted March 25, 2012 at 5:33 pm | Permalink

      Wow! You’ve been seeing this too? I had a problem on this site last week, and couldn’t figure out what was going on, then after re-saving the tags, the problem mysteriously vanished.

      Tell me, do you have any idea what it might be that starts the 404 happening? This thing has be totally baffled so far.

      • Posted March 26, 2012 at 8:39 am | Permalink

        I really doesn’t know why this happened. It just happened suddendly. I neither edit the settings nor crate posts. It is very strange… Now I have been trying the same permalinks in another site and it works. I really would appreciate if you could tell me what’s going on. I manage lot of traffic and I need to be sure that it works perfectly before using it. Thank you very much!

  10. Tofush
    Posted March 26, 2012 at 8:48 am | Permalink

    I am a beginner to WordPress, worked on a site with a few posts and ~20 pages (both parent and children pages).

    I wanted to link a post to a “child” page and installed your “Custom Permalinks” plugin. It allowed me to change the permalink (inside the post) to that of the “child” page that I wanted. However, when clicking on the post, it didn’t load up the “child” page although the website address displayed in the browser address bar corresponds fully to that of the “child” page. (An empty page loaded up instead.) In addition, I was not able to load up the original “child” page anymore.

    Could you please shed some light on this if possible?

    Many thanks in advance. Workpress version that I’m using is 3.3.1.

  11. Posted March 30, 2012 at 2:07 am | Permalink

    thanks for you …. good

  12. Posted April 3, 2012 at 12:42 pm | Permalink

    This plugin stopped working for me after v0.7.7. Every time an update is released I’ve checked to see if the bug has been fixed, but it hasn’t. I keep reverting back to 0.7.7, but never got around to reporting the bug until now.

    I’m suspecting the problem is largely due to the fact that I’m on Windows/IIS 7.5.

  13. Ciprian
    Posted April 30, 2012 at 9:19 am | Permalink

    Hey Michael,

    I can’t make this plugin work with WPML. Can you help me out, please? For example, I have a post in the default language and the permalink is and for german language I have the permalink like and that is redirecting to the default language and not to the post needed.

    Please help.

  14. John Paulie
    Posted May 8, 2012 at 10:21 am | Permalink

    Solved a very important problem for me so smoothly, thank you!!!!!!!!!!!!!!!!!!!!!!!!!

  15. Posted May 11, 2012 at 12:00 pm | Permalink

    This is a great permalink wordpress plugin i have ever seen…. i was looking for this kind of solution for a quite while..

    Thank you for making a great piece of plugin.

  16. Baalam
    Posted May 16, 2012 at 8:28 pm | Permalink

    I’m having a problem… my default permalink rule was /%postname%. Now I have to write on the permalink field for each post as my default rule suddently stopped working, instead it shows me the default link like ?p=123.

    WordPress Version: 3.3.2 Plugin Version: 0.7.13

    Any ideas Michael?

    • Posted July 7, 2012 at 11:00 pm | Permalink

      thanks for this plugin, i have just installed it and loving it.

  17. Peter Handlos
    Posted June 14, 2012 at 1:54 pm | Permalink

    Hi Michael,

    absolutely GREAT plugin! Probably one of my most loved ever ;)

    I have a question/problem, related to your plugin’s functionality with e-commerce plugins (e.g. woocommerce or jigoshop): Your plugin works great with changing the permalinks of actual product pages. It does not however work with product categories. In the product category edit page I do see your plugin’s “add custom permalink” field, when I however add a custom permalink and save the change, no real change is made (when then editing the category again, the custom permalink field also is blank again). Do you have any idea why this is the case or possibly know an easy fix for this? I assume the e-commerce plugin (in my case woocommerce) somehow interferes with Custom Permalinks’ setting and overwrites them.

    Thanks again for the support and your great work!


    • Posted June 16, 2012 at 2:49 pm | Permalink

      Hi Peter – thanks! I’m afraid there’s not much I can do there – there’s no interoperability with other plugins provided; you’ll have to contact the plugin developers and put in a feature request to be able to customize the plugin urls.

  18. Andri
    Posted July 12, 2012 at 10:46 am | Permalink

    Hi! How to show 404 page if page does not exist. For example: if i haven’t page – costumer see a message “Sorry, page does not exist” (or smth else, does not matter). Now he see home page

  19. Posted July 16, 2012 at 5:55 am | Permalink

    hi you, The Custom Permalinks plugin, Pls Fixed bug with categories with WP 3.4 now?

    • Posted July 30, 2012 at 11:40 am | Permalink

      Hi there , I also face the same matter: The Custom Permalinks plugin, could you please help tp fix bug with categories with WP 3.4.

      Thanks for your helpful work.


    • Posted July 30, 2012 at 11:44 am | Permalink

      Hi there, I also face the same problem, The Custom Permalinks plugin, please help me to fix bug with categories with WP 3.4.

      Thanks for your helpful help!


  20. Andrew
    Posted August 8, 2012 at 1:47 am | Permalink

    Thanks so much for your work on this plugin! I just noticed, though, that in order to preserve the custom URLs I’ve created using the plugin, I need to keep the plugin activated. If I deactivate the plugin, the URLs all return 404 pages. Am I doing something wrong?

  21. Posted October 2, 2012 at 10:24 am | Permalink

    Thanks so much for your work on this plugin!

  22. Posted October 2, 2012 at 8:23 pm | Permalink

    This is a really strange problem.

    I have a category called “Work from Home Job” with permalink “work-from-home-job” that simply will not display with that permalink. I can change the permalink to anything else and it works fine. And the client really wants that permalink for SEO purposes.

    The slug is not found anywhere else in the WP database. I verified this by deleting the category altogether and searching the database in phpmyadmin with no results.

    The problem goes away when I disable the Custom Permalinks plugin.

    I’m also running Yoast’s SEO, but not sure if that has anything to do with it or not. I tried deactivating Yoast and the problem is still there.

    Would really appreciate some insight here. Thanks!

    • Posted October 2, 2012 at 8:24 pm | Permalink

      And, FYI, other categories work fine as do other pages and posts that have their permalinks tweaked by the plugin.

  23. Marcus
    Posted October 22, 2012 at 2:12 pm | Permalink

    Hi Michael, and thanks for this excellent plugin!

    We have on several web sites a problem where seemingly random posts get 404 errors for visitors if we DON’T set a custom permalink. We have a %postname% permalink structure and for the most part we don’t set permalinks, it’s mostly for pages we use it. But every now and then a post without a custom URL will get a 404 error and we HAVE to set a custom URL to make it work. It’s really annoying and I’d love a fix, even if I’d have to pay for it as I want to continue using this plugin. Any ideas what the problem can be?!

    Thanks in advance and Best Regards, Marcus

  24. Posted December 14, 2012 at 2:13 pm | Permalink

    I installed this plugin on my site, but I got like this URL “” after entering “?author=1” on an article, I actually want to get “”. Would you like to tell me how to resolve it? thanks.

  25. Marius K
    Posted December 22, 2012 at 1:19 pm | Permalink

    Great plugin I’m sorry however that still does not work with other plugins (WPML) to customize the URLs to pages and posts

    Many thanks

  26. Amit
    Posted December 31, 2012 at 12:28 am | Permalink

    Just wanted to say many thanks for your hard work. This is an awesome plugin. I was pulling my hair out until I came across your plugin.

    Thanks again. Amit.

  27. Posted January 9, 2013 at 5:27 pm | Permalink

    Howdy Michael! Super cool plugin you’ve created here… I hope projects like this enable you to continue doing the stuff you love (like traveling around Europe in a motorhome :-)

    I’ve scoured all 373 comments on your site as well as the internet to no avail — so, this is a last ditch effort…

    When I activate your plugin, and enter custom permalink, all posts auto-redirect to our website’s homepage (a very ugly rendition of our homepage at that…)

    I’ve deactivated every other plug-in on our wordpress site… any thoughts?

  28. Posted January 17, 2013 at 9:37 pm | Permalink

    Love the plugin but have had problems with it since loading WPML translation. Working with the WPML folks, managed a modification that fixed most of the problems, but they suggested that it would be best your to collaborate on harmonising custom permalinks with WPML via their program of working with plugin creators:

  29. Josh
    Posted January 28, 2013 at 4:03 pm | Permalink

    This plugin is amazing! I use it on several sites, though recently I’ve been having issues with some pages, not sure of the cause and actually seems to be random. Some pages/posts throw a 404 when i go to visit them, but I found that if i clear out the custom permalinks for the revisions in the _postmeta table then it works fine.

    Would it be possible to update the plugin to only affect the permalink on the published page? Seems like that would solve the issue, but not sure… Thanks

  30. Posted February 6, 2013 at 2:10 pm | Permalink

    Very good and use full Plugin

    But it not allow me to use ?file=kop777.php as url It make it %3Ffile%3Dkop777.php

    problem with ? and =

    What to do ?

    What to do ?