humanmade / hm-redirects
Simple plugin for handling WordPress redirects in a scalable manner.
Installs: 111 002
Dependents: 2
Suggesters: 0
Security: 0
Stars: 28
Watchers: 23
Forks: 8
Open Issues: 17
Type:wordpress-plugin
Requires
- php: >=5.4
- composer/installers: ~1.0
Requires (Dev)
- humanmade/coding-standards: ^0.5.0
- phpunit/phpunit: ^7.5
- dev-master
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.3
- 0.6.2
- 0.6.1
- 0.6.0
- 0.5.4
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.0
- 0.2.0
- dev-php-8-1-compatibility
- dev-v0.7-branch
- dev-v0.6-branch
- dev-preserve-url-params
- dev-backport-58-to-v0.6-branch
- dev-v0.5-branch
- dev-backport-42-to-v0.5-branch
- dev-ignore-path-trailing-slashes-when-matching
- dev-fix-redirects-with-path
This package is auto-updated.
Last update: 2023-05-08 15:45:31 UTC
README
Allows 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_name
to store the md5 hash of the From path. This column is used because it is indexed, and allows fast queries.md5
is used to simplify the storage.post_title
to store the From path.post_excerpt
to 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.