HM Redirects WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA #10 in SEO & Metadata
Fast and scalable redirects plugin for WordPress
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/humanmade/hm-redirects/archive/refs/heads/master.zipOn Packagist as humanmade/hm-redirects:
composer require humanmade/hm-redirectsAllows to redirect one path to another path on the same domain.
Architecture
Redirects are stored as a custom post type and use the following fields:
post_nameto store the md5 hash of the From path. This column is used because it is indexed, and allows fast queries.md5is used to simplify the storage.post_titleto store the From path.post_excerptto store the the To path.
Tips
This plugin uses wp_safe_redirect() to redirect. You will have to whitelist your redirect target domains using WordPress' allowed_redirect_hosts filter, otherwise the redirect will not work.
One way to get a list of redirect target domains is to run the WP-CLI command: wp hm-redirects find-domains. Another is to add them dynamically just-in-time using the filter hm_redirects_matched_redirect.
Attributions
Props for the data storage approach to VIP's WPCOM Legacy Redirector.
Contributing
Before tagging a release
- Update the version string on line 8.
Running tests
Currently the plugin's automated tests run against PHP 7.4 and WP 5.8. PHPUnit doesn't need to be installed, however:
composer install
docker run --rm -e WP_VERSION=5.8 -v $PWD:/code humanmade/plugin-testerReleases
18 releases.
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.