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 :

    1. Download the .zip file (see below).
    2. Unzip.
    3. Upload the broken-link-checker folder to you /wp-content/plugins directory.
    4. Activate the plugin in the Plugins tab.
    Related posts :

    2,584 Responses to “Broken Link Checker for WordPress”

    1. Eric says:

      Hi. Thanks for your great plugin! It’s making trouble with WP 2.6, though: If I click “unlink” it tells me that it cannot edit the post (in a popup).

    2. White Shadow says:

      @Eric – I’ve upgraded to WP 2.6 and seems to be working for me still. Maybe you tried to “unlink” an image? That would produce the popup you mention.

      @Jvista – maybe someday 🙂

    3. wildgames says:

      Works fine with WP 2.6! 🙂

    4. On one of my projects, images and links are added in custom fields. Coould you please consider as an option a check in custom fields? Thanks

    5. White Shadow says:

      @Razvan Antonescu – I’ll add that to my idea list. Though I can’t promise you’ll see it implemented anytime soon.

    6. Oh well, I can understand that that is not a very common use and priority must be given to regular users. So if it’s on your list is more then enough for me 🙂

    7. Eric says:

      I had huge problems with this plugin eating up lots of resources on the server, leading to 500-er “internal server” errors after I upgraded to WP 2.6. Therefore I had to disabled the plugin for now. this is using the latest plugin version.

    8. Karel says:

      Excellent plugin.

      Two suggestions:

      – exclude ‘revisions’ and ‘autosave’.
      – include an option for ‘orphaned pages’ (I have so many pages and can’t really tell which ones are actually being linked to…)

    9. White Shadow says:

      @Karel – okay, it makes sense to exclude revisions & autosave. I’ll add this right now.

      Also, Eric, this might be the cause for the unexpected server load you experienced (maybe :P), so the next version might work better.

    10. Eric says:

      Nope, same problem (error 500) also with version 0.4.3.

    11. Cynthia says:

      I’m running WordPress 2.6 and just installed Broken Link Checker 0.4.3. I thought this was working beautifully on two different sites but I just noticed a Fatal Error message at the bottom of the Write Post page on one of the sites (not the other one, which is a different ISP):

      Fatal error: Call to undefined function: curl_init() in /wp-content/plugins/broken-link-checker/wsblc_ajax.php on line 294

      Can you issue a modification that doesn’t use Curl?

    12. White Shadow says:

      @Cynthia – that would be a pretty complex task. Not likely in the foreseeable future.

    13. Looks like I found a bug. The broken link checker 0.4.3 records a URL which returns a 401 as a broken link. These are NOT broken links. They’re sites that require a login. Example is http://www.totalfark.com/

    14. White Shadow says:

      @Michael Hampton – Hmm, good point. I’ll update the plugin.

    15. […] was made possible by the Broken Links Checker plugin for WordPress, which made the process very easy and helped me to detect/repair links in all of the posts on the […]

    16. Oops, I think I found another one. If there are two or more links to the same URL in the same page, editing, discarding or unlinking affects all of them. This isn’t necessarily desirable. In my case I wanted to edit one and unlink the other, but both of them got unlinked and I had to put one back in.

      And if you hit Discard, then while all of them get discarded, only one of them is removed from the listing via AJAX.

    17. White Shadow says:

      @Michael Hampton – I think it makes sense to change/remove all broken links, so I won’t change that. I’ll look into fixing the Discard/AJAX issue though.

    18. […] stolper ich über das WordPress-Plugin Broken Link Checker. Das ist gut, denk ich. Der Checker entfernt die toten Links nicht gleich, der checkt die […]

    19. […] der englische Name des Plugins schon erahnen lässt, untersucht “Broken Link Checker” Ihren WordPress-Blog automatisch nach so genannten toten bzw. verweisten Links. Sollte die […]

    Leave a Reply