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
Download Custom Permalinks for WordPress from the Custom Permalinks WordPress plugin page.
If you like Custom Permalinks, please consider buying one of my products.
Installation
- Unzip the package, and upload ‘custom-permalinks’ to the ‘/wp-content/plugins/’ directory
- Activate the plugin through the ‘Plugins’ menu in WordPress
- Edit any post, tag or category to set a custom permalink.
Configuration
- 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?)
Notes
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: hide_custom_permalink_field.php.zip
Put it in your wp-content/plugins folder and turn it on in Plugins under WP admin.
FAQ
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]
</IfModule>
Related posts
- Private Tags WordPress Plugin The “Private Tags” WordPress plugin allows users to specify a...
- Smart 404 for WordPress Save visitors to your Wordpress site from unhelpful 404 errors!...
- Taking the 404 further Update: I have now written a WordPress plugin that does...
- Hidden Tags WordPress Plugin Hide certain tags/categories from the public...




358 Comments
路过看看~写得不错,加油!!
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="http://domain.com/blog/blog/'
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
http://domain.com/blog/category/main-category//blog/
I have the latest update of WP & AIOSEO Pack. My custom structure permalinks look like
'/%category%/%postname%/'
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.
Whoops! Thanks heaps for the heads-up, Bobby – this was a bug. I’ve just submitted an update, 0.7.12.
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
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 domain.com/new-post.html 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 ?
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
http://www.kccaribbeanservices.com/products/manchester/home-garden/
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.
Please see the FAQ above
I’m sorry but I don’t see a link to the FAQs.
Scratch that. I see it.
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, tllsga.org 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.
I figured it out and everything is great. Thanks so much for the plugin!!!
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?
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.
Thanks mate, works a charm!
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
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.
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!
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.
thanks for you …. good
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.
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 website.com/category/post-name-here and for german language I have the permalink like website.com/en/category/post-name-here and that is redirecting to the default language and not to the post needed.
Please help.
Solved a very important problem for me so smoothly, thank you!!!!!!!!!!!!!!!!!!!!!!!!!
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.
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?