Do you want to create custom permalinks in WordPress for posts, pages, and other post types?
Recently one of our readers asked if it was possible to create their own custom permalinks, or page URL structure, in WordPress.
In this article, we will show you how to create custom permalinks in WordPress without affecting your SEO.
Since this is a comprehensive tutorial on creating custom permalinks in WordPress, we have created an easy-to-navigate table of contents:
- What Is a Custom Permalink in WordPress?
- How to Change the WordPress Permalink Structure
- How to Change the Category and Tag URL Prefix in WordPress
- How to Change an Individual WordPress Post or Page URL
- How to Change a WordPress Category or Tag URL
- How to Change an Author Page URL in WordPress
- How to Create Completely Custom Permalinks in WordPress
- How to Set Up Permalink Redirects and Avoid 404 Errors
What Is a Custom Permalink in WordPress?
Permalinks are the permanent URLs of your individual blog posts, pages, and other archive pages on your WordPress website.
The goal of your permalink is to create an easy-to-understand URL structure for both humans and search engines.
For example: https://example.com/best-refrigerators-for-tiny-kitchens/
This URL is much better than URLs from the old days, like: https://example.com/index.php?p=4556
WordPress provides website owners with multiple permalink options to choose from. You can view them by visiting the Settings » Permalinks page.
Aside from changing the main permalink structure, WordPress also offers ways to customize the individual URLs of posts, pages, categories, tags, and other areas of your blog.
You can also use WordPress plugins to create completely custom permalinks for specific sections of your website that override the default WordPress settings.
Let’s take a look at all the options one by one. We will start with the default built-in options that come with your WordPress website.
Video Tutorial
If you don’t like the video or need more instructions, then continue reading.
How to Change the WordPress Permalink Structure
If you want to change the whole URL generation scheme for your website, then go to the Settings » Permalinks page in your WordPress admin dashboard.
Here, you can select a URL structure for your individual posts. You can also use the tags shown on the screen to create a custom structure for your WordPress URLs.
For example, you might use the post’s title (%postname%) and category (%category%), plus the year (%year%) when it was published.
Don’t forget to click on the ‘Save Changes’ button at the bottom of the page to store your changes.
We recommend using a URL structure that includes the post name in the URL. This makes your URLs more user-friendly and can improve your WordPress SEO.
Make sure you use SEO-friendly permalinks like this when you create a new WordPress blog or website.
However, if you have an existing website that’s already getting traffic from search engines, then changing permalinks can affect your SEO rankings.
How to Change the Category and Tag URL Prefix in WordPress
By default, WordPress uses /category/
as the base for your category URLs and /tag/
for the tags pages.
Just like the examples below:
https://example.com/category/technology/
https://example.com/tag/fintech/
You can change these base prefixes by going to Settings » Permalinks and simply entering new prefixes.
Make sure you click the ‘Save Changes’ button to update your category base and tag base.
Now, you will have a new category and tag bases active on your website, like these:
https://example.com/topics/technology/
(for category pages)https://example.com/hashtag/fintech
(for tag pages)
How to Change an Individual WordPress Post or Page URL
Once you have your initial permalink structure setup, WordPress will use that as a template for all the links on your site.
However, you can also change the URL slug inside the URL structure for individual posts, pages, and custom post types, to make it more SEO-friendly.
You can customize the slug part of the URL from the post edit screen inside the WordPress content editor.
If you’re creating a new post or page, you will need to click ‘Publish’ or ‘Update’ to save your draft first.
After that, simply click on ‘URL Slug’ in the Permalink meta box.
Then change the URL slug to a custom permalink.
Once you are done, click on the ‘Update’ button to save the new permalink.
You can use this method for all post types, including WooCommerce products, membership sites, online courses, and more.
How to Change a WordPress Category or Tag URL
In the earlier step, we showed you how to modify the category and tag base prefix in WordPress. In this step, we will show you how to change the URL keywords for an individual category or tag.
Simply go to Posts » Categories and click on the ‘Edit’ link below the category you want to customize.
WordPress will now load the category details.
From here, you can change the category slug to customize its permalink.
Make sure to click the ‘Update’ button to save your category slug changes.
Similarly, you can edit an individual tag by going to the Posts » Tags screen and following the same steps.
You can also edit any custom taxonomies using the same method as above.
How to Change an Author Page URL in WordPress
WordPress will automatically create an author page URL for the different authors on your website.
It looks like this: https://example.com/author/jsmith/
In the example above, jsmith
is the slug and author
is the base.
The issue is that WordPress doesn’t come with an option to change the author URL base or the slug.
Luckily, you can change this in a couple of clicks by using a WordPress plugin.
The first thing you need to do is install and activate the Edit Author Slug plugin. For details, see our step-by-step guide on how to install a WordPress plugin.
Upon activation, go to the Users » All Users page. Next, click on the ‘Edit’ link below the username.
On the next page, scroll down to the ‘Edit Author Slug’ section.
Here, you will be able to choose an author slug or add your own in the ‘Custom’ box.
Don’t forget to click the ‘Update User’ button to store your settings.
If you want to change the author permalink base, then simply go to Settings » Edit Author Slug.
Here, you will see an option to change the author base and even choose different author bases for users with different user roles.
For more details, see our guide on how to change the author URL slug and base in WordPress.
How to Create Completely Custom Permalinks in WordPress
All the above methods allow you to customize WordPress permalinks to a certain extent. However, they cannot help you create completely custom permalinks.
That’s because WordPress doesn’t offer this functionality by default.
Luckily, there’s a plugin that can help. If you want to override the default WordPress URL structure for specific sections on your site, then this is for you.
The first thing you need to do is install and activate the Custom Permalinks plugin. For more details, see our beginner’s guide on how to install a WordPress plugin.
Upon activation, you need to open up the post where you want to create a custom permalink.
Then, instead of editing the permalink as above, you will find the option to create a custom permalink below the editor in the ‘Custom Permalink’ box.
Similarly, you can also create custom permalinks for categories.
To do this, go to the Posts » Categories page and click on the ‘Edit’ link below the category that you want to change.
On the category details page, you will find the option to create a custom permalink for that particular category.
You can even create a URL without the category base prefix.
You can manage and disable all your custom permalinks by navigating to Custom Permalinks » Post Type Permalinks in the admin sidebar.
Simply select the custom permalinks you want to delete and then click on the ‘Bulk Actions’ drop-down to select the ‘Delete permalinks’ option.
After that, click on the ‘Apply’ button, and the plugin will remove those custom permalinks. The deleted permalink will be replaced by your default WordPress permalink scheme.
You can also use the plugin to manage and bulk delete your taxonomy permalinks by going to Custom Permalinks » Taxonomies Permalinks and following the same steps.
How to Set Up Permalink Redirects and Avoid 404 Errors
If you have made changes to your permalink structure or author slug, or created completely custom permalinks, then there’s a chance you could run into 404 errors.
To fix this, you need to set up permalink redirects from your old to new permalinks to avoid these errors.
The easiest way to do this is by using the All in One SEO plugin. It’s the best WordPress SEO plugin used by over 3 million websites to improve their SEO.
It has a powerful redirection manager addon that lets you manage 301 redirects for your permalinks, keep track of and fix 404 errors, and more.
For more details on setting up permalink redirects, see our beginner’s guide to creating 301 redirects in WordPress.
Upon activation, you can manage and create new permalink redirects directly from your WordPress dashboard.
Aside from that, AIOSEO also helps you track 404 error pages and fix them. If you happen to miss some redirects, then this can help you find and fix them later easily.
We hope this article helped you learn how to create custom permalinks in WordPress. You may also want to see our guide to choosing the best blogging platform and our expert picks for the best virtual business phone number apps.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Robert says
After adding the link to subcategories, WP changes to: /?product_cat=
How is it possible to change it?
WPBeginner Support says
That looks like you are using an eCommerce plugin, you would want to check further down the permalinks page or in the plugin’s settings for modifying those permalinks.
Admin
Vivek says
Hello,
To rank my news website on Google News, do I need to use the permalink link Iike postname-postID?
Because I see most of the news website uses this format?
WPBeginner Support says
While not required, that is the normal preferred permalink setting.
Admin
Jacob Corbett says
Hi WP Beginner,
Great article! I have already made multiple pages with a theme and I want to change all their permslinks. Every time I do it I get a 404 on the updated page.
WPBeginner Support says
You would likely need to resave your permalink settings and redirect your old posts/pages if you wanted.
Admin
Haseeb Nazir says
Hi,
If we use custom permalink plugin does it affect our website SEO in any case?
WPBeginner Support says
It would depend on what you do with the plugin, using the plugin to make the same change you would do manually would not be different than using the plugin if that is what you mean
Admin
Katie says
I see that this post was originally from 2016. Would you still recommend using Custom Permalinks as the plugin for this? When i went to add the plugin it says “Untested with your version of WordPress” and the last update was a year ago. Would love to know if this is still recommended.
WPBeginner Support says
For that not tested warning, you would want to take a look at our article below for our opinion on that:
https://www.wpbeginner.com/opinion/should-you-install-plugins-not-tested-with-your-wordpress-version/
Admin
A K P says
Hi,
I have old website and now I change my Permalink Settings setting from date pattern to post name.
will it change old links too?
Site is performing good in google. I don’t want to change old setting.
But new post with Post name Permalink Settings.
WPBeginner Support says
The link to the post itself would change but links to the post at the old location would not update and would cause 404 errors for anyone using those links.
Admin
swati says
really helpful very very thanks.
WPBeginner Support says
You’re welcome
Admin
WONDER APATI says
Hello, I read your post on how to migrate from blogger to WordPress. One of the things that I see as the issue here is the link structure and AdSense.
Assuming that I migrate from blogger to WordPress without setting the link to month and day as you recommended in the other post but rather choose to edit each post I migrated from blogger to match the month and day, will that work?
Otherwise, all other posts I published will maintain the posts URLs except those imported from blogger(they would be edited to match the month and day) will that be ok
WPBeginner Support says
If you change your permalinks then you would need to create redirects to prevent your visitors from seeing 404 errors.
Admin
Yolandie says
Thank you so much for the help. Building my page day by day and these info help lots
WPBeginner Support says
Glad our guides can help
Admin
Adhyansh Jadli says
Thank you very much for such a nice article. I was finding way to set up categories and tags. I am regular follower of your blog and youtube channel.
It is the best platform i had ever seen, which provide detailed info for newbie like me.
You helped me to setup my wordpress.
Thanks a lot SYED BALKHI sir
Adhyansh Jadli
WPBeginner Support says
You’re welcome, glad our content can be helpful
Admin
Pawan Khadka says
Is there any post that guide me to create query based url example :
Main Content: example.com/this-is-my-post (Page With main content)
Download page: example.com/this-is-my-post?download (page with download links)
WPBeginner Support says
Unless I hear otherwise, we do not have a recommended method to set up that kind of permalink
Admin
Couper says
Is there any way to remove the /home from the end of my URL without plugins on the Premium version?
WPBeginner Support says
If you mean it is on every page then you would want to take a look at: https://www.wpbeginner.com/wp-tutorials/how-to-get-rid-of-wordpress-from-your-wordpress-site-url/
Admin
Marina28 says
What can we do for the urls tha are not post and pages for example in a forum plugin that I embed I can not edit the urls for it. There is any file in wordpress that I can edit each one url ??
WPBeginner Support says
You would want to reach out to the support for that specific plugin for how to modify the permalinks for its additions.
Admin
Ferdin Norbert says
Hi, Nice post. Currently, I am working on a project where I wanted to change an in built tab called promotions and I did this programmatically, I was successful in renaming the promotions tab to Notification tab. But the only thing left is its permalink. I want to change MyAccount/Promotions to MyAccount/Notifications. Is there any way to achieve this? Please reply as soon as possible.
Thank you
WPBeginner Support says
It would depend on what is creating the account, if you reach out to the support for the plugin you are using they should be able to let you know.
Admin
Quy says
Excellent article!
WPBeginner Support says
Thanks!
Admin
ASHOK KUMAR SONAWAT says
Thanks today my problem is solved after reading this article…
WPBeginner Support says
You’re welcome
Admin
Alex Hoyle says
Hello. I just made a WordPress website for my blog. How do I change the permalink to use the primary domain instead of starting with the temp.domain?
WPBeginner Support says
You would want to check under Settings>General to see what your domain is set as, if it is on your temporary domain there then normally you can reach out to your hosting provider to help you update from your temporary domain to the correct address without issue
Admin
The Thus says
Hello WPBeginner,
I have configured and setup as you have shown in article but still my articles are ranking in Google domain.com/category ,may I know how to solve this issue ??
WPBeginner Support says
Google may have cached the old structure if you changed it. You could use Google’s URL removal tool if you wanted to remove those results in Google search.
Admin
Geet says
I want to structure my new website like this –
my-company.com/main-page
my-company.com/main-page/supporting-article-1
my-company.com/main-page/supporting-article-2
my-company.com/main-page/supporting-article-3
Is it possible to create this structure using Custom Permalinks plugin?
WPBeginner Support says
The plugin should allow you to change the permalink to anything so it should be able to set up that permalink structure.
Admin
Mike Coleman says
I have a new website (unpublished as yet) and want to have a home page. However, when I attempt to create a page with just that URL Permalinks adds an unfathomable number to the URL eg – example.com.au/123-2.
I’ve tried altering the Permalink settings but that alters the code after the / to whatever the settings dictate.
How do I create a page with just the URL and no / or additions after the /?
regards
Mike
WPBeginner Support says
If you want to have a specific page appear when it is just the url without the slashes then you would set the home page under Settings>Reading
Admin
Geetanjali says
Hi I have shifted my blog from blogger to wordpress. My permalink set to month and post. But now for new post I want the permalink to be post only. So after reading this aricle I have installed custom permalinks plugin but while editing the new post I don’t see the option to change the month and post from slug. Please suggest what can be done for changing the new post and coming post permalink to post only instead of month and post.
Tucker Daugh says
I’ve been told by developers to not change permalinks at the “EDIT” level. I have some pages on a site I helped build that really could benefit with a name change. Something that reflects what a person may be searching for vs something we were trying to be clever with. So, question: What causes permalinks to “break” if you change them at that edit stage (When you open a page and see the URL). I would assume if I am careful and do_something_like_this than I’m okay, right?
WPBeginner Support says
Hi Tucker,
When you change a page’s URL by editing it, your page would work fine on your website. However, your old URL would be indexed by search engines and they will not be able to find it. If you must change the permalink of an existing page, then you need to set up a redirect.
Admin
Talkgeria says
Thanks for sharing this helpful post.
My problem is that my blog posts shows mysite.com/category instead of mysite.com/postname on search result but shows the post name once you click on it. my question now is, how do i make the post name to appear on search result as well?
kenneth khayyam says
nice article very helpful for beginners
Vidya says
Hi
i have a page which compares different products. permalink of the same is /page-name/?compareids=1,2,3
can you please suggest me about how to customize permalink of this kind of pages so to display permalink like : /page-name/compare-productname1-vs.-productname2-vs.-productname3
Prashant Chevale says
Hello Team,
I have an query,
1.How to implement keywords in url before creating post & after creating post?
2.How to implement keywords in Posts url without creating 404 error in WordPress?
3. Without creating 404 error how to optimise urls?
4.I want permalink customise ( insert keyword in url ) without any error how can I set that?
please help me…
Thank you.
Orit Adar says
My entire site is still under maintenance, but most of my posts are defined as “published” in that setup. If I want to change the slugs can I just revert the status to “draft” temporarily, change the slug and then re-“publish”? I guess I do not understand the meaning of the word “publish” as long as the site is not alive, but it helps to see the posts better s I did it. Thank you.
WPBeginner Support says
Hi Orit,
If your site is not live and your content is not indexed by search engines, then you can change the slug of a live page/post as well.
Admin
Adell says
My site is new and under construction -not live. I’ve created a couple posts and published them, but my site is not live. Can i keep changing the slug , permalinks, and category tags, without needing the re-direct plug in?
Is it safe to keep making changes to the permalink as long as my site is not live (even though i clicked ‘publish’?
Do i only need the redirect plug in if i make changes tot the permalnk after the site goes live?
thank you!!
Nnamdi says
I would like to know how to create a page name before the website url example customname.yoursitename.com. i don’t know how else to describe this sorry for any misunderstanding.
WPBeginner Support says
Hi Nnamdi,
These are called subdomains. They are not like pages at all. In fact, a subdomain could be a totally different website using the same root domain name.
Admin
Brandy says
Hi, when a do this process, the /blog does not appears in the breadcumbs. What can I do?
I want my blog:
example.com/blog/category/post-1
and the breadcumbs:
Home > Blog > Category > Post-1
How can I add the > Blog to my breadcumbs?
I guess it does not appear because / blog is artificially configured. Is there any way to make it hierarchical?
Jaymi V says
My permalink structure is set to post type. After I have published a page & I parent it in order to use the parent’s sidebar menu, once I update the page it adds another link to the url structure — for example, page url originally is: example.com/acctg/new-page
After I parent it to my accounting landing page & I update the page the url becomes:
example.com/acctg/accounting/new-page
If I delete the extra /accounting from the permalink the page will appear as a blank page unless I un-parent it from /accounting landing page & create its own sidebar menu.
Is there a workaround to this problem?
Francis says
Please, I added post I’d in my post permalink. But i want to change my permalink structure to /category/post_name but am afraid the old link will be down and this might make me loose my Google ranking.
I want to change the post ID *956* to category of the post. But how can i redirect the old URL to the new one after the changes is done? Please help me.
Hassanein says
Hi, thanks for the Useful article, I have a question, in my WordPress blog when I press on the post title it gives me the correct permalink (Post name only), but when I press on the (continue reading ) it gives the same permalink but with some extra codes! How can I make it similar without more extension! Only the post name without any additions ?
Valente says
Hello, I already have a worpress website and I am using a theme with home,page, about us etc. I added woocommerce where woocommerce has its own permalinks structure,My WP permalinks are set for static page %post%
the woocommerce shop it is not the home page …
Should I leave the wp permalinks as it is ? And how should i have to set the woocoommerce permalinks and reading?
WPBeginner Support says
Hey Valente,
WooCommerce will not affect your website’s permalink structure.
Admin
AmeerTarin says
Good evening,
I have a website up and running for several years. Now I want to use the WordPress generated permalink for my page to publish article(s). I have .htacess & index.php in place. Now the question? How do I use my custom permalink for new page? Do I copy the link & paste it in the address bar. Or how does it work? I am stuck at this last bit. Please help. Many thanks
Ameer
balu says
Is there no way of creating custom permalinks without a plugin.
Donna says
Without the plugin, the slug always has a “-2” at the end, as if it were a copy. But with the plugin.it will not has a “-2”. How can I do
Dor says
Hi
If I change the title of a static home page, should it affect the URL?
WPBeginner Support says
Hi Dor,
If you have published the homepage, then it will not affect the URL. However, if the page is still saved as a draft and has never been published, then changing the title will change the URL slug. However, you can click on the URL slug on the page edit screen and change it back.
Admin
Carlos says
Thank you for this!!
Karunakar says
How to add prefix or suffix to permlink of all post_tag slugs?
Ayumi Higashi says
I do not see the edit bottom to change perm links on post pages…why?
Hannen says
I want to get get rid of the permalink altogether. I don’t want the titles to have a link. Is there a way to do that?
Thank you
WPBeginner Support says
Yes, however most WordPress themes are designed to have permalinks. You will probably need to create a custom theme that meets your needs or customize an existing starter theme.
Admin
Hannen says
Thanks! I already thought I chose a simple lay out(‘Maker’) but I will look into the starter themes.
Ravi says
Please help me,
I want permalink like this
example.com/category/post_name
How can I set that?
please help me…
Sue Jonas says
I have a newly built site and all the permalink options look like this: example.com/wordpress/xyz options
I can’t find a one without ‘wordpress’ in the middle. Have I done something wrong? How can I fix this? Thank you
WPBeginner Support says
Please see our guide on how to get rid of /wordpress/ from your WordPress site URL.
Admin
Jean-Francois Mayer says
Thank you. This is indeed a good description. However, there is one aspect that you do not mention: what happens to the customized slugs in case the permalink structure changes.
I am currently moving a website in French to WP. When titles are too long, or include apostrophes (that result into making two words into one, when slugs get automatically created), I have shortened them.
After a number of my customized permalinks had been created, I decided that I preferred the permalinks to follow a structure on the pattern year-month-day, i.e…./2016/08/15/… instead of …/2016/08/…
Easily done… but all my customizations were gone!
I will recreate them. But then, how to make sure that my customized permalinks will stick, even if I would decide to change again the permalink structure before the site goes live?
There should be a way, or a plugin – but I have not yet found it.
WPBeginner Support says
Slugs are not supposed to be changed when you update permalink structure. They are stored in the database and will be used again when you use a Permalink structure that uses post-name in the URL instead of ID.
Admin
Jean-Francois Mayer says
Thank you very much for your reply.
Yes, I expected indeed custom slugs not to change when I updated the permalink structure… but they did, for reasons beyond my understanding, and I do not dare to test that a second time. It may have to do with the fact that a number of posts were imported from another CMS in an automated way, which resulted in numeric slugs, that we managed to regenerate (using Permalink Manager) in order to bring them to standard slugs. Maybe this had unexpected consequences when changes in settings were made at a later stage.
Anyway, good to know this is not a frequent behavior, and probably caused by something else. But I will be extremely careful in the future with any change in the permalink structure!
Logen says
The recent low ratings, inactive support forums and lack of response from author is making me hesitant to use Custom Permalinks. Anyone has any issues with it, considering last plugin update was 7 months ago?
nate says
It was now updated 1 month ago
mansuri says
superb post sir
Aseel says
Great articel
Thanks
Stefano says
Really interesting. Many thanks for the good stuff. I’ll give a try for sure as I have to manage categories, sub-categories and a lot of tags.