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. White Shadow says:

      That feature has in fact been suggested before, but I’ve put it off due to lazyness 😉 Glad you got it working for you.

    2. Dooza says:

      Loads of my posts with images are showing up as broken links, even though they work fine when you look at the post. Any ideas?

    3. White Shadow says:

      Hmm. Are the images hosted on your site or somewhere else? What do the “Details” reports say?

    4. Dooza says:

      There are some missing, which is odd, but most of them are 404 errors, but when I view the post they are there. I do have image hotlinking protection turned on in my .htaccess file, maybe thats the problem? They are on the same domain, so I don’t think that should be a problem, but maybe it is?

    5. White Shadow says:

      Yes, hotlinking protection could cause this problem. I don’t know your particular setup, but if the protection works by detecting visits without a referer header, it would block the plugin.

    6. Dooza says:

      Yes its using the referer, any way around it?

    7. White Shadow says:

      I’ll upload a minor update that should fix it.

    8. Dooza says:

      Now this is why I love the WordPress community! You can’t beat support like this. Thank you very much!

    9. dave says:

      What does this mean lol???? I just want to detect broken youtube videos. Hard to test, so not sure if this plugin will work for it. . . .

      Hello, Yeah, as the plugin “Broken Links”, but than report videos of youtube deleted or removed, inserted for Embed direct in wordpress, as:

      ==============

      ==============

      So bloggers we can always know when a video has been removed, and can us update it.

      maybe rename to “Yotube Broken Links” or “Youtube Broken Embed”, 🙂

      Well, Thanks! for “Broken Links”, is a exelent plugin!

      Good Luck!.

      Sorry for my english, I don´t speak english. =/

    10. White Shadow says:

      @dave : You can’t do that with this plugin. First, an embedded video is not a link and requires custom parsing to recognize it. Second, when you try to access/view a removed YouTube video, YT doesn’t send the standard “404 Not Found” error reply, but sends a redirect instead. In the current implementation the plugin treats redirects as working links.

    11. dave says:

      @white shadow: thanks for the quick reply. The comment I quoted does seem to imply that this plugin CAN do that, so thanks for the clarification. Hmm, I guess the only way I’ll be able to add this is to have a link on each page called ‘report broken video’ or something similar.

      Anyone got any good ideas for how to add this in, without writing some kind of custom email script? I just want to allow a user to click a button, and somehow I get notified that the video my post links to has been taken down.

      Cheers!

    12. White Shadow says:

      You could use one of the contact form plugins and include a link to the contact page below each video. Personally, I use Contact Form 7, but there are also other alternatives available.

    13. dave says:

      im thinking more along the lines of an auto responder to me which includes post title. ive found a couple of options but can’t get either working for 2.7.1

      This one shows the link, but notification doesn’t appear in back-end. I also get errors trying to configure:
      http://wordpress.org/extend/plugins/wp-report-posts/

      This one looks awesome, but I can’t get the link to display on the page (display changing the incorrect syntax for < ?php . . .)
      http://www.jailbait.gr/downloads/report-post.rar

    14. dave says:

      Success! I followed the instructions for getting report post working here:
      http://wordpress.org/support/topic/206058

      works now! woot!

      thanks shadow for your help

    15. […] appears that in WP-SpamFree 1.9.8.3 breaks WordPress 2.7.1. It also appears that Broken Link Checker 0.4.10 breaks WordPress 2.7.1 in the same […]

    16. Help! I just installed Broken Link Checker. I am running WordPress 2.7.1. Whenever I go to my wp-admin page and click on plugins, the page just hangs. I have tried it in two different browsers — FireFox and Safari.

    17. I was able to deactivate the plugin. Is it not compatible with 2.7.1?

    18. White Shadow says:

      It should be compatible; at least it works on my 2.7.1 blogs. Some users have reported strange slowdowns this plugin may cause with various versions of WP, but I’ve never been able to pinpoint the exact cause. Maybe you have a lot of posts and it’s trying to check them all right away?

    19. Yes, I have about 320 posts. I wish there were a way for me to use this. Checking all of these by hand is a hassle. (I recently converted from TypePad.)

    20. johny why says:

      in case you don’t know, your link-checker did not find the bad links in my header (only the pages).

      cheers!

    Leave a Reply