Broken Link Checker for WordPress
Notice: This plugin has been transferred to ManageWP. I am no longer working on it. Please direct any feedback to the new developer. See the plugin homepage for more information.
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.
Features
- Detects links that don’t work, missing images, deleted YouTube videos and other problems.
- Periodically checks links in posts, pages, comments, custom fields and the blogroll.
- New and modified entries are checked ASAP.
- Notifies you on the Dashboard if any problems are found.
- Lets you edit all instances of a specific link at once.
- Gives you a list of all links ever posted on your site, with the ability to search and filter it.
- Lets you apply custom CSS styles to broken and removed links.
- Highly configurable.
The broken links show up in the Tools -> Broken Links tab along. If any invalid URLs are found a notification will also show up on the Dashboard widget. To save screen real-estate, the widget can be configured to stay closed most of the time and automatically expand when broken links are detected.
Download
broken-link-checker.zip (412 KB)
Requirements
- WordPress 3.0 or later
- MySQL 4.1 or later
The current version of this plugin is only compatible with WordPress 3.0 and up. If you have an older version of WP, try one of the older releases. Specifically, version 0.8.1 is the last one that’s still compatible with the WP 2.8 branch, and version 0.4.14 is the last one compatible with WP 2.1 – 2.6.x.
Installation
Install “Broken Link Checker” just like any other WordPress plugin :
- Download the .zip file (see below).
- Unzip.
- Upload the
broken-link-checker
folder to you/wp-content/plugins
directory. - Activate the plugin in the Plugins tab.
[…] Follow this link: ø Broken Link Checker for WordPress | W-Shadow.com ø […]
Works great for me. Sometimes it detects a false positive first time, but next time it corrects the problem which is good.
OMG! this is what i want! i had use it on my site… awesome!
thanks for sharing it
[…] Broken Link Checker Wenn sehr viele Blog-Posts vorhanden sind, ist das Prüfen von Links im Blog so gut wie unmöglich. Mit dem Tool Broken Link Checker können fehlerhafte Links aufgespürt werden. […]
Hello,
Thank you for this great plugin! I just installed it, ran it and am already loving it!
I have a feature request, though: add an option “Use archive.org’s version” (or whatever shorter form to say it). I think you’ll see the use of it: a frozen link is better than a dead link. When archive.org has several links, choose the latest version.
Two possible enhancements:
– when multiple links are available, choose the one closer *in the past* to the post’s timestamp (avoid links in the future of the post)
– automation: well, this is pretty much self-explanatory
All of this take its toll on the server and archive.org’s server (my blog is 3000 post and 9000 comments wide), so some sort of load balancing could be necessary.
Thanks again!
Oh, by the way, two more things:
– first, I noticed there ate 631 comments (with this one). It means you won’t read this. I have to find another way to send feature requests
– second, another feature request: when a link appears several times (complet link, that is, with identical up to the nternal anchor included), to have the possibility of changing it everywhere. In understand this goes beyon checking (it is not reading anymore — it is writing)
[…] manualmente tutti i link, specialmente se si hanno tanti articoli e file caricati, ma per fortuna Broken Link Checker ci viene in […]
@David : I read all comments; I get a notification email for each one 😉 It just sometimes takes a while for me to respond.
Anyway, I’ve added your suggestion about archive.org to my To-Do list. You can expect it implemented sometime in August, I think. As for changing a link everywhere, the plugin already does that – if you edit a link via the plugin’s interface, all links that have the same URL will be changed in all of your posts and pages (and the blogroll).
@Larry : Sorry for the delay, I’ll get around to checking those links soon.
archive.org idea sounds awesome. Thanks
After a couple of weeks in use this plug works like a dream – EXCEPT – it has some unexpected “features”. It clearly doesn’t like links with spaces in them and marks them as broken even if they are not. And when you ask it to ignore them it does so for one checking cycle … but marks them as bad again next time round. (Same as Larry says above)
This either needs a fix or more configurability of rules ?
And I have to agree the “archive.org” idea sounds very interesting.
Allright, URLs with spaces should be handled properly in the latest version (0.5.5). Note that it may take up to 12 hours before you get the update notification on your dashboard.
Works great, thank you
@White Shadow: wow, that is a very good surprise! Honestly, if quarter a blog I post in had such a good support… well I’d be pleased 🙂 And the batch-rename thing too is a good surprise.
I seriously consider adding this plugin to my must-have list for every WordPress blog!
Why, thank you 🙂
Question: does the plugin automatically strikes-through dead links or is it a bug with the theme I am using now (I am using K2 and I think I noticed this annoyance before ever installing the link checker)?
That is a feature. You can turn it off in the plugin’s settings – either uncheck the “Apply class=”broken_link” to broken links” checkbox or edit the relevant CSS in the textbox below that.
Question again:
– how to “unexclude” accidentally excluded links?
– out of editing my SQL dump with regexp, what is the best way to massively rename links? For instance, I want to change http://david.latapie.name/tag/ to http://david.latapie.name/blog/?tag= (I moved from one blog system to WordPress and most of my links are now dead)
Oops, now without brackets:
h**p://david.latapie.name/tag/something to h**p://david.latapie.name/blog/?tag=something
By the way, a preview function would be great.
The excluded links/keywords are also listed on the settings page, in another textbox. Just delete the unnecessary ones.
As for your second question, check out the Search And Replace plugin.