

The main Link Scanner screen: broken, blocked, and working links at a glance.
Searching for a “broken link checker” or “dead link checker” for WordPress turns up plenty of options — but most of them treat a blocked request the same as a dead page. If a link you pointed to is protected by Cloudflare, Akamai, Incapsula, PerimeterX, DataDome, or Sucuri, those firewalls often reject an automated checker with a 403, 503, or a “checking your browser” challenge page — and most plugins report that as broken, even though a real visitor opening the same link in their browser gets the page just fine.
Link Scanner tells the two apart. Every link gets a real verdict, not just a status code:
Link Scanner scans your published posts and pages for links, then checks each one in the background, a few at a time on WordPress’s own cron — never inline while a page loads, so it never slows your site down. New links get checked when a post is saved; the rest are checked automatically on a rolling schedule. The admin screen shows what actually needs your attention first, with one-click re-checks and bulk actions for cleaning up a whole list at once.
This plugin tracks every link on your site, with no cap on how many, re-checked on a fixed daily cadence, with the full verdict engine (including firewall/bot-protection detection) included — not held back for a paid tier. Every feature described above is 100% free and fully functional with no restrictions, time limit, or nag screens.
Snagbane Link Scanner Pro is a separate, optional add-on plugin (not included in this download, and not distributed through WordPress.org). It does things this free plugin does not do at all — it is not a faster or less-limited version of what is already here:
Pro is available separately from snagbane.com and requires this free plugin to be installed and active. See the “Upgrade to Pro” link inside the plugin for details.
This plugin connects to two external services:
The link URLs already in your own content. To determine each link’s verdict, the plugin makes an outbound HTTP request, from your own server’s background cron, to each external URL found in your published posts and pages — this is the plugin’s core function, not an optional add-on. No content or personal data is sent; only the URL itself is requested, the same as a browser visiting that link. This happens automatically on a rolling background schedule and whenever a post is saved. See the destination link’s own site for its privacy policy.
Freemius, our licensing and update platform. This plugin uses the Freemius SDK to check for updates, apply the Free/Pro license state, and (only if you opt in on first activation) share basic, non-personal usage/site data used to improve the plugin. This connects to Freemius’s servers (freemius.com). No data is sent unless you activate the plugin, and the optional analytics opt-in can be declined without affecting functionality. See the Freemius Privacy Policy and Terms of Service for details.