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,582 Responses to “Broken Link Checker for WordPress”

    1. Janet says:

      Is this plugin supposed to check ‘page not found/moved’ links? One of my merchants did a complete overhaul of their website and broke most of my affiliate links. I was hoping this broken link finder plugin would help me to locate these problems. However, it only caught 5 links and I have many more than that on my blog. Any help would be appreciated. Thanks!

    2. Jānis Elsts says:

      Yes, it should detect them. Could you give me an example of a broken link that it incorrectly reports as working? I’ll test it and see if I can find the problem.

    3. Dean says:

      Hi Janis, thank you for the awesome plugin.
      I just started using it and need bit of advice. If link is to a page on external websites that is now missing (404) what is the best way to treat this with your plugin? I already ticked option for search engines not to follow these links. But should I also add something in HTML? I don’t want to remove link from the text as it will look weird, but I do want to make sure search engines will NOT follow and visitors will understand it’s broken. What you think about forwarding all broken links to custom page that say sorry, this link is removed but here are suggestions where you can find similar topics? And under it I place links to few other websites/pages?
      Thanks a lot.

    4. Janet says:

      @Janis; Here is an example of one of the links. Thanks for your help.
      http://www.birthdayinabox.com/party-themes/dir.asp?pers=1&dept_id=573

    5. Jānis Elsts says:

      @ Dean:

      Enabling that option should usually be enough to prevent search engines from following the link. As for forwarding broken links to a custom page, I’d personally go with something simpler, like adding a note to the post that says something like “That page is down, try [alternative link] instead”.

      @ Janet:

      I added that link to my test site and the plugin correctly detected it as broken (status: “404 Not Found”). This means that whatever the problem is, it is probably specific to your plugin or server configuration in some way. What status does the plugin display for this link in your case?

    6. Janet says:

      That link is showing up as a redirect link.

    7. Vivian says:

      Hi
      I’m using v162 (WP 341) and generally find it very useful indeed. However, sometimes it flags up broken links which were removed some time before (days/weeks/months) from the page in question (I always double check by searching on the webpage source just in case it’s hidden somewhere in, say, an invisible hyperlink).
      Is there anyway I can force BLC to refresh it’s database? Perhaps this should be an option for a setting’s button?
      Thanks for a great plugin in all other respects.
      V

    8. Jānis Elsts says:

      @ Vivian:

      There’s a “Re-check all pages” button in the “Advanced” section of the settings page. It will purge the plugin’s link database and make it re-check all posts from scratch.

    9. […] Checks your blog for broken links and missing images and notifies you on the dashboard if any are found. Version 1.6.2 | By Janis Elsts | Visit plugin site […]

    10. Vivian says:

      Hi Janis
      Many thanks for that – never spotted it before! Seems to have done the trick. In future, if I remove a link should the BLC database update automatically or does one occaionally need to use the ‘nuclear option’?
      V

    11. Jānis Elsts says:

      Normally it should automatically realize that the link has been removed. It’s supposed to track post updates and spot new links/forget removed ones as it happens, without any the user having to do anything special. There’s probably some kind of obscure bug that prevented it from happening in your case.

    12. Vivian says:

      Thanks. Story of my life!

    13. Dean says:

      @ Jānis

      Thanks Jānis, that sounds good. Can you please help me with two more topics:

      How your plugin prevents links or pages that should be 404 from being crawled by google? does it add some “nofollow, noidex” to those links? Will this work on ALL links, even those that are not yet in reports – OR plugin first need to crawl whole website and than IF it finds any broken links it will add code to stop search engines from following it.

      Second – it’s totally AWESOME that you have that server load limit option in advanced tab. that so good idea. Questions: if i think “Run continuously while the Dashboard is open” and “Run hourly in the background” will process still stop if my server goes over limit (for example 4.00)?

      I just added you plugin 2 days ago, but if everything works well – it’s a life saver for these type of issues. thanks a lot again. Cheers

    14. […] 7. Broken Link Checker- If your blog is optimized, you’ll have search visitors landing on old posts from months earlier. You want to make sure everything in these posts is still working properly, including the links. The Broken Link Checker alerts you in the Dashboard anytime an outbound link is no longer working. It’s a great way to keep the user-experience at its highest.   […]

    15. Jānis Elsts says:

      1) It only works on the broken links that the plugin has already discovered. If it hasn’t crawled a link yet, it won’t modify it in any way.

      2) Yes, the load limit applies to both of those options, too.

    16. Glenn Dixon says:

      I just noticed that your plugin has found NO broken links in the last few weeks, yet in fact I have them all over my site since a recent move from Tumblr back to self-hosted WordPress. I have a redirection plugin in place, but still lots of 404 errors in the logs.

      All plugins and WP are up-to-date.

    17. When WordPress 3.5 comes out, it will NOT have a Link Manager in the Admin Panel. Instead, a new Link Manager Plugin will have to be installed by the user to use his outbound links. YOUR plugin might also need to be updated to comply with the new code rearrangement. I’m not sure, but here’s a link to the new plugin:

      http://wordpress.org/extend/plugins/link-manager/

      Here is a link to Core Development’s Track:

      http://core.trac.wordpress.org/ticket/21307

    Leave a Reply