Title: LinkSentinel &#8211; Internal Link and Broken Link Scanner
Author: Pragmatic Bear
Published: <strong>June 17, 2026</strong>
Last modified: June 17, 2026

---

Search plugins

![](https://ps.w.org/linksentinel/assets/icon-256x256.png?rev=3576031)

# LinkSentinel – Internal Link and Broken Link Scanner

 By [Pragmatic Bear](https://profiles.wordpress.org/pragmaticbear/)

[Download](https://downloads.wordpress.org/plugin/linksentinel.5.8.zip)

 * [Details](https://wordpress.org/plugins/linksentinel/#description)
 * [Reviews](https://wordpress.org/plugins/linksentinel/#reviews)
 *  [Installation](https://wordpress.org/plugins/linksentinel/#installation)
 * [Development](https://wordpress.org/plugins/linksentinel/#developers)

 [Support](https://wordpress.org/support/plugin/linksentinel/)

## Description

**LinkSentinel** keeps your site healthy by scanning internal links in your posts
and pages. It detects redirects and broken destinations without following all hops
blindly, letting you focus on what matters:

 * Auto-fixes links that are permanently redirected (HTTP 301/308) while leaving
   temporary redirects and broken links for review.
 * Runs scheduled scans (daily/twice daily/weekly) with timezone-aware cron control
   and live progress feedback.
 * Provides a full dashboard under **Tools → LinkSentinel** for resolved links, 
   pending redirects, broken links, CSV export and settings.
 * Customizable Resolve All batching with cooldown controls keeps bulk fixes stable
   even on rate-limited hosts.

## Installation

 1. Upload the `link-sentinel` folder to the `/wp-content/plugins/` directory, or install
    via the WordPress Plugins screen.
 2. Activate the plugin through the ‘Plugins’ menu in WordPress.
 3. Navigate to **Tools → LinkSentinel** and click **Scan Now** to scan existing content.
    Configure automatic scans in the Settings tab to run on your preferred schedule.

## FAQ

### Does this plugin scan external links?

Not yet. The plugin currently focuses on internal links within your site’s domain.
External link scanning is on the roadmap.

### What about images and media files?

Currently only anchor (`<a>`) tags are scanned. Support for images (`<img>` tags)
and other media is planned for a future release.

### Can I disable automatic scans?

Yes. Go to **Tools → LinkSentinel → Settings** and uncheck “Enable automatic scheduled
scans”. You can also adjust the frequency and time to suit your needs.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“LinkSentinel – Internal Link and Broken Link Scanner” is open source software. 
The following people have contributed to this plugin.

Contributors

 *   [ Pragmatic Bear ](https://profiles.wordpress.org/pragmaticbear/)

[Translate “LinkSentinel – Internal Link and Broken Link Scanner” into your language.](https://translate.wordpress.org/projects/wp-plugins/linksentinel)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/linksentinel/), check
out the [SVN repository](https://plugins.svn.wordpress.org/linksentinel/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/linksentinel/) by
[RSS](https://plugins.trac.wordpress.org/log/linksentinel/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 5.8

 * **Naming**: Renamed all stored options, transients, the custom database table,
   cron events, AJAX/admin-post actions, nonces, and the localized admin script 
   object to the unique `link_sentinel_` / `LinkSentinel` prefix. Existing installs
   begin with a fresh scan history; re-run a scan to repopulate.
 * **Developer**: Removed the legacy hook aliases retained in 5.6 — use the `link_sentinel_*`
   names.
 * **Compliance**: Removed runtime `error_reporting()` adjustments in the scanner.

#### 5.7

 * Renamed the plugin to “LinkSentinel – Internal Link and Broken Link Scanner” 
   for a clearer, more descriptive listing. No functional changes.

#### 5.6

 * **Compliance**: Addressed WordPress Plugin Check findings — escaped remaining
   admin output, added translators comments and ordered i18n placeholders, and unslashed/
   sanitized all request input.
 * **Developer**: Public hooks renamed to the `link_sentinel_*` prefix (e.g. `link_sentinel_follow_external_redirects`);
   legacy aliases were retained for back-compat (removed in 5.8).
 * **Developer**: Debug logging is now only written when `WP_DEBUG` is enabled.
 * Removed the manual `load_plugin_textdomain()` call; WordPress loads translations
   automatically.

#### 5.5

 * **Bug Fix**: Redirects to a different domain with an identical path are no longer
   misclassified as self-redirects; they are now logged for review.
 * **Bug Fix**: Starting a manual scan no longer resets a scan already in progress(
   e.g. one started by another admin).
 * **Bug Fix**: The Change Link form now accepts site-relative paths (e.g. `/about-
   us/`) in addition to full http(s) URLs.
 * **Stability**: The scan progress loop now stops with a clear message after repeated
   batch failures instead of retrying indefinitely.

#### 5.4

 * First public, open-source release under GPL-2.0-or-later.
 * Security: reviewed and hardened AJAX handlers and database queries.
 * Added a translation template (`languages/link-sentinel.pot`) and tidied translatable
   strings for full internationalization support.
 * Hardened files against direct access and improved inline documentation.

#### 5.2.2

 * **Critical Bug Fix**: Fixed race condition where manually fixed broken links 
   would become “stuck” in the pending queue during subsequent scans.
 * **Improved Duplicate Detection**: Enhanced scanner logic to prevent re-logging
   manually resolved links regardless of resolution status.
 * **Database Efficiency**: Optimized duplicate detection queries for better performance.
 * **Stability**: Prevented infinite redirect loops with improved URL normalization.

#### 5.0.1

 * Batch processing for manual scans.
 * Auto-fix permanently redirected links (301/308).
 * Queue temporary redirects and broken links for review.
 * Scheduled scans with timezone-aware cron control.
 * Dashboard with progress indicators and CSV export.

#### 4.6 – 2025-11-17

 * Added: Resolve All batching controls in settings with checkbox gating, custom
   links-per-batch, and cooldown inputs to prevent rate limits.
 * Added: Shared preference helper so PHP and JavaScript stay in sync when honoring
   user pacing choices.
 * Improved: Resolve All localization, timers, and AJAX handler now respect saved
   batch/cooldown limits to avoid regressions.

#### 4.4 – 2025-11-17

 * Added: A throttled mode for hosts with strict rate limits — single-item batches,
   longer pacing, and tighter server-side throttles to prevent 429 errors.
 * Added: Resolve All diagnostics in the browser console for fast root-cause analysis.
 * Improved: Resolve All batching now self-tunes based on step durations and memory
   ceilings; logging hardened with safer output buffering.
 * Updated: Documentation and admin UI messaging for the throttled workflow and 
   recommended troubleshooting steps.

#### 3.5 – 2025-11-12

 * Introduced timezone-aware scheduled scans with daily/twice daily/weekly frequency
   controls.
 * Added progress indicators, scan history, and concurrency protection between manual
   and scheduled runs.

#### 1.9 – 2025-10-22

 * Added “Resolved By” tracking for manual actions plus table wrapping fixes and
   accountability improvements.

## Meta

 *  Version **5.8**
 *  Last updated **6 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [301](https://wordpress.org/plugins/tags/301/)[302](https://wordpress.org/plugins/tags/302/)
   [broken links](https://wordpress.org/plugins/tags/broken-links/)[links](https://wordpress.org/plugins/tags/links/)
   [redirects](https://wordpress.org/plugins/tags/redirects/)
 *  [Advanced View](https://wordpress.org/plugins/linksentinel/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/linksentinel/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/linksentinel/reviews/)

## Contributors

 *   [ Pragmatic Bear ](https://profiles.wordpress.org/pragmaticbear/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/linksentinel/)