Broken Link Checker for WordPress
Sometimes, links get broken. A page is deleted, a subdirectory forgotten, a site moved to a different domain. Most likely many of your blog posts contain links. It is almost inevitable that over time some of them will lead to a “404 Not Found” error page. Obviously you don’t want your readers to be annoyed by clicking a link that leads nowhere. You can check the links yourself but that might be quite a task if you have a lot of posts. You could use your webserver’s stats but that only works for local links.
So I’ve made a plugin for WordPress that will check your posts (and pages), looking for broken links, and let you know if any are found.
Download it now! (40 KB)
Note : This page, and the feature list below are slightly out of date as a major update has been released recently (see details). I’ll get around to updating this page eventually.
Features
- Checks your posts (and pages) in the background (whenever the WP admin panel is open ).
- Detects links that don’t work and missing images. Checks both internal and outbound links.
- Notifies you on the Dashboard if any problems are found.
- Link checking intervals can be configured.
- New/modified posts are checked ASAP.
The broken links show up in the Manage -> Broken Links tab. If any invalid URLs are found a notification will also show up in the sidebar on the Dashboard.
The Broken Links tab displays a list of invalid URLs found along with the relevant posts and the anchor text of the links. “View” and “Edit Post” do exactly what they say and “Discard” will remove the message about a broken link, but not the link itself (so it will show up again later unless you fix it; this plugin doesn’t modify your links).
By default all old posts/links are re-checked every 72 hours, or you can set a different time period.
Notes (Semi-Technical)
I realize there’s a lot of features that could be added to improve this plugin considerably. However, this release is intended to “test the waters” and see if there’s demand for a plugin like this, so I only implemented the most basic functions. The plugin has been upgraded to be slightly beyond “basic”
I thought about using WP’s pseudo-cron to run the link checker by schedule and decided against it. AFAIK the cronjobs execute when a page is requested; since this plugin does some lengthy processing it may increase page load times unacceptably when used in this manner. That’s why I set it to run the checks asynchronously (AJAX) and invisibly in the admin panel.
Installation
Just like any other WordPress plugin –
- Download (see below).
- Unzip.
- Upload the broken-link-checker folder to you wp-content/plugins directory.
- Activate the plugin in the Plugins tab.
Upgrading
- Deactivate the plugin (important!).
- Do steps 1.-3. from “Installation”.
- Upload the broken-link-checker folder to you wp-content/plugins directory.
- Re-activate the plugin in the Plugins tab.
Download
Version 0.5.3 : broken-link-checker.zip (40 Kb)
Compatibility : Starting with version 0.5 this plugin is only compatible with WordPress 2.7 and up. Older versions (e.g. ver. 0.4.14) should work with WP 2.1 – 2.6.x.
Well, is the modified code still there?
Are typical broken links (error 404) detected?
[...] Broken Link Checker decreases the likelihood that a link-heavy post like this will become useless to a future reader. [...]
Yes the modified code is still there

I imported a old blog and it detected 117 dead links (404) but not the 3xx range
I just cant figure out what the problem is…
Hmm, nothing else comes to mind at this time… :/
The strange thing is that i have another link-check plugin (but it only checks links when a post is actualy visited) that does detect the 3xx redirects.I guess its gonna be a long night trying to figure it out…
[...] Broken Link Checker – Search engines do not like broken links. Your visitors do not like them either. This plugin scans your posts automatically, shows you broken links in WordPress dashboard and lets you easily unlink them. [...]
[...] Broken Link Checker: Checks your entire blog for broken links in posts or pages and puts a message in your Dashboard when it finds some. Offers you various options for dealing with them – e.g. you can ignore the notice, remove the link, edit the link, etc. [...]
The plugin reports that http://www.eeicom.com:80/training/dispclas.cfm?classID=70700 is a broken link but it isn’t. Here are the details: HTTP Code : 60
1. Log : (Using Snoopy)
connection failed (60)
HTTP/1.1 302 Moved Temporarily
Connection: close
Date: Mon, 06 Apr 2009 22:52:13 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Set-Cookie: CFID=1193978;expires=Wed, 30-Mar-2039 22:52:13 GMT;path=/
Set-Cookie: CFTOKEN=73796203;expires=Wed, 30-Mar-2039 22:52:13 GMT;path=/
location: /training/dispclas.cfm?classID=70700
Content-Type: text/html; charset=UTF-8
Link is broken.
[...] di ricerca per determinate parole-chiave. Se usate Wordpress, cercate di installare il plugin Broken Link Checker, che fa un’analisi completa del vostro blog, trovando immediatamente tutti quei link [...]
[...] Broken Link Checker [...]
Looks like an internal Snoopy problem (Snoopy is the library that the plugin uses when cURL is unavailable). All I can suggest at the moment is to get your host to install cURL.
[...] Broken Link Checker – Nada mais chato que você entrar em um site com aquela música ou filme que tanto procurava e o link estar quebrado não é. Pode ter certeza que seus visitantes odeiam isso! Esse plugin verifica seus links e os reporta se estiverem quebrados. [...]
[...] Broken Link checker enabled [...]
A quick comment on the plugin. Is there any way to send broken link findings to my email? It’d be a great help as I’m not often able to check my Wordpress all that often, but I do check my email. Thanks!
Unfortunately not. While it would be possible to make a little script that checks the plugin’s DB table and reports broken links by email, the plugin wouldn’t actually run if no-one visits the admin dashboard (this might be changed in a future update).
[...] Broken Link Checker – Checks your blog for broken links and notifies you in the dashboard. Very user-friendly and has [...]
[...] ie perfect is. Dus laat ik nooit meer zo’n berichtjes tegenkomen he? Broken Link Checker (link) Ontzettend handige plugin die je gehele Wordpress doorloopt (zowel pages als posts) op zoek naar [...]
[...] letztere Aufgabe bin ich heute über das sehr nützliche Plugin Broken Link Checker gestolpert. Satte 98 Links wurden mir als nicht funktionsfähig angezeigt. Ein Großteil besteht [...]
The last trackback is from me. It describes (in german) how to display a tooltip on broken links in posts. Unfortunately a code change is necessary for that, but an easy one, maybe you could integrate that in a further release.
In broken-link-checker.php in line 124, just add something like this at the end of the line: “This link is broken”.
Then define the broken link class so, that span elements are only display when they are hovered over with the mouse. You get a tooltip effect where the user can see a small info what is wrong with the link.
Marco
Ok, the span elements were filtered out for the info text, just add span-Elements between the quotes and you are good to go.
I’ve had a similar idea for a while; I’ll add it soon.
[...] 配布先:http://w-shadow.com/blog/2007/08/05/broken-link-checker-for-wordpress/ [...]
Hey, this is a great Tool,
but when this is activate, the Plugin Site is only white.
Can you Help?
[...] Broken Link Checker^ – I have a full time job and, I’ll admit, checking through every single page of my site, looking for broken links, is tiresome and just plain boring. That’s where this Plugin becomes very useful for me; I install this Plugin and it keeps an eye on links for me. When I open up my admin panel, I get a little message saying that “there are [x] broken links”. As well as that, it warns my visitors that a link isn’t working by putting a line through it until either I remove the link or update it. [...]
[...] Broken Link Checker for WordPress – когда у блога все больше и больше постов, становится трудно найти неработающие ссылки и изображения. Плагин сделает всю работу за вас. [...]
[...] website and have vanished leaving nothing but a 404 error in their place. I found a useful plugin to help with the link rot problem which has revealed around 80% of my broken links point to [...]
[...] Broken Link Checker [...]
[...] Broken link checker wordpress plugin comes very handy in such situations. It will show the broken link on your dashboard which you can unlink from there. Download Broken link checker for WordPress [...]
[...] kurzem berichtete ich (hier) darüber, dass ich das Plugin Broken Link Checker in den Blog einsetze. Heute morgen habe ich mich endlich hingesetzt und die insgesamt 53 ins Leere [...]
[...] Broken link checker wordpress plugin comes very handy in such situations. It will show the broken link on your dashboard which you can unlink from there. Download Broken link checker for WordPress [...]