When updating existing permalinks, proceed with caution to avoid broken links that can negatively affect SEO and user experience. By default, the plugin redirects old URLs to new ones automatically, reducing the impact of permalink changes.
Permalink Manager comes with three types of redirect functions. The first works alongside WordPress's canonical redirect function and is enabled by default.
The second one tracks all the custom permalinks that have been changed multiple times, saving them as "extra redirects". The third allows you to redirect posts, pages, or terms to any external URL.
Redirect Functions
Canonical Redirect
WordPress can identify and handle invalid URLs to some extent. That is, when an outdated URL is requested, WordPress looks for the new, updated URL and redirects the visitor if it finds it.
WordPress does not always handle redirects consistently. To avoid this, the plugin offers a more reliable fallback redirect for old permalinks, which reduces the risk of organic traffic loss.

Extra Redirects (Aliases)
In addition to the canonical redirect function, the plugin allows you to create additional custom redirects for each content item. This might be particularly useful if you want to allow users to use an extra URL (alias) or redirect traffic from other, obsolete URLs.
There is one limitation here. You can only use an address as a "extra redirect" if it is not already being used as a custom permalink for another post or term. If you try to redirect to a custom permalink that is already in use for another page, the "extra redirect" will be ignored.
You may "unlock" the affected URL (alias) and allow the extra redirect by excluding the ID of the item you wish to redirect.
How to Manage “Extra Redirects"?
The custom redirects panel is easily accessible from the URI Editor. To open it, click the "Permalink Manager" button located under the title field. Then, at the bottom, click the "Manager Redirects" button.
How to Enable This Feature?
The extra redirects functionality is enabled by default in the plugin settings. However, if you need to, you can easily turn it off. This may be the case, for instance, if you handle redirects with another plugin, such Yoast SEO Premium or Redirection.
To do this, open the plugin settings page and deselect the "Extra redirects (aliases)" checkbox.
Redirect to External URL
You may also use Permalink Manager Pro to redirect any term, page, or post to an external URL. Unlike internal redirects, you must type the whole URL address into the input field:
How to "Save Old Custom Permalinks As Extra Redirects"?
The plugin can be set to automatically save all earlier versions of URL addresses as "extra redirects," which is useful if you change the custom permalinks frequently. Once enabled, it will only handle new URL changes and will not save redirects for URLs that were modified before.
By default, this feature is turned off to prevent conflicts with other redirect plugins. To turn it on, go to "Settings -> Redirect settings" the plugin settings and enable "Extra redirects (aliases)" and "Save old custom permalinks as extra redirects".
Troubleshooting
Most WordPress websites rely on plugins that can interfere with each other, sometimes resulting in redirect issues or other unexpected behavior.
How to Disable All Redirect Functions?
If you are already using other redirect plugins, there is no need to duplicate this functionality. In this case, you can disable all redirect functions provided in the plugin in its settings.
How To Disable The Redirects Conditionally?
In some scenarios, automatic redirects managed by Permalink Manager are conflicting with other plugins or custom code.
If you do not want to disable the redirects completely, you can conditionally stop them by using a custom code snippet. This way, you can control redirects based on specific criteria, such as post/category ID, or query parameters:
/**
* Conditionally stop Permalink Manager redirect functions
*
* @param string|false $target_url The redirect target URL
* @param string $redirect_type The type of redirect being processed (e.g., 'native_redirect', 'old_slug_redirect').
* @param WP_Post|WP_Term|null $queried_object The currently queried object (post, term, or null).
*
* @return string|false Modified URL or false to stop the redirect.
*/
function pm_conditional_stop_redirect( $target_url, $redirect_type, $queried_object ) {
	global $wp_query;
	// A. Stop the redirect on a specific page or post (replace 123 with your specific post ID).
	if ( ! empty( $queried_object->ID ) && $queried_object->ID == 123 ) {
		$target_url = false;
	}
	// B. Stop the redirect on a specific category or term (replace 456 with your specific term ID).
	if ( ! empty( $queried_object->term_id ) && $queried_object->term_id == 456 ) {
		$target_url = false;
	}
	// C. Stop the redirect if a specific query argument is present in the query object.
	if ( ! empty( $wp_query->query_vars['some_query_argument'] ) ) {
		$target_url = false;
	}
	return $target_url;
}
add_filter( 'permalink_manager_filter_redirect', 'pm_conditional_stop_redirect', 5, 3 );




