{"id":394032,"date":"2026-11-01T12:16:02","date_gmt":"2026-11-01T12:16:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/deskhush-404-companion\/"},"modified":"2026-11-01T12:15:46","modified_gmt":"2026-11-01T12:15:46","slug":"deskhush-404-companion","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/deskhush-404-companion\/","author":23575452,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.10","stable_tag":"0.2.10","tested":"7.1.4","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"Deskhush 404 Companion","header_author":"Jason Madden","header_description":"Log 404s, suggest exact or normalised destinations, and create 301 redirects.","assets_banners_color":"c4cad2","last_updated":"2026-11-01 12:15:46","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":38,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.10":{"tag":"0.2.10","author":"jasonmad","date":"2026-11-01 12:15:46","revision":3777994}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3777994,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3777994,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3777994,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3777994,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.10"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3777994,"resolution":"1","location":"assets","locale":"","width":1281,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3777994,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3777994,"resolution":"3","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"404 Log \u2014 hit counts and destination suggestions","2":"Redirects \u2014 manage 301\/302 rules","3":"Settings \u2014 retention and redirect execution options"}},"plugin_section":[],"plugin_tags":[932,905,727,186],"plugin_category":[55],"plugin_contributors":[78154,286989],"plugin_business_model":[],"class_list":["post-394032","plugin","type-plugin","status-publish","hentry","plugin_tags-932","plugin_tags-905","plugin_tags-redirect","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-freemius","plugin_contributors-jasonmad","plugin_committers-jasonmad"],"banners":{"banner":"https:\/\/ps.w.org\/deskhush-404-companion\/assets\/banner-772x250.png?rev=3777994","banner_2x":"https:\/\/ps.w.org\/deskhush-404-companion\/assets\/banner-1544x500.png?rev=3777994","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/deskhush-404-companion\/assets\/icon-128x128.png?rev=3777994","icon_2x":"https:\/\/ps.w.org\/deskhush-404-companion\/assets\/icon-256x256.png?rev=3777994","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/deskhush-404-companion\/assets\/screenshot-1.png?rev=3777994","caption":"404 Log \u2014 hit counts and destination suggestions"},{"src":"https:\/\/ps.w.org\/deskhush-404-companion\/assets\/screenshot-2.png?rev=3777994","caption":"Redirects \u2014 manage 301\/302 rules"},{"src":"https:\/\/ps.w.org\/deskhush-404-companion\/assets\/screenshot-3.png?rev=3777994","caption":"Settings \u2014 retention and redirect execution options"}],"raw_content":"<!--section=description-->\n<p>For site owners and SEO-focused publishers cleaning up broken URLs after migrations, renames, or content changes.<\/p>\n\n<p><strong>Free<\/strong><\/p>\n\n<ul>\n<li>404 logging with hit counts and bot filtering<\/li>\n<li>Exact and normalised slug suggestions<\/li>\n<li>One-click 301 from a suggestion<\/li>\n<li>Redirect list (add \/ delete \/ export)<\/li>\n<li>Retention controls<\/li>\n<\/ul>\n\n<p><strong>Pro<\/strong><\/p>\n\n<ul>\n<li>Fuzzy \/ typo matching (Levenshtein and token overlap)<\/li>\n<li>Tunable confidence threshold<\/li>\n<li>CSV import of redirects<\/li>\n<li>Needs-redirect queue with hit prioritization (minimum hits)<\/li>\n<li>Bulk apply \/ reject suggestions<\/li>\n<li>Ignore URL rules<\/li>\n<\/ul>\n\n<p>This Free package is fully usable on its own. Pro is distributed separately via Freemius.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate through the Plugins screen<\/li>\n<li>Open <strong>Deskhush 404<\/strong> in the dashboard<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20lock%20paid%20features%20inside%20the%20free%20plugin%3F\"><h3>Does this lock paid features inside the free plugin?<\/h3><\/dt>\n<dd><p>No. Everything shipped in this package works. Fuzzy matching, import, and bulk tools live in the Pro package.<\/p><\/dd>\n<dt id=\"does%20this%20work%20alongside%20other%20redirect%20plugins%3F\"><h3>Does this work alongside other redirect plugins?<\/h3><\/dt>\n<dd><p>Yes. When Redirection, Rank Math\u2019s redirections module, Yoast SEO Premium, or Safe Redirect Manager is active, Deskhush 404 logs 404s and suggests fixes but does not execute 301s from its own table unless you enable \u201cExecute Deskhush 404 redirects\u201d in Settings. Free Yoast SEO does not take over redirects. Use one plugin to execute redirects to avoid conflicts.<\/p><\/dd>\n<dt id=\"does%20this%20support%20wordpress%20multisite%3F\"><h3>Does this support WordPress Multisite?<\/h3><\/dt>\n<dd><p>Not in v1. The plugin activates on Multisite without errors, then shows an admin notice and does not run 404 logging or redirects. Use a single-site install for the supported experience.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.10<\/h4>\n\n<ul>\n<li>Fixed: Activation completes cleanly on Multisite. Multisite remains unsupported in v1: an admin notice is shown and features do not run.<\/li>\n<\/ul>\n\n<h4>0.2.9<\/h4>\n\n<ul>\n<li>Fixed: CSV import, bulk apply, and ignore live only in the Pro package. The Free package no longer ships empty handlers for those features.<\/li>\n<\/ul>\n\n<h4>0.2.8<\/h4>\n\n<ul>\n<li>Fixed: Freemius init matches the integration snippet, so the Free package does not ask for a license key<\/li>\n<li>Fixed: Plugin description matches the Free suggestions: exact and normalised matches<\/li>\n<li>Fixed: Fuzzy matching stays in the Pro package<\/li>\n<li>Fixed: Redirect status codes are limited to 301 and 302<\/li>\n<\/ul>\n\n<h4>0.2.7<\/h4>\n\n<ul>\n<li>Fixed: Pro-only features are removed from the Free package. What remains works without a license.<\/li>\n<\/ul>\n\n<h4>0.2.6<\/h4>\n\n<ul>\n<li>Improved: Defer 301s when Rank Math redirections, Yoast SEO Premium, or Safe Redirect Manager is active, same as Redirection.<\/li>\n<\/ul>\n\n<h4>0.2.5<\/h4>\n\n<ul>\n<li>Note: Display name Deskhush 404 Companion; folder and text domain deskhush-404-companion<\/li>\n<li>Fixed: Global prefix is dh4c (Plugin Check PrefixAllGlobals)<\/li>\n<\/ul>\n\n<h4>0.2.4<\/h4>\n\n<ul>\n<li>Fixed: Plugin Check ExceptionNotEscaped \u2014 escape License stub exception with esc_html()<\/li>\n<\/ul>\n\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>Note: Freemius deploy iteration (License message sanitize; insufficient for Plugin Check)<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Note: Freemius product wired (<code>id<\/code> 40756); deploy ZIP for Free\/Pro preprocessor<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Improved: Consistent card\/toolbar styling across 404 Log, Redirects, and Settings (doc 25)<\/li>\n<li>Fixed: Admin assets load via submenu ?page= router<\/li>\n<li>Fixed: Plugin headers for WordPress.org (Tested up to 7.1; remove example.com URI)<\/li>\n<li>Fixed: Multisite activation blocked with clear error (ADR-09)<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Pro: bulk apply suggestions, ignore rules, minimum-hit prioritization<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Improved: Initial release<\/li>\n<\/ul>","raw_excerpt":"Log 404s, suggest destinations, and create 301 redirects. Complements \u2014 does not replace \u2014 full redirect suites.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/394032","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=394032"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jasonmad"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=394032"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=394032"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=394032"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=394032"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=394032"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=394032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}