{"id":377712,"date":"2026-10-02T10:09:18","date_gmt":"2026-10-02T10:09:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/fast-301\/"},"modified":"2026-10-02T10:08:41","modified_gmt":"2026-10-02T10:08:41","slug":"detourkit","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/detourkit\/","author":18837462,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.2","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"DetourKit - URL redirection toolkit","header_author":"DetourKit contributors","header_description":"Indexed redirects with sitemap import, mass target editing, and Apache or Nginx export.","assets_banners_color":"","last_updated":"2026-10-02 10:08:41","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.buymeacoffee.com\/miga","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":53,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"migaweb","date":"2026-10-02 10:08:41","revision":3724529}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[932,1329,2437,727,1557],"plugin_category":[55],"plugin_contributors":[207306],"plugin_business_model":[],"class_list":["post-377712","plugin","type-plugin","status-publish","hentry","plugin_tags-932","plugin_tags-htaccess","plugin_tags-nginx","plugin_tags-redirect","plugin_tags-sitemap","plugin_category-seo-and-marketing","plugin_contributors-migaweb","plugin_committers-migaweb"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/detourkit.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>DetourKit redirects old URLs to new ones.<\/p>\n\n<ul>\n<li>One indexed database lookup per request. The plugin stores a hash of each source path under a unique index and never loops over the rules.<\/li>\n<li>A cached negative result. A URL without a rule costs one memory read on sites with a persistent object cache.<\/li>\n<li>Sitemap import. Enter the URL of an old sitemap.xml, and every URL becomes a draft rule. The importer ignores the home page and every URL that still opens a page on the current site.<\/li>\n<li>Mass editing. Assign a target post or page to many rules on one screen with a searchable dropdown, then save all changes with one click.<\/li>\n<li>Exact and regex rules with status codes 301, 302, 307, and 308.<\/li>\n<li>Hit counts that never block the response. Logged-in users do not count.<\/li>\n<li>Export to CSV, to an Apache .htaccess block, or to an Nginx map file.<\/li>\n<\/ul>\n\n<p>The plugin sends no data to any external service. The only outgoing request is the sitemap URL that an administrator enters on the Import screen.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>detourkit<\/code> folder to <code>wp-content\/plugins<\/code>.<\/li>\n<li>Activate the plugin. It creates the table <code>{prefix}detourkit_rules<\/code>.<\/li>\n<li>Open Redirects in the admin menu.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20does%20the%20redirect%20run%3F\"><h3>Where does the redirect run?<\/h3><\/dt>\n<dd><p>On the <code>template_redirect<\/code> hook by default. Change it to <code>parse_request<\/code> in the settings when you want the lookup before the main query.<\/p><\/dd>\n<dt id=\"does%20it%20need%20an%20object%20cache%3F\"><h3>Does it need an object cache?<\/h3><\/dt>\n<dd><p>No. With a persistent object cache, a miss costs one memory read. Without one, a miss costs one indexed query.<\/p><\/dd>\n<dt id=\"can%20i%20redirect%20to%20another%20domain%3F\"><h3>Can I redirect to another domain?<\/h3><\/dt>\n<dd><p>Yes. Enable \"Allow targets on other hosts\" in the settings. The option is off by default.<\/p><\/dd>\n<dt id=\"what%20does%20the%20nginx%20export%20do%3F\"><h3>What does the Nginx export do?<\/h3><\/dt>\n<dd><p>It writes a map file into <code>wp-content\/uploads\/detourkit\/<\/code> and shows the snippet for your server block. Nginx applies the map only after a reload. Deny web access to that folder in your Nginx configuration.<\/p><\/dd>\n<dt id=\"does%20uninstalling%20remove%20the%20rules%3F\"><h3>Does uninstalling remove the rules?<\/h3><\/dt>\n<dd><p>Yes. Uninstalling drops the rules table and the settings. It does not edit <code>.htaccess<\/code>. Remove the <code>DetourKit<\/code> block by hand if you used the Apache export.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Indexed redirects with sitemap import, mass target editing, and Apache or Nginx export.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/377712","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=377712"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/migaweb"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=377712"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=377712"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=377712"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=377712"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=377712"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=377712"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}