Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using the Yoast SEO…
About 404 Solution
404 Solution is a highly configurable plugin that redirects page not found errors to existing pages and logs the errors. It can also create redirects based on the best possible match for the URL the visitor was trying to reach. It is compatible with WooCommerce and provides features such as displaying a list of page suggestions on a custom 404 page and automatically removing redirects when they are no longer used.Screenshots






Frequently asked questions
What does the 404 Solution plugin do?
The 404 Solution plugin redirects page not found errors (404s) to existing pages and logs these errors. It can also create redirects based on the best possible match for the URL a visitor was likely trying to reach.
What are some key features of 404 Solution?
Key features include highly configurable redirects, automatic redirect creation, logging of 404s and redirects with referrer data, and WooCommerce compatibility. It also supports displaying page suggestions on custom 404 pages using a shortcode.
How does 404 Solution handle redirects?
The plugin can redirect specific 404 URLs to any existing page and automatically creates redirects based on the most likely intended URL. It also automatically removes redirects when a URL matches a new page or post, or when they are no longer used.
Are there any performance considerations when using 404 Solution?
Yes, if your site experiences many simultaneous users, it is recommended to turn off the "Create automatic redirects" option and avoid using the shortcode to prevent site slowdowns.
What kind of data can be viewed in the logs?
The logs provide a list of 404s as they happen and allow viewing of 404 pages and redirects, including referrer data.
Changelog
Version 2.36.5 (February 3, 2025)
- FIX: Use SHOW CREATE TABLE instead of select from information_schema to get collation data.
Version 2.36.4 (December 13, 2024)
- FIX: Ensure parent classes are loaded before their children to possibly resolve inheritance issues with autoloading. (thanks debug file participants)
Version 2.36.3 (November 28, 2024)
- FIX: Handle arrays in query parameters without logging an error.
Version 2.36.2 (November 25, 2024)
- FIX: Avoid various SQL errors when unprintable characters are included in a URL.
- FIX: Move the load_plugin_textdomain function to the init() hook. (for @reallydeej)
Version 2.36.1 (November 23, 2024)
- FIX: Finalize fixes for case sensitive lower_case_table_names settings.
Version 2.35.25 (November 22, 2024)
- FIX: Hopefully fix the “Could not perform query because it contains invalid data” issue.
- FIX: Account for arrays when escaping parts of a URL.
Version 2.35.24 (November 22, 2024)
- FIX: Hopefully fix a case issue with MySQL and the lower_case_table_names setting. (thanks lonesync)
Version 2.35.23 (November 20, 2024)
- FIX: Hopefully avoid a requested_url cannot be null for query error.
Version 2.35.22 (November 20, 2024)
- FIX: Don’t load classes unless they’re necessary to save memory and execution time on all pages.
Version 2.35.21 (November 19, 2024)
- FIX: Make sure initializing files are included when necessary in PluginLogic.php since JetPack seems to be including that file early, by itself, without loading the plugin correctly for some reason.
Version 2.35.20 (November 18, 2024)
- FIX: Resolved a security issue by no longer decoding query parameters when redirecting to a 404 page.
Version 2.35.19 (November 18, 2024)
- FIX: Try to fix logging issues caused by people that use latin1 as their database encoding (urlencode utf8mb4 characters when storing to the logs table and warn about it). (thanks to debug log file participants)
- FIX: Avoid error messages when trying to assure that table names are lower case (probably introduced in 2.35.16).
Version 2.35.18 (November 14, 2024)
- FIX: Make sure only admin users can export redirects using the Tools page export function.
- Update: Avoid some of the issues listed in the Plugin Check feature of WordPress.
Version 2.35.17 (October 15, 2024)
- FIX: Don’t throw an exception on the Options page when there are no log entries (for crzyhrse).
Version 2.35.16 (October 9, 2024)
- FIX: Try to fix a case issue with MySQL and the lower_case_table_names setting.
Version 2.35.15 (September 30, 2024)
- FIX: Try to fix a table collation issue for atlet.
Version 2.35.14 (September 27, 2024)
- Improvement: Include WooCommerce categories also.
- FIX: Avoid an out of memory issue during spellcheck when there were too many posts or pages (> 10,000) (caused by debug_backtrace() apparently).
Version 2.35.13 (August 7, 2024)
- FIX: Fix the ‘Files and Folders Ignore Strings – Do Not Process’ functionality.
Version 2.35.12 (August 3, 2024)
- FIX: Fix an undefined array key due to the new template redirect priority option.
Version 2.35.11 (August 2, 2024)
- FIX: Allow users to set the template_redirect priority which allows other plugins or other “things” to handle 404s before this plugin handles it. Hopefully this will fix an issue where some payment systems purposefully direct to non-existent pages and then handle them.
- Improvement: Try to fix some sql “contains invalid data” issues when logging redirects.
Version 2.35.10 (July 11, 2024)
- FIX: Avoid an Undefined array key warning in PHP 8. Thanks @peterbp.
Version 2.35.9 (April 17, 2024)
- FIX: Fix an undefined constant warning for PHP 7 (and probably 8).
- FIX: Don’t esc_url() before redirecting, because it escapes things like & when it shouldn’t (thanks @wordknowledge).
- Update: Apparently made the levenshtein distance algorithm slightly more efficient, but I made the change a while ago and honestly don’t remember it. But I think probably it won’t break anything so I guess it’s okay.
Version 2.35.8 (January 31, 2024)
- Update: Fixed a supposed issue on the logs page that 1. I was unable to reproduce and 2. would definitely only be possible if you were an admin user anyway, so I’m not really sure why it was reported.
Version 2.35.7 (November 10, 2023)
- FIX: Avoid an Undefined array key for SERVER_NAME for some people.
Version 2.35.6 (November 9, 2023)
- Improvement: Handle even more emojis.
Version 2.35.5 (November 5, 2023)
- FIX: Avoid a PHP warning trim(): Passing null to parameter #1.
- FIX: Allow the fast text filter on the redirects and captured 404s tabs to work again (probably broken in 2.34.0).
- Improvement: Handle emojis in URLs without causing a collation SQL error.
Version 2.35.4 (November 4, 2023)
- FIX: Correctly log redirects to the default 404 page.
- FIX: Allow redirecting to the homepage again (broken in 2.35.3).
Version 2.35.3 (November 3, 2023)
- FIX: Avoid a PHP warning preg_replace(): Passing null to parameter #3. It looks like this was preventing someone from saving their settings.
- FIX: Better handle the case When a redirect is created and then the destination page is deleted. Redirects with deleted destinations always appear at the top of the list of redirects.
Version 2.35.2 (November 2, 2023)
- Improvement: Add more log messages to help diagnose issues.
Version 2.35.1 (November 1, 2023)
- FIX: Fix a logging issue when redirected to a URL with no path and no trailing slash. (Thank you debug log file participants!)
Version 2.35.0 (October 26, 2023)
- FIX: Compatible with WordPress 6.4.
- FIX: Fix the labels for “Ignore” and “Organize later” on the captured 404 page.
- FIX: Correctly store the “exclude specific pages” setting again (broken in 2.34.0 I think).
- FIX: Try again to fix the supposed issue that allows admins to run code on their own system.
Version 2.34.0 (October 23, 2023)
- Improvement: Redirects to pages that have been deleted now appear red in UI so they’re easy to see.
- FIX: Fixed a supposed SQL injection issue that I was unable to reproduce and would definitely only be possible if you were an admin user anyway, so I’m not really sure why it was reported, but thanks anyway I guess.
Version 2.33.2 (October 17, 2023)
- Improvement: Try to fix a logging issue.
Version 2.33.1 (October 13, 2023)
- Improvement: Fix a ‘Sensitive Data Exposure vulnerability’ for Joshua Chan that I didn’t really think was a big deal, but it must matter to someone, so I added a random ID to the debug log filename.
- Improvement: Only try to update database tables to the correct engines if they’re not already correct.
- FIX: Minor issues from some debug file participants like the referrer being too long sometimes and a missing cookie.
Version 2.33.0 (September 28, 2023)
- Improvement: Add a file import function to the Tools page so redirects can be imported (for NoAdO).
- FIX: Remove the ‘Thank you for creating with…’ message because it was messing up the layout on the Tools page and removing the message is easier than figuring out what the issue is with the layout.
Version 2.32.3 (May 29, 2023)
- FIX: Fix the Undefined array key “path” in WordPress_Connector.
