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. [sr] says:

      Yeah… I’m seeing it happening now on multiple blogs, each of which aren’t having load time issues and are also running plug-ins like Bad Behavior, AntiLeech and/or others (many of the URLs reported as invalid are internal)… I’ll play with different configurations to try to pin down where the incompatibility lies. thx

    2. […] Broken Link Checker: And lastly I like this plugin because it shows me what posts have broken links on them so I can correct the problems and eliminate future seo problems because of missing pages! Last 10 posts in Readers QuestionsQuestions Need Answers #1 – May 24th, 2008Advertisments For Technology – April 14th, 2008What Are Authority Sites? – April 3rd, 2008Readers Questions – February 4th, 2008 Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages. […]

    3. Fabian says:

      Nice plugin! Thanks a lot! I hope that in future version could check broken links in comments too. ๐Ÿ˜‰

    4. White Shadow says:

      I’m testing comments to see if the DNS issue is on my end, or somewhere else.

    5. Piklog says:

      Hi,
      How can i use link checker for rapidshare or mu links?
      Is it work for those?

    6. White Shadow says:

      @Piklog – I suppose it should work for those as well, but I haven’t tested it.

    7. Piklog says:

      I’m new wp user, can you test it for me?
      I think RS, MU links are different from direct link checking.
      It’s different.
      thanks ๐Ÿ™‚

    8. White Shadow says:

      @Piklog – Ah okay, you’re just being lazy here, how hard would it be to add a RS link to a post and see if the link checker catches it? ๐Ÿ˜›

      Anyway, I tested it, and it doesn’t work for them. Apparently RS won’t report the standard 404 HTTP code when a file is missing. Shame on them.

    9. Anna says:

      Hello! I made the Broken Link Checker translatable.
      It’s here – http://mistress.hweia.ru/2008/06/broken-link-checker/ (the post is in russian, but it’s the only .zip there, hard to miss ๐Ÿ™‚

    10. White Shadow says:

      @Anna – Thanks. I fixed a few things (that shouldn’t have been translater) and will upload a new version soon.

      By the way, I understand Russian just fine, though I’m not russian myself. ๐Ÿ˜‰

    11. […] 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 […]

    12. tino says:

      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

    13. White Shadow says:

      @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

    14. Cody says:

      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…

    15. White Shadow says:

      @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…

    16. Anna says:

      @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?

    17. White Shadow says:

      @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.

    18. Anna says:

      @White Shadow – Maybe Cody’s update went wrong – connection errors, access rights or smth like that…

    19. White Shadow says:

      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.

    Leave a Reply