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.
[…] Visit author’s website […]
[…] Broken Link Chinker – Muchas veces cuando incluimos enlaces en nuestras entradas a sitios externos nos ariesgamos […]
[…] Broken Link Checker for WordPress – As your blog gets more and more posts, it can be difficult to go back and look for what has broken with time. This plugin will check images and links and notify you via the dashboard when it locates something. […]
As promised, a donation has been sent. Thanks for the changelog! This is an essential plugin for regular website maintenance. Keep up the good work!
Thanks 🙂
i’ve got this plugin working splendidly on one blog I administer, but on another (running on a separate host) I get a 500 Internal Server Error when attempting to activate the plugin. It does appear to be active though, but it finds no links.
Under Tools-> Broken Links, I see the following error:
Table ‘***.**_blc_links’ doesn’t exist
I have tried using version 0.5.9 and 0.5.10 with the same result. I migrated this wordpress installation to MySQL 5 (from version 4) to see if that was the problem, and I still got the same error. When I look at my database I do not see any blc tables.
Any idea why they are not being created, or what would be causing this Internal Server Error? Any help would be appreciated. This is a great plugin (when i can get it working)! thanks! 🙂
I’m not sure, but I suspect this is somehow related to the fact that the database upgrade function that the plugin used is unable to handle explicitly specified character sets and collations.
Try the development version again, I’ve made some changes that might help.
Sidenote : There were only two significant DB-related changes in the latest versions. One, the plugin now uses case-sensitive collation (latin1_general_cs) for it’s URL column(s). Two, I switched from creating the tables directly to using the aforementioned upgrade function. I think one of these modification is be to blame.
[…] Broken Link Checker – Checks your posts for broken links and missing images and notifies you on the dashboard if any are found. […]
[…] Broken Link Checker for WordPress – As your blog gets more and more posts, it can be difficult to go back and look for what has broken with time. This plugin will check images and links and notify you via the dashboard when it locates something. […]
[…] Broken Link Checkerプラグインで自身のブログへのリンク切れがないか確認 […]
[…] Twitter så kan du med detta plugin få dessa omnämnanden som kommentarer på inlägg och sidor.Broken Link Checker Det här WordPress pluginet håller reda på om det finns några brutna länkar på din webbplats […]
I have the Broken Link Checker version 0.5.9 installed and now left deactivated because it has been increasingly reporting links as being broken when they are not. I tried deleting all the data for the plugin and reinstalling it, but that didn’t help.
I have 5 other plugins and wonder if maybe the Broken Link Checker might be conflicting with 1 (or more?) of them. They are: Akismet, All in One SEO Pack, CR Flexible Comment Moderation, WordPress.com Stats, and WordPress Popular Posts.
I also tried changing the amount of hours it rechecks the links to see if that made any difference. It made no difference.
When I first began using the Broken Link Checker many months ago, it only reported links that really were broken. Now it seems to be heading in the direction of labeling all my links as being broken (I have an enormous amount of links!).
Check the “Details” panel for the incorrectly reported links (either click the “Details” link that pops up when you hover your mouse cursor over the table row, or just click anywhere in the “Link Text” column). Is there anything unusual in the log? Maybe a pattern of some kind (e.g. all links showing “No response”)?
You might also try installing the dev. version on the off-chance that it might help.
As for your other plugins : I’ve successfully tested the link checker with Akismet, All in One SEO and WP.com Stats, and I’m pretty sure the other two should cause no conflicts either.
Oh, and have you recently moved to a new server/has the server configuration changed significantly?
Yes, alll the links reported as broken show “No response” in the “Details” link. Does this mean I should install the dev. version?
No, I haven’t moved to a new serve and the server configuration has not changed. Thank you for your quick response.
I’m curious to see how this problem will resolve. 🙂
I did delete version 0.5.9 and install 0.5.1
0.5.1 is doing the same thing. What’s odd is that when I recheck for broken links manually, it sets the results to zero. In less than a minute, it’s back to compiling a long list of broken links with every one having the detail showing no response.
Hmm, I still haven’t figured out why this happens. Does the log also say anything like “(Most likely the connection timed out or the domain doesn’t exist)” or “Using Snoopy”?
Try this – open /broken-link-checker/link-classes.php and change these lines (near line 160) :
to something like this :
These numbers specify how long the plugin is willing to wait for a response from a remote server. Setting them this high should help if the problem is caused by a network glitch.
If figures!… after having deleted 0.5.1 and leaving my blog without a Broken Link Checker Plugin all day; then reinstalling 0.5.9 to try out your suggestion, the problem no longer exists! It’s working fine now.
I will keep your suggestion handy in case if malfunctions again. I wonder if it’s possible the hosting company that my blog is on had some glitch going on and resolved it? If that’s the case, is it possible that it could have taken weeks for them to work out the bug?
Thank you for your quick and caring responses!
Well, I love problems that solve themselves 🙂
Still, could you perhaps install the 0.5.10 again and see if the bug reappears? I realize you don’t need to, but it might provide valuable information for me.
I installed 0.5.10 again and I thought the bug did not reappear because it wasn’t developing a ‘weird’ list again. Now I’m not sure, because it reported a link as broken for this reason: HTTP/1.1 503 Service Temporarily Unavailable
Every time I manually checked that ‘broken’ link, it worked fine.
Then I put back 0.5.9 and that version is now doing the same thing. Before installing 0.5.10 today, it wasn’t giving that 503 message for that ‘broken’ link.
I’d suggest waiting a few hours (or until the link is checked again). It might actually be a temporary glitch on the server hosting the linked site (that happens from time to time), in which case the 503 message should go away after a while.
There are also some sites that always show an error page to the plugin but let normal visitors access them, but those are relatively few.