

Link Health Overview: links checked, healthy links, broken links, redirects, 404 activity with human and bot hits, and the overall link health score.
DevDome Link Monitor is a broken link checker and dead link checker for WordPress. Find broken links, dead links and broken images in the saved content of published posts in public post types, excluding attachments.
Use the broken link finder as an internal and external link checker. Edit an exact link URL across the posts containing it, or remove the link while keeping its anchor text. Link checks run on your server, with no cloud account or page or link limits.
The built-in 404 monitor logs missing-page requests from visitors and bots, with separate human and bot hit counts. Review 404 errors, ignore paths, delete entries and export the log to CSV.
Use the broken link finder to check internal links and external links in one scan. It also checks image URLs in saved content to help you find broken images and missing images.
The review table separates results into:
As a dead link checker, the plugin requires two failures in checks separated in time before marking a URL broken. A link that recovers starts from a clean slate.
The scanner reads saved content (post_content) from published posts in public post types, excluding attachments. It checks <a href> and <img src> URLs, including markup inside block comments. Three more sources can be switched on in Settings (off by default): the text of approved comments, the custom fields of the scanned posts (a field holding one URL, or HTML; hidden _ fields are skipped) and the custom links of navigation menus. Links found there are listed with their place; Edit and Unlink work on post content only.
These sources are not scanned:
srcset candidates, oEmbed targets and iframe targets.This is not a whole-site crawler. During a content audit, use its results to review links in the published content covered above.
The review table provides these actions:
The search replace scope is limited to exact link URLs through Edit URL. It does not replace arbitrary text or other database values.
Content changes go through WordPress normally, so revisions apply. You need edit permission on every affected post, and each change is recorded in an audit trail.
The built-in 404 monitor is always on. It records requests for missing URLs on your site, including requests that reach a 404 page:
Use the log to see which missing URLs visitors and crawlers keep requesting. You can ignore paths, delete rows and export results to CSV. Old active entries purge automatically after 30, 90 or 180 days.
Each 404 path can receive a redirect suggestion matched against your real post and page slugs. To redirect 404 requests, use the one-click action when DevDome Redirect Manager is active, or copy the suggested .htaccess rule.
The Overview tab shows:
Use these results alongside your other SEO tools for the broken-link portion of an SEO audit or site audit. The score describes link health within the plugin’s scan scope, not a complete assessment of your website.
Start, pause, resume or cancel a scan at any time. Scans run in small, resumable batches, driven by your browser while the screen is open or by WP-Cron.
Low default budgets and per-host spacing limit each batch or tick to at most two links per host. Settings lets you adjust check timeout, posts per batch and links per batch, and configure the user agent and excluded domains.
Optional weekly or monthly rescans can produce an email summary of newly broken links only. Email requires a connected DevDome account and is sent by DevDome, with counts only.
Sites may reject HEAD requests, block automated requests, require authentication, rate-limit scanners, return temporary server errors or time out. These responses need different treatment from a confirmed broken URL.
Verification follows these rules:
Unverified and Could not verify results never count as broken. This reduces false positives from temporary failures and access restrictions, but cannot identify every problem: a server returning HTTP 200 for a “page not found” page still counts as OK.
On WordPress 6.9 and newer, the plugin registers WordPress Abilities covering the whole plugin:
Compatible AI agents and MCP clients can discover and use these abilities when the site exposes them, for example through the official WordPress MCP Adapter.
Every ability runs the same code as the plugin screens under the same capability checks. Content edits retain the per-post edit permission check.
This plugin makes outbound HTTP requests for one core purpose, one optional DevDome service and one small catalog fetch:
analytics.devdome.com/api/plugin/connect/start and /api/plugin/connect/claim to link this site to your account; afterwards it periodically confirms the connection at api.devdome.com/plugin/account (sending the site domain and that token), and disconnecting sends the same identifiers to api.devdome.com/plugin/disconnect. No scanned URL, anchor text, post title, 404 path, referrer, user agent or visitor IP address is sent by this plugin. When you connect from the DevDome Tools dashboard or from this plugin’s Settings account card, both of which state this before you press the button, those account checks also carry the slug and version of each active DevDome plugin on the site plus the bundled DevDome library, WordPress and PHP versions, so your DevDome account can show your sites and their DevDome plugins for support and update notices. Nothing about other plugins, users, email addresses, content or visitors is included. Sites connected before this was introduced, and sites connected from a button that does not show that text, do not send the list. Disconnecting stops the plugin list. Terms: https://devdome.com/terms-of-service and privacy: https://devdome.com/privacy-policydevdome.com). The DevDome Dashboard inside wp-admin fetches the list of DevDome plugins (names, descriptions, logos, links, WordPress.org slugs) from https://devdome.com/wp-plugins/catalog.json at most once every 12 hours, so the list stays current. Only the bundled core version is sent in the request; no site or visitor data. Service provider: DevDome. Terms: https://devdome.com/terms-of-service Privacy policy: https://devdome.com/privacy-policyThe bundled shared library also references endpoints that are never contacted by default on this WordPress.org build:
https://api.devdome.com/bot-protection/list, https://api.devdome.com/bot-protection/asns and https://api.devdome.com/bot-protection/drop: the shared library’s detection-list sync. On this WordPress.org build these endpoints are NEVER contacted – the sync is disabled in code, connected or not. The 404 monitor’s bot/human split always works from the plugin’s built-in user-agent patterns.Error reports (devdome.com), only when you press “Report this error” on an error message. The plugin sends the error text, the plugin, bundled library, WordPress and PHP versions, whether the site is a multisite, the site locale, the screen you were on, your site address, the generated site ID, your DevDome account ID if the site is connected, and your admin e-mail (so support can reply) to https://devdome.com/api/plugin/error-report. No scanned links, 404 records or visitor data are included. Nothing is sent unless you press the button. DevDome: Terms of Service, Privacy Policy.
scheme://host/path by default; you can reduce it further to the origin only, or turn referrer storage off completely. Parameters that look like credentials or personal data, and any bare email address, are masked before the value is written, and again before it is shown or exported.All of this plugin’s PHP and JavaScript ships unminified and human-readable.
One file is generated: assets/devdome-tools-tw.css, the admin screen’s utility stylesheet (assets/admin.css is hand-written and ships as-is). It is a Tailwind CSS v3 utility bundle built from src/tw.css and tailwind.config.cjs with:
npx tailwindcss -c tailwind.config.cjs -i src/tw.css -o assets/devdome-tools-tw.css --minify
Those two build inputs are not included in the distributed package. Ask for them at https://devdome.com/contact and we will send them.