Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Create Custom Permalinks in WordPress (Ultimate Guide)

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

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.

How to create custom permalinks in WordPress (step by step)

Since this is a comprehensive tutorial on creating custom permalinks in WordPress, we have created an easy-to-navigate table of contents:

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.

Select permalink structure

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 site.

Video Tutorial

Subscribe to WPBeginner

If you don’t like the video or need more instructions, then continue reading.

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.

Select permalink structure

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.

Category and tag base

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)

Once you have your initial permalink structure set up, 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.

Change post permalink

Then change the post URL slug to a custom permalink.

Once you are done, click on the ‘Update’ button to save the new permalink.

Save post permalink

You can use this method for all post types, including WooCommerce products, membership sites, online courses, and more.

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.

Editing a category details in WordPress

WordPress will now load the category details.

From here, you can change the category slug to customize its permalink.

Change category slug to customize 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.

Edit a tag

You can also edit any custom taxonomies using the same method as above.

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.

Editing a user details in WordPress

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.

Edit or add author slug

Don’t forget to click the ‘Update User’ button to store your permalink 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.

Change author base

For more details, see our guide on how to change the author URL slug and base 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.

Custom permalinks 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.

Editing a category details in WordPress

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.

Editing the category permalink

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.

Manage custom permalinks

After that, click on the ‘Apply’ button, and the plugin will remove those custom permalinks. The deleted permalink will be replaced by your default 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.

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.

AIOSEO

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.

AIOSEO redirection manager

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.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

86 CommentsLeave a Reply

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Jiří Vaněk says

    I knew some of the settings from WordPress, but some I didn’t even know could be adjusted like this. For example, changing the author URL with a permalink looks great. Is it possible to do this other than using a plugin? I would like to avoid a lot of plugins.

  3. Tasin says

    Bro I do not have the permalink editor in the post editor sidebar. Why is that? I am using the latest version of WordPress. I can edit url in classic editor but not in block editor.

    • WPBeginner Support says

      We would recommend checking your preferences in the post editor to ensure you do not have that section hidden as a likely reason.

      Admin

  4. 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

  5. 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?

  6. 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

    • 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

  7. 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.

  8. 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

  9. 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

  10. 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

  11. 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

  12. Couper says

    Is there any way to remove the /home from the end of my URL without plugins on the Premium version?

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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.

  20. 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

  21. 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?

  22. 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

  23. 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.

  24. 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.

      • 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!!

  25. 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.

  26. 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?

  27. 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?

  28. 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.

  29. 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 ?

  30. 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?

  31. 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

  32. 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

    • 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

  33. 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 :)

  34. Ravi says

    Please help me,

    I want permalink like this
    example.com/category/post_name

    How can I set that?
    please help me…

  35. 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

  36. 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!

  37. 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?

  38. 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.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.