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.

Download it now! (40 KB)

Note : This page, and the feature list below are slightly out of date as a major update has been released recently (see details). I’ll get around to updating this page eventually.

Features

  • Checks your posts (and pages) in the background (whenever the WP admin panel is open ).
  • Detects links that don’t work and missing images. Checks both internal and outbound links.
  • Notifies you on the Dashboard if any problems are found.
  • Link checking intervals can be configured.
  • New/modified posts are checked ASAP.

The broken links show up in the Manage -> Broken Links tab. If any invalid URLs are found a notification will also show up in the sidebar on the Dashboard.

The Broken Links tab displays a list of invalid URLs found along with the relevant posts and the anchor text of the links. “View” and “Edit Post” do exactly what they say and “Discard” will remove the message about a broken link, but not the link itself (so it will show up again later unless you fix it; this plugin doesn’t modify your links).

By default all old posts/links are re-checked every 72 hours, or you can set a different time period.

Notes (Semi-Technical)
I realize there’s a lot of features that could be added to improve this plugin considerably. However, this release is intended to “test the waters” and see if there’s demand for a plugin like this, so I only implemented the most basic functions. The plugin has been upgraded to be slightly beyond “basic” ;)

I thought about using WP’s pseudo-cron to run the link checker by schedule and decided against it. AFAIK the cronjobs execute when a page is requested; since this plugin does some lengthy processing it may increase page load times unacceptably when used in this manner. That’s why I set it to run the checks asynchronously (AJAX) and invisibly in the admin panel.

Installation
Just like any other WordPress plugin -

  1. Download (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.

Upgrading

  1. Deactivate the plugin (important!).
  2. Do steps 1.-3. from “Installation”.
  3. Upload the broken-link-checker folder to you wp-content/plugins directory.
  4. Re-activate the plugin in the Plugins tab.

DownloadCC-GNU GPL
Version 0.5.3 : broken-link-checker.zip (40 Kb)

Requirements

  • WordPress 2.7 or later
  • MySQL 4.1 or later

Starting with version 0.5 this plugin is only compatible with WordPress 2.7 and up. Older versions (e.g. ver. 0.4.14) should work with WP 2.1 – 2.6.x.

Share :
  • Reddit
  • del.icio.us
  • Digg
  • StumbleUpon
  • DZone
  • Ping.fm
  • Sphinn
Related posts :

895 Responses to “Broken Link Checker for WordPress”

Pages: « 110 11 12 13 14 [15] 16 17 18 19 2030 » Show All

  1. 416
    Georg S. Adamsen says:

    I use PHP 5.2.6 and I don’t see any problems, Richard. Are you sure that it is not another plugin that causes it?

  2. 417
    White Shadow says:

    Same here, I use PHP 5 both on my dev machine and on this site and the plugin works fine. Are there any PHP error messages in the HTML?

  3. [...] I moved my wife’s blogger blog to WordPress I needed a way to check for broken links and the Broken Link Checker for WordPress plugin helped me identify all the broken links I needed to check into and fix.  It provides a list [...]

  4. 419
    Richard says:

    I’ve deactivated all other plugins and still get the same problem, only when running PHP 5 but not PHP 4. Sorry, how would I check for PHP error messages?

  5. 420
    White Shadow says:

    View source and search for any mentions of “error” or “warning”. My guess is that there’s an error message generated somewhere that breaks the HTML and makes the page render incorrectly.

  6. [...] Found and removed all those broken/dead links thanks to Nile for mentioning this plugin. [...]

  7. [...] 関係ないけど、Broken Link Checkerプラグインが切れてないリンクを デッドリンクとして認識しまくって困っている。 今日新しいバージョンが出ていたから更新したけど、改善されてるかなぁ? [...]

  8. [...] i kontrollpanelen. Broken Links Remover kollar alla länkar när besökaren går in på sidan, och Broken Link Checker gör igenom alla inlägg automatiskt med jämna mellanrum. Det är väl backend-skillnaderna vad [...]

  9. [...] Si vous voulez diminuer votre taux de rebond et améliorer votre référencement, il est indispensable de contrôler les liens entre articles. Pour cela il suffit d’installer ce plugin : Broken Link Checker for WordPress [...]

  10. [...] تقوم بهذا العمل في الووردبريس وهذه هي صفحة الإضافة Broken Link Checker [...]

  11. [...] ・Post-Plugin Library – 上記二つを使うために必要なライブラリ。 ・Broken Link Checker – [...]

  12. [...] Broken Link Checker – Проверява публикациите ви за невалидни линкове и [...]

  13. [...] 違うんだ、あたしがやりたかったのは、昨日紹介したBroken Link Checkerの もっと精度のいいプラグインを入れたかっただけなんだ。 何もリダイレクトとかまでBad Linkと決めつけたかったんじゃないんだ。 くっ…。 [...]

  14. 430
    A.S. says:

    any hints on how to show redirect-pages 302/303 as broken links?
    $result['okay'] = (($code>=200) && ($code=200) && ($code<300)) || ($code == 401); is not working.

  15. 431
    White Shadow says:

    Off the top of my head :

    $result['okay'] = ( ($code>=200) && ($code<300) ) || ($code == 401);

    This will treat all 3XX codes as indicating broken links. The RFC says those are all some form of redirect, so the code should do what you want.

  16. 432
    A.S. says:

    Thanks a bunch!Works sweeeet!Thank you so much,great plugin,love your site!

  17. 433
    A.S. says:

    Btw,do you know if this plugin consumes a lot of bandwidth when checking links?I need to check about 4500 links every 24 hours.Thanks in advance.

  18. 434
    White Shadow says:

    It tries to use only HEAD requests (when possible); that is, it asks the target server whether the page exists and doesn’t try to actually download it. This uses very little bandwidth. However, it will double-check each broken link and use more bandwidth for them.

  19. 435
    A.S. says:

    Okay thanks,plugin works great :-)

  20. 436
    The IT Juggler says:

    There seems to be some interaction between BLC and Twitter Tools. With BLC activated, there suddenly appears a stack of ‘function()’ lines in the hour and minute drop down in Twitter Tools.

    Will also post this on Twitter Tools site.

    Apart from that, the plugin worked like a dream.

  21. 437
    White Shadow says:

    I’ll look into it when I have time.

  22. [...] Broken Link Checker [...]

  23. [...] those of you who are WordPress users, I check using the Broken Link Checker plug-in (though don’t leave it on all the time as it slows things down too much, just run it every so [...]

  24. 441
    TrafficTips says:

    I was looking for this plugin as I use Wordpress as a standard publishing tool for all my websites. After installing it, I will share my experience later.

  25. [...] Broker Link Checker for Wordpress [...]

  26. [...] existente Adresse beziehen. Also schaute ich mich ein wenig um und fand ein Plugin mit dem Namen Broken Link Checker. Kaum installiert und aktiviert, fing es schon an, seinen Dienst zu verrichten. Zwar gibt es einige [...]

  27. [...] Broken Link Checker After months or years since you write a certain blog post, some links which appear on it can change or, even worse, disappear, and that’s not good for your page rank. This plugin analyzes your posts and shows all the broken links, letting you easily fix them. Very useful. [...]

Pages: « 110 11 12 13 14 [15] 16 17 18 19 2030 » Show All

Leave a Reply