Permapilot – Automatic Permalink Refresh
When a theme or plugin adds or changes a custom post type, a taxonomy, a rewrite rule or an endpoint, WordPress keeps serving its old, cached rewrite rules. The new URLs return 404 until someone goes to Settings → Permalinks and clicks Save. Permapilot does that for you. On every request it compares
About this tool.
When a theme or plugin adds or changes a custom post type, a taxonomy, a rewrite rule or an endpoint, WordPress keeps serving its old, cached rewrite rules. The new URLs return 404 until someone goes to Settings → Permalinks and clicks Save.
Permapilot does that for you. On every request it compares a lightweight fingerprint of the registered routes with the one the rules were built from. When they differ, it rebuilds the rules once. When nothing changed, it costs one option read and one hash.
It catches:
- New custom post types and taxonomies.
- Changed post type or taxonomy slugs.
- Rules added with add_rewrite_rule() .
- Endpoints added with add_rewrite_endpoint() .
There are no settings. Activate it and forget it.
Permapilot Pro
Renamed a post type or taxonomy slug? Every old URL now leads nowhere. Permapilot Pro sends visitors and search engines from the old URLs to the new ones with permanent (301) redirects, including taxonomy term URLs, which WordPress never redirects on its own.
Frequently asked questions.
Does it slow my site down?
No. The check runs once per request and reads one cached option. Rules are only rebuilt when the routes actually change.
Does it rewrite my .htaccess file?
No. It does a soft flush, which rebuilds the rules stored in the database and leaves .htaccess alone.
What if another plugin registers routes only on some pages?
Some plugins register their routes only in wp-admin, so the routes keep changing between requests. Permapilot rebuilds the rules at most 5 times in 10 minutes, so this never turns into a rebuild on every request.
Does it catch rules added with the rewrite_rules_array filter?
Not yet. Changes made only inside a filter callback are not part of the fingerprint. Save Settings → Permalinks once after changing such code.