Dragon Broken Links
Confirmed broken links stay confirmed, and upgrades no longer stop with an error.
What's new in 1.1.11
- Fixed: re-reading a post no longer resets its links' history, so confirmed broken links stay broken and alerts do not repeat.
- Fixed: a one-time error on the first request after some upgrades.
- Links caught by a redirect show as redirected, and Create redirect re-checks the link straight away.
- A link whose host changes (for example after moving from staging) is re-classified and checked again.
- Tab counts match the listed rows. On subdirectory multisite, links to sibling sites are no longer reported as broken.
- Uninstall runs per site on multisite.
Faster internal link checking and more accurate reports.
What's new in 1.1.10
- Internal links and images are no longer held to the per-host limit meant for external sites, so large sites are checked much faster.
- Links inside synced patterns are found inside layout blocks, and can be fixed from the report.
- Excluded links are reviewed again when an exclusion rule is lifted, and links no post contains any more are removed.
- Tab counts now match the listed links.
Translation-ready throughout.
What's new in 1.1.9
- Every screen, email and alert is now translatable, so community translations from translate.wordpress.org cover the whole plugin. Counts use proper plural forms, and numbers and dates follow your site's language.
- Scan progress reads naturally in every language.
Readme correction: Dragon Broken Links Pro is an annual licence, not a one-time purchase.
- No code changes. Scanning, fixing and every free feature work exactly as before.
A quiet pointer to the Pro add-on: an Upgrade to Pro link on the Plugins screen, a one-line note at the foot of the plugin's screens, and a single dismissible notice once the plugin has done its job. Nothing in the free plugin is locked or changed, and all three disappear when Pro is active.
- The Pro card on the settings screen is hidden once Pro is active.
The recorded final address of a redirect chain now keeps its #fragment as RFC 9110 requires.
What's fixed in 1.1.6
- Fragments survive redirect chains. When one hop of a redirect sets a
#fragmentand a later hop'sLocationhas none, the fragment is inherited by the final address, so/startredirected to/middle#newand then to/targetis recorded as/target#new. Fragments are never sent to the server; the checker's verdict is unchanged.
Thanks to Mike Kuketz (kuketz-blog.de) for the report.
No settings or data changes.
Four edge-case fixes in link fixing and redirect following, reported by Mike Kuketz.
What's fixed in 1.1.5
- Only real links and images are touched. Edit link and Remove link matched
data-href,data-srcandxlink:hrefattributes as well ashrefandsrc, so a broken URL inside one of those could be changed too. Both actions now touch realhref/srcattributes only. - URLs are matched case-sensitively. Two links that differ only in letter case (
/Fooand/foo) were both changed when you edited or removed one of them. Only the exact URL you chose is changed now. - Redirect targets with
..or.segments are tidied. A redirect tohttps://example.com/a/../bis now recorded ashttps://example.com/b. - Relative redirects resolve correctly. A redirect to
?x=1,#section,./pageor../pagewas resolved against the site root rather than the current page, so a few redirects were followed to the wrong address. Resolution now follows RFC 3986. - A failed save is reported as a failure. If WordPress refuses to write the updated post, the fix is no longer shown as done.
Thanks to Mike Kuketz (kuketz-blog.de) for reporting all four with clear examples.
No settings, data or behaviour changes otherwise.
Dragon Broken Links now asks for a WordPress.org review once, on its own screen, after your first scan or fix.
What's new in 1.1.4
- One-time review prompt. After a scan finishes or you fix a link, the Broken Links screen shows a short request for a WordPress.org review. "Maybe later" hides it for a month and "No thanks" hides it for good. It never appears anywhere else in wp-admin.
- The plugin directory listing now describes what the plugin does in its title and tags, so it is easier to find.
No behaviour, settings or data changes otherwise.
Every public post type is now scanned - WooCommerce products and custom post types included - and you choose how often links are re-checked. Click Scan now once after updating.
= 1.1.3 =
- New: every public post type is scanned - WooCommerce products and custom post types included - with a checklist under Settings to narrow it down.
- New: the background re-check cadence is a setting: daily, weekly, monthly or never.
- Changed: sites updating from 1.1.2 re-read all content on the next scan so the newly covered post types are picked up.
Copy polish across the report, settings and documentation. No functional changes.
= 1.1.2 =
- Copy: plainer punctuation throughout the report, settings and documentation.
Report polish: the status key is now three labelled pills — Broken, Suspected, Needs review — instead of a paragraph of text.
= 1.1.1 =
- Report: the status key is now visual, so the three states are recognisable at a glance.
- Report: dismissed and not-yet-checked rows get a neutral pill.
Important fix: editing or removing a link could corrupt other blocks in the same post — update now. Also detects deleted pages and missing images, keeps your dismissals, and re-checks links far faster in the background.
= 1.1.0 =
- Fixed: editing or removing a link could corrupt the other blocks in that post (JSON escapes such as
&,--or backslashes in block attributes lost their backslash on save). Every fix is now saved exactly as the editor would. - Fixed: dismissed links (including those imported from Broken Link Checker) were forgotten when the post containing them was next edited.
- Fixed: a link to a domain that no longer exists was reported as "needs review" instead of broken; "Remove link" did nothing for URLs with a query string; "Create redirect" on a /?p= link would have redirected the homepage; re-enabling the weekly re-check left old links unchecked.
- New: internal links to deleted, trashed, draft or renamed pages and internal images missing from uploads are detected from the database — no requests to your own site. Iframes, video, audio, embeds and synced patterns are scanned.
- New: Dismissed view with Restore, counts per view, plain-English reasons, a status legend and a proper first-run message.
- Improved: background re-checks every 15 minutes within a time budget; "Scan now" re-reads every post, never overlaps another scan, and shows its phase; HEAD-refusing servers get a body-free GET before counting.
- Security: connections are pinned to the validated address (closes a DNS-rebinding window); multicast/NAT64/6to4/Teredo/documentation ranges refused; redirects back onto your own site are never followed; responses capped at 64 KB.
Critical fix: a fatal error could break your WordPress admin on versions 1.0.4–1.0.7. Please update right away — every admin screen loads normally again.
What happened
The one-click "import from Broken Link Checker" helper added in 1.0.4 was referenced but never loaded. On any site running 1.0.4 through 1.0.7 with Dragon Broken Links active, this could throw a fatal error on every wp-admin page, not just the plugin's own screens.
The fix
1.0.8 loads the import helper correctly. No settings, data, or scan history are affected — updating restores the admin immediately.
Also in this release: the background re-check now stops within a fixed time budget (rolled up from 1.0.7) so a large backlog can never overrun a single cron run.
Reliability: the background link recheck can no longer stall on slow/dead hosts.
= 1.0.7 =
- Reliability: the recheck cron now stops within a time budget instead of waiting on a run of unreachable URLs, so it never ties up WP-Cron for minutes.
Tested and verified on WordPress 7.1.
- Compatibility: tested up to WordPress 7.1.
Documentation update: the readme now spells out exactly what leaves your server during link checks (requests to the URLs you link to — nothing else) while confirming there is no third-party service involved.
Import your Broken Link Checker dismissals, and data that survives uninstall.
Switching from Broken Link Checker? One click under Settings carries your dismissed links across so you don't re-triage them. Uninstalling also no longer deletes your link database unless you explicitly opt in.
A refined report: one-row toolbar, always-visible row actions, and sharper spacing.
The report's controls now live on a single line — scan, status, filters, and search together — row actions are always visible instead of appearing on hover, the active filter is a clear segmented control, and severity markers no longer vanish on the last table row. Purely visual.
A cleaner, faster-to-scan report: the new Dragon design system arrives.
The report and settings screens now wear Dragon Core's design system: status pills with clear reason codes, severity markers down the edge of the table so broken rows jump out, monospace URLs, and a consistent header across every Dragon plugin. Purely visual — scanning and fixing behave exactly as before.
No notes for this release.
No notes for this release.