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.
[...] Broken Link Checker Checks your posts for broken links and missing images and notifies you on the dashboard if any are [...]
Hellon
like coment#302 I have this error on admin panel:
“Error: You can’t do that. Access denied.”
Hmm, try to log out and log in again. If that doesn’t help, try resetting your account’s role to “Administrator”.
[...] Broken Link Checker for Wordpress – this handy little tool can automatically check your entire wordpress blog for broken links and will alert them too you. You can also apply CSS to the broken link. [...]
Hey, nice plugin.
For some reason, whenever I update the options (pressing the button), I am redirected to my login page, and cannot proceed from there. Entering the password does not help.
If nobody else experienced it, it is probably a collision between your plugin and some other plugin i have – maybe MiniMeta widget, which incorporates some wordpress redirect function.
Anyways, thought Id let you know.
Indeed, it’s probably some kind of plugin conflict. As far as I know, nobody has reported anything similar yet.
There is a conflict with Broken Link Checker and a $97.00 paid-for plugin called ‘MaxBlogPress Ninja Affiliate WP Plugin.’ MaxBlogPress Ninja Affiliate is a plugin that cloaks affiliate links. Anyway, what happens is that Broken Link Checker will randomly put a strikethrough line through a couple of my affiliate links. I say “random” because I haven’t figured out any pattern as to why it will do that to one affiliate link and not other affiliate links. Your plugin is a good one but unfortuneately had to deactivate it because of that problem. I have no interest with the company that makes this plugin but you can see more about it here: http://www.mbpninjaaffiliate.com/ It would be nice to know if you plan on fixing your plugin so I can start using it again.
Thanks
Steve
I don’t have any immediate idea about how to fix the conflict itself, but you can remove the strikethrough by unchecking “Apply class=’broken_link’ to broken links” in the plugin’s settings (Setting -> Link Checker).
Also, you might be able to stop the link checker from checking cloaked links by experimenting wih the exclusion list on the same page. Find a piece of text that appears in all cloaked links and add it to the list. Though I’m not entirely sure if that would work because I haven’t used the Ninja Affiliate plugin.
[...] and Widgets used: Add Meta Tags Akismet Better Blogroll BlogCatalog Link Broken Link Checker Dashboard Widget Manager Different Posts Per Page dTabs Excerpt Editor Hello Dolly My Category [...]
[...] and the following invaluable plugins: askimet, podpress, all in one seo pack, google sitemaps, broken link checker, contact form II, wp database backup, get recent comments…we love open source code! (and [...]
[...] Broken Links: te comprueba uno por uno todas las entradas de tu blog wordpress y comprueba si los enlaces siguen siendo válidos. Nada más instalarse lo comprueba y luego se le puede programar para que vuelva a comprobarlo cada cierto tiempo. Lo hemos puestos cada 72 horas, aunque igual es muy pronto… sólo deciros que nada más instalarlo ya ha encontrado 155 enlaces que fallan. [...]
[...] Links kommen hier im Blog in Zukunft nicht mehr vor, dank des Broken-Link Plugins von White Shadow. Es scannt bequem im Hintergrund alle vorhandenen Links in allen Posts und listet [...]
[...] 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. [...]
Hello!
I observed strange behavior with wordpress 2.7:
when I post youtube video, link checker reports them as dead. It’s not a problem – I can discard them, but… they are back sooner or later.
any update?
Is there anything interesting in the “Details” of the reported links? Maybe YouTube have started using some spambot protection that interferes with the plugin.
I have a couple of links showing as broken due to the way in which they are formed. Is it possible to add an options for exceptions whereby the user lists “links” which they don’t want checked so as to avoid those links appearing as broken links?
@ Gary O : Err, there’s already the “Exclusion list” for that. See Settings -> Link Checker
DOH!!!!
That’ll teach me to look more carefully before making a comment!
I’m so embarrassed.
I am using it, but since I activated WP-SuperCache it throws an Internal Server Error (every second). It looks like the settings for this plugin (.htaccess changed) are interferring the work of your plugin. Could this be and how could I solve this?
Cheers
Sebari
@ sebari : That’s interesting. I’m using WP-SuperCache 0.8.8 myself and I haven’t encountered any problems. In fact, I can’t immediately think of any possible way these plugins could conflict. You might have better luck reporting this issue to the author of WP-SuperCache.
[...] by signing up with google and using their web tools to check, download the plugin for wordpress Broken Link Checker, use this site dead-links, or you can do it the hard way and just click every link on your [...]
[...] Descargar [...]
I always get a broken link message for the following link:
http://www.panasonic.de/html/de_DE/2036940/index.html
but everytime I’m testing the link there are no problems.
Andreas
@ Andreas : Click the “Details” link in the report, there might be some clues there. Other than that, all I can suggest is adding the link to the exclusion list.
@ White Shadow : “Details” says:
1. Log : === First try : No response. ===
Trying a second time with different settings…
=== Second try : No response. ===
Link is broken.
Hmm, this would usually be a temporary error. The plugin tried to access the link and got no response from the target server – not even an error message. This might happen (very occasionally) if the server was overloaded, but if the problem reoccurs then the target server might be actually blocking the plugin, or similar.
Then the server must block the plugin as it happens with every link to this server and always.
I’ll put the server on the exclusion list.
Thanks, Andreas
can you make plugin to check rapidshare, depositfiles … if links are alive or dead
@ Matrix : Probably not. That would needlessly complicate the plugin.
[...] who gladly contribute plugins and one of those plugins that currently serves me very well is the Broken Link Checker plugin. It scours your posts and pages for links that do not lead to working pages anymore i.e. [...]