All guides

Site health

Monitoring a portfolio of client sites for broken links: re-scans, email alerts and bulk fixes

How an agency keeps dozens of sites free of dead links without opening each one: a scheduled full re-scan, one email when links newly break, bulk domain fixes and a CSV for the client report.

4 min readUpdated

The maintenance-contract problem

Broken links are the maintenance item clients notice and agencies forget. A dead link on a client's pricing page is embarrassing precisely because it was nobody's job to look. Opening thirty sites a month to check is not a process; it is a hope.

Dragon Broken Links finds and fixes links on one site well (the workflow is in find and fix broken links). Since version 1.2.0 it also has the parts that make it work across a portfolio, all free: a scheduled full re-scan, email alerts, bulk tools and a CSV export.

Step 1: let every site re-scan itself

Under Settings, Full re-scan reads every post again in the background, weekly by default, or daily for sites whose content changes often. It catches links that arrived without a post being saved, such as imports and custom fields, and it works through the same bounded background re-check as the rest of the plugin, so it is not a load problem on shared hosting.

Two more boxes in Settings widen what is read:

  • Custom fields: web addresses in public custom fields, where page builders and theme options often keep links.
  • Approved comments: links in comments, if the site has them open.

Both are off by default because each adds a database query for every post read. Turn them on where the site keeps links there.

Scans run on WP-Cron. A low-traffic site whose cron only fires on visits can fall behind, so set up a real system cron on those (the WP-Cron guide covers it).

Step 2: send the alerts to one inbox

Tick Email alerts under Settings. When a scan finishes and links have newly become broken, the plugin sends one email listing them with the status or failure each returned, and a link to the report showing where each is used. Links that were already broken are not sent again, and nothing is sent when nothing new broke, so a quiet portfolio is a quiet inbox.

The email goes to the site admin address unless you enter your own. Enter the same agency inbox on every site and the result is a single feed: one email from Client A listing three new broken links and why each failed. Triage happens from the inbox, and the fix happens on the site in a minute.

Alerts use the site's own mail setup. If a site's WordPress email does not arrive, fix that first (an SMTP plugin, or ask the host), or the alerts will not arrive either.

Two situations produce dozens of report rows at once. The Bulk tools tab handles both:

  • A domain changed, yours or a partner's. Replace a domain rewrites every broken, suspected and needs-review link to the old domain in one go. Only the domain changes, each change to a post or page leaves a revision you can restore, and working links are left alone. Pages built with Elementor, Beaver Builder or Bricks are skipped and named, because their links live in the builder's own data: fix those in the builder.
  • A scan turns up a pile of ambiguous answers from firewalled or rate-limited sites you have checked by hand. Dismiss all needs-review links clears them in one go, and each can be restored from the Dismissed view.

Step 4: report it

Export findings (CSV) on the Bulk tools tab gives the client the list of broken and needs-review links with the posts they are in. Exported each month, it shows the maintenance work in the client report: what was broken, and that it is gone next month.

A portfolio routine that holds

  • Daily: glance at the alert inbox; fix anything on a page that matters the same day.
  • Weekly: clear the Needs review view on sites that collected ambiguous responses (firewalled destinations, rate limits).
  • Monthly: export the CSV and include it in the client report.
  • On any redesign or domain change: run a scan, then Replace a domain, before the client's first visitor finds the dead links.

Checklist

  • Dragon Broken Links 1.2.0 or later on every site under contract
  • Full re-scan set to weekly, or daily where content changes often
  • Custom fields and Approved comments on where links live there
  • Email alerts on, sent to one shared inbox, with WordPress email working
  • Monthly CSV included in the maintenance report

Site health

How to find and fix broken links in WordPress

Find broken internal, external and image links across a WordPress site, triage them without false alarms, fix them safely in the block editor, and stop new ones appearing.

6 min readRead