{"id":290551,"date":"2026-04-20T22:19:08","date_gmt":"2026-04-20T22:19:08","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/broken-link-auto-fixer\/"},"modified":"2026-04-21T22:59:53","modified_gmt":"2026-04-21T22:59:53","slug":"codesala-broken-link-fixer","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/codesala-broken-link-fixer\/","author":20981407,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.0","stable_tag":"2.0.0","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Codesala Broken Link Fixer","header_author":"Bikas Kumar","header_description":"Scan WordPress posts and pages for broken links (404, 500 errors) and fix or remove them directly from the admin dashboard. Supports scheduled scans, email alerts, and batch processing.","assets_banners_color":"2d3138","last_updated":"2026-04-21 22:59:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/codesala.in\/products\/broken-link-auto-fixer-wordpress-plugin-to-detect-and-fix-broken-links\/","header_author_uri":"https:\/\/codesala.in\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":136,"num_ratings":2,"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":"bikaskumar2000","date":"2026-04-20 22:19:39"},"2.0.0":{"tag":"2.0.0","author":"bikaskumar2000","date":"2026-04-21 22:59:53"}},"upgrade_notice":{"2.0.0":"<p>Major feature update \u2014 adds Bulk Actions (Bulk Remove \/ Bulk Redirect \/ Bulk Ignore) for processing many broken links at once. Safe upgrade, no database schema changes.<\/p>","1.0.0":"<p>Initial release \u2014 no upgrade steps required.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3511239,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3511239,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3511239,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3511239,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","2.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Dashboard showing the broken links table with Replace, Remove, and Ignore actions.","2":"Scan in progress with animated progress bar.","3":"Settings page with scheduling and email notification options."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[260664,14279,40482,14280,238549],"plugin_category":[],"plugin_contributors":[260665],"plugin_business_model":[],"class_list":["post-290551","plugin","type-plugin","status-publish","hentry","plugin_tags-404-links","plugin_tags-broken-links","plugin_tags-dead-links","plugin_tags-link-checker","plugin_tags-link-fixer","plugin_contributors-bikaskumar2000","plugin_committers-bikaskumar2000"],"banners":{"banner":"https:\/\/ps.w.org\/codesala-broken-link-fixer\/assets\/banner-772x250.png?rev=3511239","banner_2x":"https:\/\/ps.w.org\/codesala-broken-link-fixer\/assets\/banner-1544x500.png?rev=3511239","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/codesala-broken-link-fixer\/assets\/icon-128x128.png?rev=3511239","icon_2x":"https:\/\/ps.w.org\/codesala-broken-link-fixer\/assets\/icon-256x256.png?rev=3511239","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Codesala Broken Link Fixer<\/strong> is a lightweight WordPress plugin by <a href=\"https:\/\/codesala.in\">Codesala<\/a> that automatically scans all your posts and pages for broken links (HTTP 404, 500, and other error codes), and lets you fix them \u2014 right from your WordPress dashboard.<\/p>\n\n<p>Built by <strong>Bikas Kumar<\/strong> at <a href=\"https:\/\/codesala.in\">Codesala<\/a> using the WordPress Plugin Boilerplate.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>One-click scan<\/strong> \u2014 Scan your entire site with a single button click.<\/li>\n<li><strong>AJAX batched scanning<\/strong> \u2014 Scans in small batches to avoid server timeouts. Shows a live progress bar.<\/li>\n<li><strong>Replace URL<\/strong> \u2014 Replace a broken URL with a working one. Post content is updated automatically.<\/li>\n<li><strong>Remove Link<\/strong> \u2014 Remove a broken link's anchor tag while keeping the visible text.<\/li>\n<li><strong>Ignore Link<\/strong> \u2014 Mark a link as ignored so it won't clutter your results.<\/li>\n<li><strong>Bulk Actions (new in 2.0)<\/strong> \u2014 Select multiple broken links at once and <strong>Bulk Remove<\/strong>, <strong>Bulk Redirect<\/strong> (replace URLs in batch via a modal), or <strong>Bulk Ignore<\/strong> in a single click.<\/li>\n<li><strong>HTTP status display<\/strong> \u2014 See the exact error code (404, 500, 403, Timeout, etc.) for each broken link.<\/li>\n<li><strong>Scheduled automatic scanning<\/strong> \u2014 Set up hourly, daily, or weekly automated scans via WP-Cron.<\/li>\n<li><strong>Email notifications<\/strong> \u2014 Receive an email alert whenever broken links are found.<\/li>\n<li><strong>Clean uninstall<\/strong> \u2014 Removes all database tables and plugin options on uninstall.<\/li>\n<li><strong>WordPress Coding Standards<\/strong> \u2014 Built with security best practices: nonces, capability checks, sanitization, and prepared SQL queries.<\/li>\n<\/ul>\n\n<h4>Use Cases<\/h4>\n\n<ul>\n<li>SEO managers who want to keep all outbound and internal links healthy.<\/li>\n<li>Content editors maintaining large blog archives.<\/li>\n<li>Site owners who want automated weekly health checks.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>codesala-broken-link-fixer<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Navigate to <strong>Broken Links \u2192 Dashboard<\/strong> in your WordPress admin menu.<\/li>\n<li>Click <strong>Scan Website for Broken Links<\/strong> to run your first scan.<\/li>\n<li>Configure automated scanning under <strong>Broken Links \u2192 Settings<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20slow%20down%20my%20website%3F\"><h3>Does this plugin slow down my website?<\/h3><\/dt>\n<dd><p>No. Scanning happens only when you click the scan button (or when WP-Cron triggers it). It does not affect your front-end performance at all.<\/p><\/dd>\n<dt id=\"how%20does%20the%20scanner%20check%20links%3F\"><h3>How does the scanner check links?<\/h3><\/dt>\n<dd><p>It uses WordPress's built-in <code>wp_remote_head()<\/code> (with a fallback to <code>wp_remote_get()<\/code>) to send HTTP requests to each URL and checks the response code.<\/p><\/dd>\n<dt id=\"what%20http%20codes%20are%20considered%20%22broken%22%3F\"><h3>What HTTP codes are considered \"broken\"?<\/h3><\/dt>\n<dd><p>0 (timeout\/unreachable), 400, 401, 403, 404, 408, 410, 500, 502, 503, 504.<\/p><\/dd>\n<dt id=\"will%20it%20fix%20internal%20links%20too%3F\"><h3>Will it fix internal links too?<\/h3><\/dt>\n<dd><p>Yes \u2014 the scanner checks all absolute <code>http:\/\/<\/code> and <code>https:\/\/<\/code> URLs found in post content, whether they are internal or external.<\/p><\/dd>\n<dt id=\"does%20it%20scan%20custom%20post%20types%3F\"><h3>Does it scan custom post types?<\/h3><\/dt>\n<dd><p>The current version scans Posts and Pages. Support for custom post types is planned for a future release.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20uninstall%3F\"><h3>What happens when I uninstall?<\/h3><\/dt>\n<dd><p>The plugin removes its custom database table (<code>wp_broken_links<\/code>) and all options from <code>wp_options<\/code>. Your posts and pages are untouched.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<ul>\n<li><strong>NEW:<\/strong> Bulk Actions bar \u2014 select multiple broken links with checkboxes and act on them at once.<\/li>\n<li><strong>NEW:<\/strong> Bulk Remove Broken Links \u2014 strip anchor tags for many links in one click (visible text preserved).<\/li>\n<li><strong>NEW:<\/strong> Bulk Redirect \u2014 opens a modal listing all selected broken URLs with an input for each new target URL; replaces them all in a single batch.<\/li>\n<li><strong>NEW:<\/strong> Bulk Ignore \u2014 mark many links as ignored at once.<\/li>\n<li><strong>NEW:<\/strong> \"Select All\" master checkbox in the links table header.<\/li>\n<li><strong>IMPROVED:<\/strong> Posts containing multiple broken links are now updated in a single <code>wp_update_post()<\/code> per post (faster, fewer revisions, safer).<\/li>\n<li><strong>IMPROVED:<\/strong> Dashboard layout polished with a dedicated bulk-action bar, a selected-count indicator, and an accessible modal overlay (Escape key + click-outside to close).<\/li>\n<li><strong>IMPROVED:<\/strong> Minor CSS cleanup and mobile responsiveness.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>AJAX-powered batched scanner.<\/li>\n<li>Replace URL, Remove Link, Ignore Link actions.<\/li>\n<li>Scheduled scanning via WP-Cron.<\/li>\n<li>Email notifications on broken link detection.<\/li>\n<li>Settings page with frequency and email configuration.<\/li>\n<li>Full uninstall cleanup.<\/li>\n<\/ul>","raw_excerpt":"Scan your WordPress posts and pages for broken links (404, 500 errors) and fix or remove them directly from the admin dashboard.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/290551","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=290551"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bikaskumar2000"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=290551"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=290551"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=290551"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=290551"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=290551"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=290551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}