Broken Link Checker for WordPress

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

    1. […] Para quem usa o WordPress, há um plugin interessante que sempre verifica se há links quebrados, o Broken Link Checker. Eu uso e estou […]

    2. Tom Farrell says:

      Hello
      I use this plugin all all the time and could not run my site without it..
      Can I suggest a possible modification.
      Give the option to automatically unpublish posts with broken links.
      I would find this very useful, let me know what you think.
      Thanks.

    3. Jānis Elsts says:

      A feature like that would probably be too dangerous to use in practice. Sometimes links are only broken temporarily. Also, there can be false positives. For example, some sites deliberately block automated requests. This means that sometimes posts with working links would also get unpublished.

    4. Hello Janis,

      Thank you for your help before. I have another strange problem. I had a link that says its a 200 Ok status, but it won’t update. It is a link to youtube, and when I try to update it I get a popup window in Chrome that says this:

      The link could not be modified.

      The following error(s) occurred :
      * Could not update post in the database

      I have been updating hundreds of links today including ones that had youtube straight URL links. The link itself works just fine when I paste it. I also tried deleting it in the post and repasting it. That seemed to fix problems with other links that wouldn’t get updated. Do you know how I can get this to update so I don’t have it in my dismissed folder?

      Thanks.
      Brian

    5. Update: Issue fixed.

      On a whim I thought I’d go into phpMyAdmin and repair the database. I did that and it didn’t find anything to repair. I optimized it, and then logged back in. It allowed me to update the broken link then. It might have been something to do with my database being corrupted in a way that it didn’t show, or perhaps my host had a database connectivity issue. No matter it seems to be fixed now.

      Thanks.
      Brian

    6. Debbie says:

      Hi. Very useful plugin. Is there a way to list the “broken” links that you have overridden as being fine – after manually checking them?

      My concern is that I record a link as being fine, but it them actually breaks in the future. So, some way of looking at these links seems to be necessary. And, also, of “unvalidating” them if they turn out to be *actually* broken by future changes to the source website.

    7. Jānis Elsts says:

      Is there a way to list the “broken” links that you have overridden as being fine – after manually checking them?

      No. There is no way to show only links marked as not broken.

      My concern is that I record a link as being fine, but it them actually breaks in the future. So, some way of looking at these links seems to be necessary. And, also, of “unvalidating” them if they turn out to be *actually* broken by future changes to the source website.

      The plugin will automatically report a link like that again if it breaks in a different way. For example, lets say you see a link flagged with “Timeout” and you click “Not broken”. If the link later changes to “404 Not Found”, the plugin will display it in the “Broken” list again.

    8. Rolf Kyburz says:

      Hi! This is a very useful plugin, indeed! I currently have close to 10k links (mostly cross-links) on my site — keeping those clean without your tool would be a nightmare. The one issue I have with that utility is that each time the plugin goes though the links, my “visit” count (WP 4.1, WP Statistics 8.7.2) goes crazy. High visit numbers may sound attractive — but I’d prefer those numbers to reflect “real” visits, and so far I have not found out how to make the stats ignore the plugin visits; have I missed something trivial?

    9. Jānis Elsts says:

      I haven’t used WP Statistics myself, but it has an option to exclude specific IPs from reports, right? Try adding your server IP to the exception list. This should filter out requests that software running on the server (e.g. BLC) sends to that server.

    10. Rolf Kyburz says:

      Hi Jānis, thanks for trying to help — I attempted doing that already, but may have excluded the wrong IP; I’ll look at that again. Thanks again!

    11. […] out about a great new WordPress Plugin from W-Shadow that will find broken links. Big Thanks to Jamie Harrop for spreading the word about the plugin and Liz Strauss for spreading […]

    Leave a Reply