Plugin info

Total downloads: 1,870,601
Active installs: 40,000
Total reviews: 78
Average rating: 4.7
Support threads opened: 1
Support threads resolved: 0 (0%)
Available in: 8 language(s)
Contributors: 14
Last updated: 4/23/2025 (252 days ago)
Added to WordPress: 8/27/2012 (13 years old)
Minimum WordPress version: 6.5
Tested up to WordPress version: 6.8.3
Minimum PHP version: 7.4

Maintenance & Compatibility

Maintenance score

Stale • Last updated 252 days ago • Support resolved 0% • 78 reviews

34/100

Is Safe Redirect Manager abandoned?

Likely maintained (last update 252 days ago).

Compatibility

Requires WordPress: 6.5
Tested up to: 6.8.3
Requires PHP: 7.4

Similar & Alternatives

Explore plugins with similar tags, and compare key metrics like downloads, ratings, updates, support, and WP/PHP compatibility.

No similar plugins found yet.

Description

Safely manage your site’s redirects the WordPress way. There are many redirect plugins available. Most of them store redirects in the options table or in custom tables. Most of them provide tons of unnecessary options. Some of them have serious performance implications (404 error logging). Safe Redirect Manager stores redirects as Custom Post Types. This makes your data portable and your website scalable. Safe Redirect Manager is built to handle enterprise level traffic and is used on major publishing websites. The plugin comes with only what you need following the WordPress mantra, decisions not options. Actions and filters make the plugin very extensible.

Fork the plugin on GitHub.

Configuration

There are no overarching settings for this plugin. To manage redirects, navigate to the administration panel (“Tools” > “Safe Redirect Manager”).

Each redirect contains a few fields that you can utilize:

“Redirect From”

This should be a path relative to the root of your WordPress installation. When someone visits your site with a path that matches this one, a redirect will occur. If your site is located at http://example.com/wp/ and you wanted to redirect http://example.com/wp/about to http://example.com, your “Redirect From” would be /about.

Clicking the “Enable Regex” checkbox allows you to use regular expressions in your path. There are many great tutorials on regular expressions.

You can also use wildcards in your “Redirect From” paths. By adding an * at the end of a URL, your redirect will match any request that starts with your “Redirect From”. Wildcards support replacements. This means if you have a wildcard in your from path that matches a string, you can have that string replace a wildcard character in your “Redirect To” path. For example, if your “Redirect From” is /test/*, your “Redirect To” is http://google.com/*, and the requested path is /test/string, the user would be redirect to http://google.com/string.

“Redirect To”

This should be a path (i.e. /test) or a URL (i.e. http://example.com/wp/test). If a requested path matches “Redirect From”, they will be redirected here. “Redirect To” supports wildcard and regular expression replacements.

“HTTP Status Code”

HTTP status codes are numbers that contain information about a request (i.e. whether it was successful, unauthorized, not found, etc). You should almost always use either 302 (temporarily moved) or 301 (permanently moved).

Note:

  • Redirects are cached using the Transients API. Cache busts occur when redirects are added, updated, and deleted so you shouldn’t be serving stale redirects.
  • By default the plugin only allows at most 1000 redirects to prevent performance issues. There is a filter srm_max_redirects that you can utilize to up this number.
  • “Redirect From” and requested paths are case insensitive by default.
  • Developers can use srm_additional_status_codes filter to add status codes if needed.
  • Rules set with 403 and 410 status codes are handled by applying the HTTP status code and render the default WordPress wp_die screen with an optional message.
  • Rules set with a 404 status code will apply the status code and render the 404 template.
  • Browsers heavily cache 301 (permanently moved) redirects. It’s recommended to test your permanent redirects using the 302 (temporarily moved) status code before changing them to 301 permanently moved.

Developer Documentation

Safe Redirect Manager includes a number of actions and filters developers can make use of. These are documented on the Safe Redirect Manager developer documentation micro-site.

Installation

Install the plugin in WordPress. You can download a zip via GitHub and upload it using the WordPress plugin uploader (“Plugins” > “Add New” > “Upload Plugin”).

Frequently Asked Questions

No FAQ available

Review feed

Donna McMaster
1/18/2019

okay for a few items

This plugin works fine to redirect a few pages here and there, but I wouldn't recommend it for a project where you are significantly changing the page hierarchy. This is because there is no way to reorder the redirects, so if you want to make sure that a set of redirects are done in a specific order, you may have to delete the existing ones and re-add.
David Artiss
8/9/2020

Simple to use, redirect management

There are lots of redirect plugins available but this is the only one that I recommend and have it installed on all of my sites. Simple to use and, well, it just works - you can't ask for anything more.

Screenshots

  1. List of Redirect rules under Tools > Safe Redirect Manager

    List of Redirect rules under Tools > Safe Redirect Manager

  2. Edit view of a Redirect rule

    Edit view of a Redirect rule

  3. Bulk Edit view of multiple Redirect rules

    Bulk Edit view of multiple Redirect rules

  4. Bulk Edit to enable Force HTTPs

    Bulk Edit to enable Force HTTPs

Changelog

2.2.2 – 2025-02-05

  • Added: Add author ID as a new, optional argument to the srm_create_redirect function. If passed, will associate this author ID to the newly created redirect (props @norcross, @dkotter via #408).
  • Fixed: Fix a few typos (props @szepeviktor, @jeffpaul via #407).

2.2.1 – 2024-11-13

2.2.0 – 2024-09-19

2.1.2 – 2024-06-19

2.1.1 – 2024-01-08

Earlier versions

For the changelog of earlier versions, please refer to the changelog on github.com.