NOTE

This simulator allows you to test out Dead Link Checker Pro in real-time.
Please be aware that the final product’s design and functionality will differ from what you see in this demo.

Demo Sandbox + New
Howdy, administrator 👤

Frank Dead Link Checker Pro v3.1.4

Last scan: 5 mins ago Action Scheduler
Scanning database content...
0 Broken Links
0 Warnings
0 Working
0 Total Links
-

Link Stats by Post Type

View the total internal, external, and broken links grouped by each Post Type or source.

0 Total Links
0 Internal Links
0 External Links
0 Broken Links

Frank Dead Link Checker Settings

Scan Type

Scan Frequency
Request Timeout seconds

Maximum time to wait for a response from a link.

Content to Scan







Hold Ctrl/Cmd to select multiple post types.

Link Types

Excluded Domains

Enter one domain per line (e.g., example.com). Links to these domains will be ignored.

Email Notifications




One email per line.

Concurrent Requests

Number of links to check simultaneously. Higher values are faster but may overload your server.

User Agent

User agent string sent with HTTP requests.


Reset & Maintenance Options

Force Stop Scan Forcefully stops all running/pending scans, clears the scan queue, and resets the scan state. Use when a scan appears stuck.
Clear Scan History Deletes all scan history records but keeps your link data intact.
Reset Settings Resets all plugin settings to their default values without affecting link data or scan history.
Cleanup Exports Deletes all exported CSV/JSON files from the uploads directory to free up disk space.
Full Plugin Reset Resets EVERYTHING — link data, scan history, settings, and export files — back to factory defaults. Use with caution!

Scan History

Help & Documentation

How Plugin Works?

Frank Dead Link Checker scans your entire WordPress website to find broken links, redirects, and other link issues. It checks links inside posts, pages, menus, widgets, comments, custom fields, and even page builder content (Elementor, Divi, WPBakery, Gutenberg). Here is how it works:

Scanning Modes

1. Manual Scan (Scan Now)

Click the "Scan Now" button on the Dashboard to start a full scan manually. The plugin will:

  1. Discover all links from your selected content types (Posts, Pages, Menus, Widgets, Comments, Custom Fields).
  2. Parse page builder content (Elementor, Divi, WPBakery, Gutenberg blocks) to find embedded links.
  3. Check each link by sending HTTP HEAD/GET requests to verify if the URL responds correctly.
  4. Categorize links as Working (200 OK), Broken (4xx/5xx errors), or Warning (redirects, slow responses).
  5. Display results on the Dashboard with filters for easy review.

2. Automatic Scan (Scheduled)

When Scan Type is set to "Automatic" in Settings, the plugin will automatically scan your website at the frequency you choose (Hourly, Twice Daily, Daily, or Weekly). This runs in the background using WordPress Cron — no manual action needed. Set Scan Type to "Manual" to disable automatic scanning entirely.

3. Auto-Recheck (Broken Links Only)

A lightweight background task that automatically rechecks links already marked as broken or warning every 6 hours. This helps detect when a previously broken link has been fixed — without running a full scan. It checks up to 50 links at a time and skips dismissed links.

4. Fresh Scan

Use the "Fresh Scan" button to clear ALL existing link data and scan history, then start a completely new scan from scratch. This is useful when you want a clean slate — for example, after making major changes to your website structure.

Post Type Statistics & Link Audits (v3.1.4)

Version 3.1.4 introduces powerful visual and analytical tools to break down your website's links by content type and audit individual posts, pages, custom post types, menus, attachments, or comments:

  • Post Type Stats Page: Go to Link Checker → Post Type Stats to view a clean breakdown of total, internal, external, and broken links aggregated by each individual post type (including Pages, Posts, Attachments, Navigation Menus, Widgets, Comments, ACF Custom Fields, and registered Custom Post Types).
  • Individual Item Details: Click "View Items" next to any post type to drill down into a paginated list of all posts or items of that type. You can search by title to find specific items and view their respective link counts.
  • Dashboard Redirection & Filter Notices: Clicking "View Links" on any individual item redirects you to the main Dashboard, automatically filtering the links list to display only that item's links. A clear notice banner is shown at the top with a quick "Clear Filter" button.
  • Source Column Metadata: The "Source" column in the dashboard and stats detail tables now displays the item's Creation and Modification dates for better context.
  • Attachments Scanning: You can now scan links inside media attachments (descriptions and captions) by enabling "Attachments" in Settings → Scan Scope.
  • Performance Optimizations: Database queries are optimized using new MySQL indexes on source columns and transient caching, preventing admin area slowdowns.

What If a Scan Gets Stuck?

Sometimes a scan may appear stuck due to slow server responses, timeout issues, or server restarts. Here is what the plugin does to handle this:

  • Stop Scan Button: Click "Stop Scan" on the Dashboard to gracefully stop a running scan.
  • Force Stop: If the Stop button does not work, use "Force Stop" from the Dashboard Tools section. This forcefully cancels all running scans, clears the scan queue, and resets the scan state.
  • Auto-Recovery: The plugin automatically detects scans that have been running for over 30 minutes without progress and marks them as "timed out". This prevents stuck scans from blocking new ones.

Settings Explained

General Tab

Scan Type Choose "Manual" (scan only when you click the button) or "Automatic" (scan runs on a schedule automatically).
Scan Frequency How often automatic scans run: Hourly, Twice Daily, Daily, or Weekly. Only applies when Scan Type is "Automatic".
Request Timeout Maximum time (in seconds) to wait for a URL response before marking it as timed out. Default: 30 seconds. Range: 5–120 seconds.

Scan Scope Tab

Content Types Select which content types to scan: Posts, Pages, Attachments, Comments, Widgets, Menus, Custom Fields, and Custom Post Types (if any registered).
Link Types Choose to check Internal Links (your own site), External Links (other websites), and/or Image URLs.

Exclusions Tab

Excluded Domains Enter domain names (one per line) that should be skipped during scanning. For example: facebook.com, twitter.com. Links to these domains will not be checked.

Notifications Tab

Email Notifications Enable to receive email alerts when broken links are found.
Email Frequency How often to send notification emails: Immediately, Daily, or Weekly digest.
Recipients Email addresses to receive notifications (one per line). Defaults to the admin email.

Advanced Tab

Concurrent Requests Number of links to check simultaneously (1–10). Higher values speed up scanning but use more server resources. Default: 3.
Delay Between Requests Milliseconds to wait between checking each link (0–5000). Helps prevent overloading your server or getting rate-limited by external sites. Default: 500ms.
User Agent The User-Agent string sent with HTTP requests. Some websites may block requests from unknown user agents. The default mimics a standard browser.
Verify SSL When enabled, the plugin verifies SSL certificates. Disable only if you are experiencing SSL-related false positives.
Auto Cleanup Automatically delete old scan history records after a specified number of days. Default: 90 days.

Understanding Link Status

● Broken HTTP 4xx or 5xx error. The link is dead or the server returned an error. Common codes: 404 (Not Found), 403 (Forbidden), 500 (Server Error).
● Warning The link works but has issues: it redirects (301/302), responds slowly (over 5 seconds), or returned a suspicious status code. Review these to decide if action is needed.
● Working HTTP 200 OK. The link is working perfectly — no action needed.
● Dismissed Manually ignored by admin. These links are excluded from broken/warning counts and are not rechecked automatically.

Common HTTP Status Codes

200OK — Link is working.
301Moved Permanently — The URL has been permanently redirected to a new location.
302Found — Temporary redirect. The URL is temporarily pointing elsewhere.
401Unauthorized — Authentication is required. The server needs valid credentials to access this URL.
403Forbidden — Access denied. The server refuses to serve this URL.
404Not Found — The page does not exist. This is the most common broken link.
405Method Not Allowed — The HTTP method used is not supported by this URL.
406Not Acceptable — The server cannot produce a response matching the request headers.
410Gone — The page has been permanently removed. Unlike 404, the server knows it was intentionally deleted.
429Too Many Requests — Rate limit exceeded. The server is blocking requests due to too many in a short time.
500Server Error — Something went wrong on the target server.
503Service Unavailable — The server is temporarily down, often for maintenance.
TimeoutNo response — The server did not respond within the configured timeout period.
DNS ErrorDomain does not exist — The domain name could not be resolved.
SSL ErrorSSL certificate issue — The website has an invalid or expired SSL certificate.
ErrorConnection Error — A generic error occurred while trying to reach the URL (e.g., connection refused, reset, or unknown failure).

Tips & Best Practices

  • Start with a Manual Scan: Run your first scan manually to see how long it takes on your site before enabling automatic scanning.
  • Adjust Concurrent Requests: If your server is slow or shared hosting, reduce concurrent requests to 1–2. For dedicated servers, you can increase to 5–10.
  • Use Exclusions: Add domains that frequently block automated checks (like social media sites) to your exclusion list to reduce false positives.
  • Review Warnings: Warning links (redirects) are not broken, but you may want to update them to point directly to the final URL for better SEO.
  • Export Regularly: Export your broken link reports as CSV for record-keeping or to share with your team.
  • Use Bulk Actions: Select multiple links with checkboxes and use bulk Dismiss, Delete, or Recheck to manage them efficiently.

How to Translate This Plugin

Frank Dead Link Checker is fully translation-ready. You can translate it into your language using Poedit or Loco Translate.

Method 1: Using Loco Translate Plugin (Recommended)

  1. Install and activate the Loco Translate plugin from the WordPress plugin repository.
  2. Go to Loco Translate → Plugins in your WordPress admin menu.
  3. Find "Frank Dead Link Checker" in the list and click on it.
  4. Click "New Language" and select your desired language.
  5. Translate the strings one by one using the visual editor.
  6. Click "Save" when done. Your translations will take effect immediately.

Method 2: Using Poedit (Manual PO/MO Files)

  1. Download and install Poedit on your computer (free desktop application).
  2. Open the POT template file located at: wp-content/plugins/dead-link-checker-pro/languages/dead-link-checker.pot
  3. In Poedit, go to "Create New Translation" and select your language.
  4. Translate each string, then save the file.
  5. Poedit will generate two files (e.g., dead-link-checker-fr_FR.po and dead-link-checker-fr_FR.mo). Upload both to: wp-content/languages/plugins/

Method 3: Contribute on translate.wordpress.org

You can also contribute translations to the official WordPress translation platform. Your translations will be available to all users of this plugin who speak your language.

Visit translate.wordpress.org
Note: After translating, make sure your WordPress site language is set to your target language. Go to Settings → General → Site Language and select your language. The plugin will automatically load the matching translation file.

Need Help?

If you have questions or need support, please visit:

WordPress Support Forums

Edit Link