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! (423 KB)
Features
- Detects links that don’t work and missing images.
- Periodically checks links in posts, pages, comments 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.
Installation
Install “Broken Link Checker” just like any other WordPress plugin :
- Download the .zip file.
- Unzip.
- Upload the
broken-link-checkerfolder to you/wp-content/pluginsdirectory. - Activate the plugin in the Plugins tab.
Download
broken-link-checker.zip (423 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.
Related posts :
[...] should thank W-Shadow for providing us with this automatic broken link checker plugin for WordPress. And you may also want to check outgoing links using bad neighborhood checker [...]
After activating I get this:
Aborting: WordPress API Malfunction
For some reason the function get_currentuserinfo() did not behave as expected. Your user_level seems to be null. This can be resolved by navigationg to the Users section of the WordPress administrative interface. In this section check the user that you use for administrative purposes. Then under the drop down labled “change role to…” select administrator. Now click the change button. Should you still recieve this error please report this bug to the plug-in author. In your report please specify your WordPress version, PHP version, Apache (or whatever HTTP server you are using) verion, and the version of the plug-in you are using.
WordPress version: 2.5.1
PHP version: 4.4.7
Plug-in version: 2.1.2
@tino – I don’t have the slightest idea why that happens. Also, I think you’ve got something wrong here, as none of my plugins are currently on ver. 2.1.2
I had similar problems as Tino, but mine actually have to do with your plug-in. Despite the fact that I can’t find a post on your site referencing the new version 0.4, I received an update notice on my WP Plugins page. I applied the automatic upgrade and it instantly started kicking out SQL errors about my All-in-one-SEO plugin, which I’ve been using for a long time in conjunction with Broken Link Checker. These errors started the moment I upgraded your plugin, so it appears it conflicts with All-in-one-SEO. I wish it weren’t the case, but as soon as I deleted your plugin off of my server (because I couldn’t access my admin to deactivate first), the SQL errors disappeared. Bummer, ’cause I like your plugin a lot…
@Cody – It’s all probably caused by the internatialization code which was contributed by someone else (see a few comments below). I don’t know anything about debugging this aspect of WP plugins, so I’m tempted to simply “downgrade” the public version to the code that was in 0.3.9…
@White Shadow – Err, I put an internationalisation in, but i18n-ing is just a special markup of text strings and one extra function to tell wordpress where the translation file is. I use All-In-One SEO too and I had no problems with SQL… WTF?
@Anna – Yes, but it still caused problems for Cody and I, too, have no idea why. I’m quite sure there were no other changes in the plugin aside from i18n-related stuff.
@White Shadow – Maybe Cody’s update went wrong – connection errors, access rights or smth like that…
Maybe, but it doesn’t seem very likely. If the download was corrupted he wouldn’t have been able to extract the ZIP archive (at least not with WP’s automatic upgrade). The plugin worked before, so access rights were okay; there’s most likely no reason why the should have changed with the update.
does it checks rapidshare links if they are alive or files have been deleted?
@koullis – nope, as I mentioned before, it doesn’t work with RS. It would always treat those links as working.
@White Shadow –
thnx for your reply
do you know other plugin which checks RS links?
@koullis – Nope, haven’t heard of any.
[...] 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. [...]
I have a website that contains about 3500 posts all of which contain a link to a news article. I used to check for broken links manually every month – in May, for example, I would go through all the posts for May for each year. Lately, however, I have been unable to keep up with this. Will this plugin work efficiently with this many posts?
Thank you.
[...] Broken Link Checker for WordPress : Lorsque votre blog devient de plus en plus riche en contenu, il devient difficile de retourner en arrière pour chercher les liens cassés. Ce plugin va faire le travail à votre place en vérifiant les images et les liens. Une notification sera visible sur votre tableau de bord. [...]
@Kim Woodbridge – It will work, but I can’t say how well it will work. It might take a long time to check all the posts.
[...] Broken link checker [...]
@White Shadow – thanks! I will try and see what happens … after the first pass wouldn’t it be quicker because there won’t be so many broken links or will it always be slow because there are just so many links to check? I’m also looking into using a standalone program such as Xenu to deal with this my broken links.
@Kim Woodbridge – It should be a bit quicker after the first pass, but with that amount of posts it will always take time to check them all.
[...] 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 for WordPress | W-Shadow.com [...]
Well, I installed it and have it running now in a separate browser window. It’s slowish but is running without any problems at all. It’s gotten about halfway through the 3500 posts in 1.5 hours and has found 82 broken links so far. I immediately changed the checking schedule to weekly and may even change it to monthly. So, even if this does take 3 hours it is still so much faster than I can do it manually. So, thanks for a great plugin and we now know it can handle an unusually high number of posts
[...] Broken Link Checker for WordPress – Links und Foto-URLs überprüfen. [...]
@Kim Woodbridge – Welcome
[...] Mashable posted an article on the 20 best WordPress plugins for version 2.5. One on the list was Broken Link Checker. I had an ah-ha moment and immediately went to the site and read about the plugin. I was a little [...]
I got this on my dashboard after I installed it: Fatal error: Call to undefined function curl_init() in /home/igneous/public_html/wp-content/plugins/broken-link-checker/wsblc_ajax.php on line 292
@bob cobb – your server doesn’t have CURL installed, and this plugin will not work. There is no workaround except for installing CURL.
Hello, can you create a plugin that report the videos removed from youtube?
That would be impressive!
Thank you.!
@Jvista – You mean embedded videos, right? That’d depend on how they’re inserted in the post – just the HMTL or via some plugin.