WP Link Sweeper – Broken Link Finder + Auto Fixer WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA
Fast, safe broken link scanner with bulk find/replace and auto-fix rules for WordPress
★ 0stars
10release downloads
v1.1.0latest · 8mo ago
Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/mubseoul/wp-link-sweeper/releases/download/v1.1.0/wp-link-sweeper-v1.1.0.zipOn Packagist as mubseoul/wp-link-sweeper:
composer require mubseoul/wp-link-sweeperNo built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.
A fast, safe WordPress plugin that scans your content for broken links and provides powerful tools to fix them efficiently.
Features
Core Functionality
- Smart Link Scanner: Scans posts, pages, and WooCommerce products for broken links
- Comprehensive Detection: Finds links in
<a href>tags and plain URLs in content - Intelligent Checking: Uses HEAD requests first, falls back to GET when needed
- Status Reporting: Detects 404s, timeouts, DNS errors, SSL issues, and redirects
- Batch Processing: AJAX-based scanning prevents timeouts on large sites
Link Management
- Detailed Reporting: View all broken links with status codes, occurrence counts, and affected posts
- Advanced Filtering: Filter by status, post type, domain, and more
- Quick Actions: Recheck individual links, ignore false positives
- Response Metrics: See response times and redirect chains
Bulk Operations
- Find & Replace: Safely replace URLs across your content
- Match Types: Contains, equals, starts with, ends with
- Preview Changes: See exactly what will be modified before applying
- Undo Support: Revert the last bulk operation if needed
- Safe Replacement: Protects code blocks from modification
Auto-Fix Rules
- Pattern Matching: Create rules for automatic URL replacement
- Wildcard Support: Use
*to preserve URL paths (e.g.,oldsite.com/*�newsite.com/*) - Rule Management: Enable/disable rules without deleting them
- Dry Run: Preview rule application before executing
Performance & Reliability
- Rate Limiting: Configurable request throttling (be kind to servers)
- Batch Processing: Processes posts and URLs in manageable chunks
- WP Cron Support: Schedule automatic scans (hourly, daily, weekly)
- Progress Tracking: Real-time progress updates during scans
- Stop Anytime: Safely interrupt long-running scans
Developer-Friendly
- Clean OOP Structure: PSR-4 autoloading, namespaces
- Custom DB Tables: Efficient storage with proper indexing
- Security First: Capability checks, nonces, input sanitization
- i18n Ready: Translation-ready strings
- Hooks & Filters: Extensible architecture (coming in v1.1)
Requirements
- WordPress 6.0 or higher
- PHP 8.0 or higher
- MySQL 5.6 or higher
Installation
From ZIP File
- Download the plugin ZIP file
- Go to WordPress admin � Plugins � Add New � Upload Plugin
- Choose the ZIP file and click "Install Now"
- Activate the plugin
- Navigate to Tools � Link Sweeper
Manual Installation
- Upload the
wp-link-sweeperfolder to/wp-content/plugins/ - Activate the plugin through the Plugins menu
- Navigate to Tools � Link Sweeper
From Source (Development)
git clone https://github.com/mubseoul/wp-link-sweeper.git
cd wp-link-sweeper
# If using Composer (optional)
composer install
Usage Guide
Running Your First Scan
- Go to Tools � Link Sweeper
- Click Start New Scan
- The scanner will:
- Extract all URLs from your content
- Check each URL's availability
- Report broken links, redirects, and errors
Viewing Broken Links
- Click the Broken Links tab
- Use filters to narrow results:
- Status (Broken, OK, Redirects)
- Post Type
- Domain
- See which posts contain each broken link
- Recheck or ignore individual links
Finding & Replacing URLs
- Go to the Find & Replace tab
- Enter the URL to find (e.g.,
http://oldsite.com) - Enter the replacement URL (e.g.,
https://newsite.com) - Select match type and post types
- Click Preview Changes to see what will happen
- Click Execute Replacement to apply changes
- Use Undo if you need to revert
Creating Auto-Fix Rules
- Go to the Auto-Fix Rules tab
- Add a new rule:
- Pattern:
oldsite.com/* - Replacement:
newsite.com/* - Match Type: Contains
- Pattern:
- Click Add Rule
- Preview or apply rules to broken links
Configuring Settings
- Go to the Settings tab
- Configure:
- Post Types: Which content to scan
- Rate Limit: Requests per second (default: 5)
- Timeout: How long to wait for responses
- Normalization: UTM removal, fragment handling
- Scheduled Scans: Automatic scanning frequency
- Batch Sizes: Adjust for server performance
Testing Checklist
Basic Functionality
- [ ] Install and activate plugin
- [ ] Access admin page at Tools � Link Sweeper
- [ ] All tabs load without errors
- [ ] Settings save successfully
Scanning
- [ ] Start a new scan
- [ ] Progress bar updates in real-time
- [ ] Scan completes without timeout
- [ ] Stop scan button works
- [ ] Dashboard shows accurate statistics
- [ ] Broken links appear in table
- [ ] Can filter by status, post type, domain
- [ ] Pagination works for large result sets
Link Checking
- [ ] Recheck individual link updates status
- [ ] Ignore link removes from list
- [ ] Status badges display correctly
- [ ] HTTP codes are accurate
- [ ] Response times are recorded
- [ ] Redirects are detected and counted
Find & Replace
- [ ] Preview shows affected posts
- [ ] Preview shows sample changes
- [ ] Execute replacement works
- [ ] Code blocks are protected
- [ ] Undo restores original content
- [ ] Match types work (contains, equals, etc.)
Auto-Fix Rules
- [ ] Can add new rule
- [ ] Can delete rule
- [ ] Can enable/disable rule
- [ ] Preview shows what will change
- [ ] Apply rules replaces URLs correctly
- [ ] Wildcard patterns work
WooCommerce Integration
- [ ] Product post type appears if WooCommerce active
- [ ] Can scan product descriptions
- [ ] Can replace URLs in products
Scheduled Scans
- [ ] Can set cron schedule
- [ ] Next run time displays correctly
- [ ] Scheduled scan executes (wait for schedule or test with WP-CLI)
Performance
- [ ] Large sites (1000+ posts) scan without timeout
- [ ] Batch processing works correctly
- [ ] Rate limiting prevents server overload
- [ ] Database queries are efficient
Security
- [ ] Non-admin users cannot access
- [ ] AJAX requests require nonce
- [ ] SQL injection attempts fail
- [ ] XSS attempts are escaped
Uninstall
- [ ] Can enable "Delete data on uninstall"
- [ ] Deactivate plugin
- [ ] Uninstall plugin
- [ ] Database tables removed (if option enabled)
- [ ] Options removed (if option enabled)
Roadmap
Version 1.1 (Released)
- [x] Export broken links to CSV
Version 1.2 (Planned)
- [ ] Email notifications for broken links
- [ ] Scan custom fields (Yoast, RankMath)
- [ ] Deeper Elementor/page builder support
- [ ] Hooks and filters for developers
- [ ] Bulk ignore by domain
- [ ] Link status history tracking
- [ ] Multi-language support improvements
Pro Ideas (Not in Free Version)
- [ ] Multi-site network support
- [ ] Advanced scheduling (specific times)
- [ ] Automatic replacement with dry-run logs
- [ ] Integration with Google Search Console
- [ ] Broken image detection
- [ ] External link monitoring service
- [ ] Priority support
- [ ] White-label options
Contributing
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Coding Standards
- Follow WordPress Coding Standards
- Use PHP 8.0+ features where appropriate
- Write clear, documented code
- Include PHPDoc blocks for classes and methods
Support
- Issues: GitHub Issues
- Documentation: Wiki
- WordPress.org: Support Forum
License
GPLv2 or later. See LICENSE file.
Credits
Developed by Mubseoul
Special thanks to:
- WordPress community
- Contributors (see CONTRIBUTORS.md)
Changelog
1.1.0 - 2024-02-XX
- NEW: CSV Export functionality
- Export broken links to CSV file
- Respects current filters (status, post type, domain)
- Includes all link details and affected posts
- Enhanced data portability for reporting
1.0.0 - 2024-01-XX
- Initial release
- Core scanning functionality
- Find & replace tool
- Auto-fix rules
- Scheduled scans
- WooCommerce support
Note: This plugin performs HTTP requests to external websites. Always respect robots.txt and be mindful of rate limiting.
Releases
2 releases. Each count is every asset in that release; expand a row for the breakdown.