
Linkmender scans the published content on your site, checks every link and image it finds, and shows you what is broken, what redirects, and what needs a second look. Then it lets you fix things without leaving the results screen.
Everything runs on your own server. There is no account to create, no API key, no usage quota and no data sent to a third party.
What it checks
<a href>links (internal and external) and<img src>images in posts, pages and public custom post types- Optionally, links stored in custom fields (post meta)
- In-page anchors (
#section) are recorded but not fetched
What you get
- A dashboard with counts of broken links, redirects and warnings
- A sortable, searchable results table with status and type filters
- Row and bulk actions: Recheck, Edit URL (replaces the URL inside the post), Unlink (removes the tag, keeps the text), Ignore / Unignore
- A WordPress Dashboard widget with the current link health
- A “Last full scan” indicator and a progress bar while a scan runs
How it stays lightweight
- Scans run in the background in small batches (20 URLs per run by default) using WP-Cron single events
- Keeping the Linkmender screen open acts as a keep-alive so scans progress even on sites where WP-Cron is slow
- Each URL is checked once per scan even if it appears in many posts
HEADrequests first, with a small rangedGETfallback for servers that refuseHEAD- Network errors are retried with exponential back-off before a link is marked broken
- Content is re-parsed automatically when a post is saved, so results stay current between scans
Statuses
- OK — 2xx response
- Redirect — 3xx response; the redirect target is recorded
- Broken — 4xx/5xx response, or unreachable after 3 attempts
- Warning — a network error that will be retried
Privacy
Linkmender only ever contacts the URLs that appear in your own content, from your own server, with a clear user agent. It does not phone home, does not collect analytics and does not display promotional notices.
Extending
Developers can hook into the plugin: lmnd_parsed_links, lmnd_pre_check_url, lmnd_check_result, lmnd_http_args, lmnd_scan_complete, lmnd_link_checked, lmnd_bulk_action, lmnd_row_actions, lmnd_admin_tabs, lmnd_pro_features and more.
Screenshots

Dashboard: link health cards, scan controls and the results table.

Row actions: Recheck, Edit URL, Unlink, Ignore.

Settings: batch size, pause, timeout, exclusions.