Custom permalinks help make website visitors understand what a page is about just by looking at the URL. You can change them to make URLs shorter or more detailed and descriptive, depending on what works best for your site.
This can include simplifying URLs, removing unnecessary words, or adding specific custom fields. By making URLs more readable you can improve site navigation, contributing to better user experience and therefore positively impacting SEO performance.
WordPress does not offer advanced permalink customization options out of the box. You can add these features either by using a plugin or inserting a code snippet. Plugins are generally easier to use and offer more flexibility, especially if you prefer not to work with PHP code.
Permalink Manager, released in 2016, remains one of the most reliable and widely used plugins for this purpose. It requires no coding, works alongside other popular plugins, and supports custom post types and taxonomies.
How to Implement Custom Permalinks?
By default, WordPress assigns different URL structures to custom post types. For example, WooCommerce products use URLs with a /product/ prefix. This simple setup works good enough for websites that do not need advanced URL changes.
If your website needs more than standard WordPress permalinks can offer, you can set-up custom permalinks using a plugin like Permalink Manager.
Editing Custom Permalinks
Individual Changes
The built-in URL editor lets you change the permalink for any page, post, custom post type, category, or taxonomy. It works similarly to the default WordPress slug editor, but instead of editing only the last part of the URL, you can change the whole permalink.

You can use this plugin to edit many permalinks at the same time. You can manage URLs for different post types and taxonomies separately, which makes it easier to handle larger sites.

Bulk Changes
If necessary, you may use Permastructures editor to quickly rearrange the permalinks of all items of any specific content type in any way you want. This allows you to, for example, remove the default "rewrite slug" or add custom fields to WordPress permalinks.

Auto-update Mode
By default, Permalink Manager does not update custom permalinks automatically. This gives you full control, allowing you to choose if and when to change URLs, preventing accidental changes that could harm organic traffic or link equity.
For the same reason, changing the “Permastructure” settings affects only new permalinks and does not modify existing ones to minimize potential negative SEO impact. To apply the new permalink format to existing URLs, you must first use the "Regnerate/reset" tool.
Exclusion Settings
You can choose to exclude specific content types or posts/terms by their IDs from Permalink Manager. For instance, you can set-up custom permalinks specifically for WooCommerce permalinks, leaving all other URLs unchanged.
Plugin's Performance
When the Permalink Manager first launched, it was intended to be used for a typical WordPress website with less than 20.000 subpages. To improve performance, it keeps all custom permalinks in one database row, reducing extra SQL queries.
If you are rewriting tens of thousands of permalinks, the array of custom URLs can become huge, which can slow down your website. Please see this article for further information about the plugin's performance.
Common Use Cases
Adding a Category or Taxonomy to Custom Permalinks
Permalink Manager allows you to include slugs from related taxonomy terms in the permalinks of your custom post types. This hierarchical structure can improve user experience by helping visitors see how your content is organized.
Custom post type ("car") permalink with related taxonomy ("car-brand") included:
http://example.com/%car-brand%/%car%http://example.com/europe/northern-europe/volvo/s80-2022
http://example.com/asia/pacific/south-korea/i20-2019
Removing Parent Slugs from Hierarchical Permalinks
Hierarchical post types, such as pages, and taxonomies, such as category, usually contain the parent and child categories/pages in their permalinks. Using the plugin is the easiest way to remove parent slugs from hierarchical permalinks and make them flat (shorter).
http://example.com/americas/
http://example.com/americas/north-america/
http://example.com/americas/north-america/canada/
Including Custom Fields in WordPress Permalinks
Permalink Manager can automatically include custom fields in permalinks, a feature not available in other plugins.
Custom post type ("product") permalink with custom field ("sku") included:
http://example.com/%product_cat%/%product%-%__sku%http://example.com/coffee/arabica/yirgachefe-85932643
http://example.com/coffee/robusta/borbone-45667890
