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. Thanks for this plugin. I had a few broken links and it found them straight away. Usually just spelling mistakes. Your plug helped my website to look much more professional with no broken links.
      Thanks
      Tanny

    2. Steph says:

      Good plugin, but I wish the options page had an option so I could make it only check links I’ve made in posts and pages, and not links such as comment author websites, because I don’t really care if those are broken or not.

    3. White Shadow says:

      That’s going to be added in a future version.

    4. 人間です says:

      Thank you for the Good plugin.
      Help the translation.
      Language is Japanese.
      Please contact in email address.

    5. ptvGuy says:

      I’m with Nick (in comment 1112.) I get the same error about the database not being up to date. I’ve tried deactivating, reactivating, using the development version–same problem. I also don’t understand why your plugin is trying to delete database tables that don’t exist–specifically blc_linkdata.

      I’ve used this plugin for some time now without any problems. Whatever you “fixed” in the last update is not working.

    6. White Shadow says:

      Trying to delete tables that don’t exist shouldn’t cause this problem. If it did, no-one would be able to install this plugin on a new blog.

      Here’s something we could try : install this version of the plugin, go to Tools -> Broken Links, copy any and all error messages/output you get and send them to me.

    7. I enjoy your blog.Wow, that’s a time saver! Thanks.

    8. ptvguy says:

      Okay, here’s what I get on the plugin page when I initially activate it:


      Broken Link Checker installation failed

      Installation log follows :
      Plugin activated.
      Installation/update begins.
      Initializing components...
      Upgrading the database...
      Upgrading the database to version 4
      Deleting old tables
      Failed to delete old DB tables. Database error : DROP command denied to user '***REMOVED***'@'localhost' for table '***_blc_linkdata'

      Plugin could not be activated because it triggered a fatal error.

      Fatal error: Cannot redeclare blc_init_containers() (previously declared in /home/www/devel/vhosts/www_***REMOVED***_org/httpdocs/wp-content/plugins/broken-link-checker/broken-link-checker.php:145) in /home/www/devel/vhosts/www_***REMOVED***_org/httpdocs/wp-content/plugins/broken-link-checker/broken-link-checker.php on line 165

      The errors on the Tools -> Broken Links page were the same except for this.


      Error: The plugin's database tables are not up to date! (Current version : 0, expected : 4)

    9. White Shadow says:

      Ah, I see. This is not a bug – the database user assigned to WP does need DROP privileges. The DROP TABLE command is used both by WordPress itself (see e.g. “/wp-admin/includes/ms.php” and “/wp-admin/includes/upgrade.php”) and by many other plugins.

      If you’re worried about security, you can add that privilege temporarily and remove it after the plugin has been upgraded.

    10. Ben Combee says:

      We’re using this on our Palm Developer Blog, and it keeps detecting app links in the form http://developer.palm.com/appredirect/?packageid=com.palm.app.facebook as broken. I think it’s because our server is redirecting to a relative URL instead of an absolute one. Can this be addressed?

      Thanks!

    11. […] Broken Link Checker Plugin has been developed by Janis Elsts, developer of the W-Shadow blog. It’s very easy to install and to manage and constantly updated. […]

    12. ptvGuy says:

      Nope, that’s not it. I do have full drop privileges, and I’ve never had this problem with this plugin before this last upgrade. The plugin is trying to drop a table that doesn’t exist. I’ve checked through phpMyAdmin, and there is no table called wp_blc_linkdata. In fact, there’s no table with “blc” in the title at all.

    13. White Shadow says:

      @ptvGuy :
      Looks like a MySQL bug to me. Oh well, try this version then.

      @Ben Combee :
      I think it’s the lower-case “location” header that’s confusing the plugin, not the relative redirect itself. Still, your example link doesn’t show up as broken in my tests. Can you post the log (from the “Details” link)?

    14. […] Broken Link Checker – monitors and notifies you for broken links on your blog. […]

    15. hank says:

      I’m getting an error when I try to install the new update.

      Plugin could not be activated because it triggered a fatal error.

      Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /hermes/web04/**REMOVED**/htdocs/**REMOVED**/wp-content/plugins/broken-link-checker/includes/links.php on line 1014

      Any ideas?

    16. White Shadow says:

      Gah, serves me right for not testing if it’s compatible with the loathsome PHP 4. A fixed version will be up shortly.

    17. hank says:

      thanks dude…. love the plugin… helps out a sh*t load.

    18. […] добавил пару отличных плагинов. Гипер-полезная штука Broken Link Checker – ищет косячные/устаревшие ссылки в блоге, […]

    19. […] Broken Link Checker – Downloaded: 242,937 […]

    Leave a Reply