Getting Started
Choose the right plan
Must-Have Redirect is an intelligent 404 handling and URL redirection plugin. There are 2 available plans:
Single plan
You can use Must-Have Redirect with Single plan for 1 WordPress site. It's perfect if you have a single site or want to test the plugin's capabilities.
Unlimited plan
We created the Unlimited plan for freelancers and agencies who manage more than 3 sites. This plan can be used on unlimited sites, perfect for managing redirects across multiple WordPress installations.
Install Must-Have Redirect
- Login to My account on musthaveplugins.com
- On the next screen you will see all available plugins. Download Must-Have Redirect installer from the Must-Have Redirect box
- Login to WordPress admin where you would like to install Must-Have Redirect
- Go to Plugins > Add new and click to upload plugin
- Select the previously downloaded ZIP file (must-have-redirect.zip) and click to install
Configuration
Configure the basic functionality of the plugin in this section.
Smart 404 Handling
When enabled, the plugin automatically tries to find and redirect to the most relevant content when a 404 error occurs. This feature uses intelligent similarity matching to find the best possible destination.
Similarity Threshold
Choose how strict the plugin should be when matching similar content:
- Close Match (10% difference): Only redirects to very similar URLs, best for catching minor typos
- Likely Relevant (25% difference): Balanced approach, catches moderate URL variations
- Fallback (50% difference): Most lenient, tries to avoid 404s by finding any potentially relevant content
Custom 404 Page
Select any WordPress page to serve as your custom 404 page. This page will be displayed when:
- No matching redirect rule is found
- No similar content is found
- The found destination would create a redirect loop
Redirect Rules
Manage your redirect rules and view automatically generated redirects.
Manual Redirects
Create redirect rules with these options:
- Pattern: The URL pattern to match (supports wildcards)
- Destination: Where to redirect matching URLs
- Status: HTTP status code (301 permanent, 302 temporary)
Wildcard Patterns
Use * as a wildcard in your patterns. Examples:
old-product/*
→ Matches all URLs starting with "old-product/"*.html
→ Matches all URLs ending with ".html"
URL Handling
Learn how the plugin processes and normalizes URLs.
URL Normalization
The plugin automatically normalizes URLs for consistent matching:
- Removes trailing slashes
- Removes tracking parameters (utm_*, fbclid, etc.)
- Sorts remaining query parameters alphabetically
Ignored Query Parameters
These query parameters are automatically removed:
- UTM parameters (utm_source, utm_campaign, etc.)
- Social media parameters (fbclid, fb_action_ids, etc.)
- Analytics parameters (_ga, gclid)
- Other tracking parameters (age-verified, rdt_cid, li_fat_id)
Bot Protection
The plugin automatically detects and skips processing for:
- Empty or suspicious user agents
- Known bot/crawler user agents
- Malicious URL patterns
- Direct file access attempts
Best Practices
- Start with "Close Match" similarity and adjust based on your needs
- Review auto-generated redirects periodically
- Use wildcards carefully to avoid unintended matches
- Monitor hit counters to identify frequently used redirects
- Consider creating permanent (301) redirects for commonly used patterns
Available Filters
Customize the plugin's behavior using these filters:
mhredirect/current_path
Modify the normalized path before processing:
// Modify the normalized path
add_filter('mhredirect/current_path', function($path) {
// Your modifications here
return $path;
});
mhredirect/remove_query_params
Customize which query parameters to remove:
// Customize which query parameters to remove
add_filter('mhredirect/remove_query_params', function($params) {
$params[] = 'my_tracking_param';
return $params;
});
mhredirect/similarity_threshold
Customize similarity threshold for specific words:
// Customize similarity threshold for specific words
add_filter('mhredirect/similarity_threshold', function($threshold, $word1, $word2) {
// Your custom logic here
return $threshold;
}, 10, 3);
Changelog
0.1 – 2025.03.01.
Initial public beta release