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 aka 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 content:
- What is a Custom Permalink?
- How to Change the WordPress Permalink Structure
- How to Change the Category and Tag URL Prefix in WordPress
- How to Change Individual WordPress Post or Page URL
- How to Change WordPress Category or Tag URL
- How to Change Author Page URL in WordPress
- How to Create Completely Custom Permalinks in WordPress
- How to Setup 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 site. Custom permalink is basically a URL structure applied to a specific page in WordPress without affecting the rest of your URL structure.
WordPress comes with an SEO Friendly URL structure which allows you to use an easy to understand URL structure for both humans and search engines.
For example: https://example.com/best-refrigerators-for-tiny-kitchens/
This is much better than URLs from the old days: https://example.com/index.php?p=4556
WordPress provides website owners with multiple options to choose from. You can view them by visiting 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 website.
You can also use WordPress plugins to create completely custom permalinks for specific sections of your website that overrides the default WordPress settings.
Let’s take a look at all the options one by one. We’ll 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 Settings » Permalinks page.
Simply 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.
Don’t forget to click on the Save Changes button to store your changes.
We recommend using a URL structure that includes the post name in the URL. This makes your URLs more SEO friendly and meaningful.
Note: You should change to a SEO friendly permalinks for all new WordPress blogs and websites. 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. For example:
https://example.com/category/technology/
https://example.com/tag/fintech/
You can change these base prefixes from the Settings » Permalinks page to anything that you like. For example,
https://example.com/topics/technology/ (for category pages)
https://example.com/hashtag/fintech (for tag pages)
How to Change Individual WordPress Post or Page URL
Once you have the permalink structure setup, WordPress uses that as a template for all links on your site. However, you do have the option to modify the URL slug aka keywords inside the URL structure for individual posts, pages, and custom post types.
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’ll need to save your draft first.
Once you’ve saved your draft, simply click on the title field. You’ll notice the Permalink field appears on top of it.
Go ahead and click on the Edit button next to it, and then change the URL slug to a custom permalink. Once you are done, click on the Save button to store the new permalink.
You can use this method for all post types including WooCommerce products, MemberPress courses, etc.
How to Change 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 page 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.
Similarly, you can edit an individual tag by visiting Posts » Tags page.
You can also edit any custom taxonomies using the same method.
How to Change Author Page URL in WordPress
WordPress automatically adds the ‘/author/’ base to URLs leading to author archive pages. For example:
https://example.com/author/jsmith/
The problem is that WordPress does not come with an option to change the author URL base or the slug.
Luckily, as the saying goes, there is a plugin that can help.
Simply install and activate the Edit Author Slug. For details, see our step by step guide on how to install a WordPress plugin.
Upon activation, go to Users » All Users page. Next, click on the ‘Edit’ link below a username.
On the next page, scroll down to the Edit Author Slug section, and you will be able to choose an author slug or add your own. Don’t forget to click on the save changes button to store your settings.
If you want to change the author permalink base, then simply head over to the Settings » Edit Author Slug page. 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 author URL slug and base in WordPress.
How to Create Completely Custom Permalinks in WordPress
All the above methods allows you to customize WordPress permalinks to a certain extent. However, they cannot help you create completely custom permalinks.
That’s because WordPress by default doesn’t offer this functionality.
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 follow the steps here.
The first thing you need to do is install and activate the Custom Permalinks plugin. For more details, see our step by step guide on how to install a WordPress plugin.
Upon activation, you need to edit the post where you want to create a custom permalink. Instead of editing the permalink field at the top, you’ll find the option to create a custom permalink below the editor.
Similarly, you can also create custom permalinks for categories. Go to Posts » Categories page and click on the edit link below the category that you want to change.
On the category details page, you’ll 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 clicking on the ‘Custom Permalinks’ menu in the admin sidebar.
Simply select the custom permalinks you want to delete and then click on the Bulk Actions menu to select ‘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.
How to Setup Permalink Redirects and Avoid 404 Errors
WordPress automatically handles changes made to post and page URLs. However, it may not set up redirects for your custom author permalinks or completely customized permalinks.
In that case, you’ll need to set up proper redirects to avoid 404 errors on your website.
First, you need to install and activate the Redirection plugin.
Upon activation, you need to visit Tools » Redirection page to set up redirects. You need to add the old link in the ‘Source URL’ field and the new URL in the ‘Target URL’ field.
After that click on the ‘Add redirect’ button to save your changes. For more details, see our beginner’s guide to setting up redirects in WordPress.
We hope this article helped you learn how to create custom permalinks in WordPress. You may also want to see our ultimate WordPress SEO guide to get more search traffic to your website.
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.
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.
You would likely need to resave your permalink settings and redirect your old posts/pages if you wanted.
Hi,
If we use custom permalink plugin does it affect our website SEO in any case?
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
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.
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/
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.
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.
really helpful very very thanks.
You’re welcome
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
If you change your permalinks then you would need to create redirects to prevent your visitors from seeing 404 errors.
Thank you so much for the help. Building my page day by day and these info help lots
Glad our guides can help
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
You’re welcome, glad our content can be helpful
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)
Unless I hear otherwise, we do not have a recommended method to set up that kind of permalink
Is there any way to remove the /home from the end of my URL without plugins on the Premium version?
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/
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 ??
You would want to reach out to the support for that specific plugin for how to modify the permalinks for its additions.
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
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.
Excellent article!
Thanks!
Thanks today my problem is solved after reading this article…
You’re welcome
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?
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
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 ??
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.
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?
The plugin should allow you to change the permalink to anything so it should be able to set up that permalink structure.
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
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
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.
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?
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.
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?
nice article very helpful for beginners
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
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.
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.
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.
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!!
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.
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.
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?
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?
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.
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 ?
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?
Hey Valente,
WooCommerce will not affect your website’s permalink structure.
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
Is there no way of creating custom permalinks without a plugin.
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
Hi
If I change the title of a static home page, should it affect the URL?
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.
Thank you for this!!
How to add prefix or suffix to permlink of all post_tag slugs?
I do not see the edit bottom to change perm links on post pages…why?
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
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.
Thanks! I already thought I chose a simple lay out(‘Maker’) but I will look into the starter themes.
Please help me,
I want permalink like this
example.com/category/post_name
How can I set that?
please help me…
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
Please see our guide on how to get rid of /wordpress/ from your WordPress site URL.
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.
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.
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!
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?
It was now updated 1 month ago
superb post sir
Great articel
Thanks
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.