wp-content/plugins/wayfinder/wayfinder.php
Wayfinder
A redirect manager that watches your 404 log and offers you the fix, rather than waiting to be asked.
== Description ==
Most redirect plugins are a list you have to remember to add to. Wayfinder reads the 404 log, groups requests by the URL that produced them, and proposes a target based on slug similarity and the post that used to live there. You accept or you dismiss; it does not redirect anything on its own.
Redirects are stored in their own table and matched before WordPress runs its own guess-the-URL logic, which is the step that turns a missing page into a slow, wrong one. Matching is a single indexed lookup, so an install with 9,000 rules costs the same as one with nine.
Import and export are plain CSV with a documented header row, because the two times you need this plugin most are the week before a migration and the week after.
== Screenshots ==
Numbered the way they ship in /assets/. Click any one to see it full width.
== Installation ==
- Install and activate the plugin.
- Leave the 404 log running for a week under real traffic.
- Review the suggestions under Tools → Wayfinder and accept the ones that are right.
Nothing redirects until you accept it. There is no automatic mode and there will not be one.
== Frequently asked questions ==
Does it slow down 404s?
It replaces core’s redirect_canonical guess with one indexed query, so 404s get faster, not slower.
Can it handle regular expressions?
Yes, on a separate tab, evaluated after exact matches fail. Exact matches cover about 95% of real cases and cost far less.
What happens to the log?
Entries older than 90 days are pruned nightly. The window is configurable and the pruning is logged.
== Changelog ==
= 2.6.0 =
- Suggestions now weight slug similarity against the post that previously occupied the URL.
- CSV import reports the row number when a line fails validation.
= 2.5.1 =
- Fixed: query strings were stripped before matching, so parameterised redirects never fired.
= 2.0.0 =
- Redirects moved into their own table. Rules stored as options are migrated on activation.
- Minimum PHP is now 8.1.