
內容簡介
DevDome Link Monitor 是一款專為 WordPress 設計的外掛,能夠檢查網站中的壞連結和 404 錯誤。它幫助使用者輕鬆找到並修復壞連結,並在控制台中追蹤死鏈接,確保網站的連結健康。
【主要功能】
• 檢查內部和外部連結的健康狀態
• 直接在控制台修復壞連結
• 監控 404 錯誤請求
• 減少錯誤正確率,避免假陽性
• 提供連結健康得分和趨勢分析
外掛標籤
開發者團隊
② 後台搜尋「DevDome Link Monitor – Broken Link Checker & 404 Monitor」→ 直接安裝(推薦)
原文外掛簡介
Broken Link Checker and 404 Monitor for WordPress
DevDome Link Monitor is a broken link checker and 404 monitor for WordPress that helps you find and fix broken links, detect dead URLs, and track 404 errors directly from your WordPress dashboard.
Scan the links in your published content, identify genuinely broken URLs, see which missing pages visitors and crawlers are hitting, and fix link problems without opening every post by hand.
Unlike aggressive link scanners, DevDome Link Monitor verifies uncertain failures before it marks a link as broken. That reduces false positives caused by temporary server errors, rate limits, anti-bot protection and connection problems, so the broken link list you get is one you can act on.
Find Broken Links
Scan the links in your published WordPress content and see at a glance which URLs are:
Healthy
Broken
Redirected (with the final URL and hop count)
Unverified (timeouts, DNS failures, TLS errors, refused connections)
Could not verify (401, 403 after a full GET, 429 rate limited, 999 anti-bot)
The link checker covers internal and external links in one pass, so you do not need to open every URL yourself.
A link is never marked broken because a single request failed. It has to fail twice in checks separated in time, and a link that recovers starts from a clean slate. This keeps temporary errors, rate limiting, anti-bot protection, timeouts and DNS hiccups out of your broken list.
Fix Broken Links
Fix broken links directly from the review table in your WordPress dashboard:
Edit URL: the new address is written into every post that contains that exact link
Unlink: the link is removed and the anchor text stays
Re-check now
Dismiss links you keep on purpose
Review redirects with their final destination
Every content change goes through WordPress in the normal way, so revisions apply, and it needs your edit permission on every affected post. Each change is recorded in an audit trail.
Monitor 404 Errors
The built-in 404 monitor is always on and records every request for a missing URL on your site:
The requested path, with the query string removed
Hit counts, first seen and last seen
The last referrer and, unless you turn it off, the last user agent
Human hits and bot hits kept apart, using known crawler patterns
Find the URLs visitors are trying to reach but cannot. Each 404 path gets a redirect suggestion matched against your real post and page slugs, a one-click redirect if DevDome Redirect Manager is active, or a copy-ready .htaccess rule. Ignore paths, delete rows, export to CSV, and let old entries purge automatically after 30, 90 or 180 days.
Link Health at a Glance
The Overview tab shows a link health score, the number of links checked, healthy links, broken links and redirects, the 404 monitor’s human and bot totals, and a health trend over the last 12 scans.
Lightweight Background Scanning
Scans run in small batches instead of checking every URL at once, with at most two links per host per batch, so your site stays responsive. Start, pause, resume or cancel a scan at any time. It keeps running in the background while the screen is open or through WP-Cron, and an optional weekly or monthly rescan can email you a summary of newly broken links only.
Reduce False Positives
Not every failed automated request means a link is dead. Some sites block automated requests, rate-limit scanners, require authentication, return temporary server errors, reject HEAD requests, or time out now and then. DevDome Link Monitor keeps those uncertain results separate as “Unverified” or “Could not verify” instead of calling them broken, so the broken list stays short and true.
What Is Scanned, and What Is Not
Scanned: the saved content (post_content) of published posts in public post types (attachments excluded), meaning and , including markup inside block comments. Internal and external URLs are both checked.
Not scanned: widgets, menus, theme and customizer options, post meta and custom fields, srcset candidates, oEmbed and iframe targets, the bodies of reusable or synced patterns that are not inlined in the post, and drafts, private or scheduled content. This is not a whole-site crawler.
Why Use DevDome Link Monitor?
Find broken links in your WordPress content
Fix broken URLs from the dashboard
Monitor 404 errors with human and bot hits kept apart
Detect dead URLs and redirect chains
Fewer false positives: uncertain links are reviewed separately
Checks run in small background batches
Export 404 results to CSV
No cloud account needed, no page or link limits, everything runs on your own server
How Link Checking Works
Links are discovered in the saved content of published posts, then checked in chunks that are resumable, pausable and cancelable, driven by your browser while the screen is open or by WP-Cron.
Each link is requested with HEAD first. A size-capped GET (128 KB) is sent when the server rejects or gates HEAD, and before any HEAD failure is recorded, because some servers mishandle HEAD while GET works.
Redirects are followed manually, up to 5 hops with loop detection, and reported with the final URL and hop count.
Broken means two failures in checks separated in time (15 seconds by default). Two failures inside the same processing burst do not count as independent evidence.
Timeouts, DNS failures, TLS errors and refused connections become “Unverified” with the reason. 401, 403 after a full GET, 429 and 999 become “Could not verify”. None of these are ever counted as broken.
Low default budgets and per-host spacing: at most 2 links per host per tick. Check timeout, posts per batch and links per batch are adjustable in Settings.
AI and Agent Support
On WordPress 6.9 and newer, DevDome Link Monitor registers WordPress Abilities covering the whole plugin: link health summary, every checked link with its pages and every filter, one link, the 404 log with every filter, redirect suggestions, scan start (full or recheck), pause, resume and cancel, progress and history, recheck one link, replace a link URL in content, unlink, dismiss, ignore or delete a 404, run the retention sweep, exports, settings (read and update), the error and change logs, dismiss the last error and recount the summary. 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 keep the per-post edit permission check.
External services
This plugin makes outbound HTTP requests for one core purpose, one optional DevDome service and one small catalog fetch:
Link checking (the sites you link to): core feature, runs only when a scan runs. To verify your outgoing links, the plugin sends an HTTP HEAD request (with a GET fallback for servers that reject or gate HEAD) from your server directly to each URL found in your published content. The target server sees your server’s IP address, the configurable user-agent string and the URL itself – including anything personal or secret a URL in your own content happens to contain. No cookies, authentication headers or site secrets are sent. A scan only runs when you start one or when the schedule you enabled fires. Before a failure is recorded from a HEAD response, it is confirmed with a size-capped GET, because some servers mishandle HEAD. Before any request is sent the URL must pass a fail-closed policy: http/https only, port 80 or 443 only, no credentials in the URL, and every address the host resolves to must be public – loopback, private, link-local, carrier-grade NAT, multicast and reserved ranges are refused, in every notation, on the first request and on every redirect hop. Link verification requires the PHP cURL transport, because the validated addresses must be pinned to the connection. If cURL is unavailable, or WordPress routes the target through a configured HTTP proxy where the destination cannot be pinned, the URL is left unverified and no request is sent. These are the websites you link to, not DevDome services.
DevDome account service (analytics.devdome.com and api.devdome.com): optional, opt-in, dormant. The Overview tab shows an optional card that links to the bundled DevDome suite hub’s Account screen. Nothing is sent to DevDome until you click Connect there, and no functionality on this screen is gated on connecting. If you do connect: the plugin sends your site address, a generated site ID and a generated secret site token to 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. Terms: https://devdome.com/terms-of-service and privacy: https://devdome.com/privacy-policy
Once connected, each completed link scan sends DevDome this site’s DevDome identifiers (the site ID, and the site token in a request header), the scan number, aggregate scan metrics (links checked, healthy, broken, redirects, health score, how many links are newly broken), whether the email summary is switched on, and the address of this plugin screen (so the email can link back to it). It does not send scanned link URLs, anchor text, source post titles, 404 request paths, referrers, user agents or visitor IP addresses. DevDome uses it for your account dashboard and to email you that summary from [email protected]. Nothing is sent while the site is not connected.
Plugin catalog (devdome.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-policy
Dormant endpoints in the bundled DevDome core
The 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.
Privacy
The 404 monitor stores, in your own database only: the requested path with the query string removed, hit counts, the last referrer and (unless you turn it off) the last user agent per path. No IP addresses are stored and no cookie is set.
Referrer query strings are never stored. A referrer is reduced to 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.
Log retention is automatic (30/90/180 days for active rows, one year for ignored rows) with row caps on both.
Link checks are performed directly from your WordPress server to the sites you link to. Link scan results (the URLs found in your own content and their HTTP status) are stored in your own database only. A URL in your content can itself contain personal data or a signed token; such a URL is sent to its destination server during a check, and may be displayed on the admin screen or exported locally; it is never emailed and never sent to DevDome.
DevDome receives no scan data unless you connect a DevDome account, and then only the aggregate counts listed under External services. The summary email is sent by DevDome, never by this plugin, and contains counts only (no URLs, no post names). Without a connected DevDome account no email is sent at all.
The plugin adds suggested text to the WordPress privacy-policy tool describing exactly this.
Deleting the plugin deletes all of the plugin’s own data immediately, on every site of a network: its tables, settings, transients and scheduled events. The bundled shared DevDome library’s settings (the account connection, cached detection lists) are removed too when Link Monitor is the last DevDome plugin installed; while other DevDome plugins remain, that shared state is left for them. Deactivating keeps everything.
