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. Stefan says:

      Oops, sorry! Of course, you’re right. One more thing: After activating your plugin or restart the process of finding broken links, my WordPress dashboard freezes and I can’t even open other websites in other tabs of the same browser instance. I wonder if this is the normal behaviour, because of the tasks your plugin is running in the background, or if it only happens in my theme, which was MistyLook 3.5 before I laid my hands on it. 😉

    2. White Shadow says:

      The first scan can take up a lot of resources, especially on underpowered servers or sites that use PHP4. The load levels off once the plugin has finished scanning all of your content for links.

      You could also try decreasing the server load limit in the settings page to something like “2.0”, it might help.

    3. KGO says:

      Hi,

      Editing URLs almost certainly breaks my posts. In other words, the text is truncated severely.

      Any ideas about what might be causing this?

    4. White Shadow says:

      What’s your WordPress/PHP/plugin version? Also, is there anything special about the links (unusual encoding or some such)?

    5. KGO says:

      Version 0.9.4.4. There’s nothing strange about the links, no encoding, but the posts are in Swedish. Using PHP 5.2.14 with MySQL 5.0.90.

    6. White Shadow says:

      Frankly, I can’t even imagine what sort of bug could cause the plugin to truncate posts. Could you perhaps send me a few examples of the post HTML as it was before and after truncation (so that I can test them myself)? My email is whiteshadow @ this domain.

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

    8. […] With over 2700+ links on the site, I had no intentions of checking each and every one individually. After a quick plug-in search, I found Broken Link Checker for WordPress. […]

    9. Titus says:

      I don’t see any reason why the URL http://didier-burkhalter.ch/ is considered as a broken link. Firefox redirect me correctly to http://www.admin.ch/br/aktuell/00231/.

      Does anyone have an idea?

    10. Ilya says:

      That’s a redirect that the website owner placed there himself to forward the old url to the new place….I would think anyways…

      Is there also an online version; I don’t quite get the point of having a whole plugin installed; while I might not use the functions of the plugin that often (I mean; I check 1 time; then it takes a while for more broken links to accumulate right?)

    11. White Shadow says:

      @ Titus:
      Are you sure “http://didier-burkhalter.ch/” is a working link? When I try to open it, I get a “Could not locate remote server” error. Pinging it also doesn’t work.

      @ Ilya:
      Try the W3C Link Checker.

    12. Titus says:

      @ White Shadow / # 1192
      Yes, http://didier-burkhalter.ch/ is a working link – at least from Switzerland.

      Does it help to have a look in the whois DB to see (and ping?) the name server definitions on https://www.nic.ch/reg/ds03/whois/ ?

      But I can also see the error message on the link checker website from the W3C. I have no idea how they created this invalid but (partially) working redirect…

    13. White Shadow says:

      The first two of those name servers are not responding to my pings. The third one – ins3.admin.ch – is up and returns a valid response for didier-burkhalter.ch when queried directly.

      However, didier-burkhalter.ch still doesn’t resolve when trying to access it normally. It also shows up as “down” on http://downforeveryoneorjustme.com/ and a couple of other online DNS lookup/ping services that I tried.

    14. Titus says:

      That’s strange, that the IT departement of the swiss government can’t do it better… Just human being too 😉

      Thx anyway!

    15. Hello,

      Thanks for this very useful plug-in, which works fine for me.

      Is there a way to restrict the date range over which it searches? I’m not bothered about dead links on blog posts I’ve made over a year ago.

      Regards,

      Roger

    16. White Shadow says:

      Sorry, there’s no way to do that.

    17. > Sorry, there’s no way to do that.

      Shame. I’ve no idea how hard it would be but perhaps you might consider it as a future refinement.

      Thanks for the quick reply.

      Regards,

      Roger

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

    Leave a Reply