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. White Shadow says:

      @ Andy:
      Yes, the relative URL resolution algorithm currently ignores port number. Oops. This will hopefully be fixed in the next version.

      @ gekido:
      Sorry about that, it’s a tricky problem. Probably not any time soon.

    2. […] by enforcing your no-www or yes-www preference and will strip off index.php from the ends of URIs.Broken Link Checker – monitors and notifies you for broken links on your blog.Quick META Keywords – will […]

    3. Ludy says:

      Dear Janis.

      Many thanks for you module which I use on my page but.
      It seems to me that your module is unable to correctly find a broken links when the module – “404-to-start” which send every 404 page not found error directly to start page to overcome problems with search engines – is on.

      Sincerely yours

      Ludy

    4. White Shadow says:

      That is correct. If you intentionally make 404 errors look like redirects or normal pages, the plugin will not report them. This is the expected result.

      In other words, BLC currently has no support for soft 404’s.

    5. Lee Winter says:

      FYI, I found a better suspect for the missing title= attributes. The html editor may be cleaning up attributes it does not like (misspelled, extra spaces, etc.).

      I have not had a chance to confirm this, but it appears more reasonable than believing BLC is responsible. My initial impression was gain from adding a large pile of links, and having BLC complain about a few that I edited through the BLC link editor. When I then noticed the w3 validation failures due to missing title= BLC was the “only” code that had manipulated the new links. Except it wasn’t alone.

      The “fix my html” options in the editor may be more hassle than they are useful.

    6. […] Es ist ja nicht so als hätte ich heute mal wieder die “Spendierhosen” an, nein – aber trotzdem hab ich meinem Blog (und auch dem von meinem Fraule der  Zicke-Steffi) ein paar ziemlich nützliche Plugins spendiert Broken Link Checker […]

    7. Thanks for the plugin. It found a 7 broken links on our site which we have now foxed :o)

    8. […] have found that the best way to combat this is through the use of two plugins: Broken Link Checker and […]

    9. […] Broken Link Checker – While this isn’t completely related to the database and optimization, finding broken links and removing or updating them could be considered a cleanup activity. […]

    10. Diane says:

      This sounded just what I was looking for – unfortunately after uploading it (WP 3.0.4) I cannot get it to activate in the plugins area.

      It just goes to a blank page. Even trying to delete it from inside same result.

      Tried both FTP and download/install from inside Admin area – no dice which is too bad, it’s exactly what I’m looking for 🙁

    11. Diane,

      I use Broken Links Checker version 1.2.4 with nearly all my sites and all are using WordPress 3.0x. It works quite well.

      I have found that in many cases when a blank screen is displayed instead of the intended result it is because not enough memory is allocated for use by PHP in the “php.ini” file which is run when PHP is started.

      Check the memory allocation of the following lines in your php.ini file:

      ; Maximum amount of memory a script may consume (128MB)
      ; http://php.net/memory-limit
      memory_limit = 128M

      ; Maximum allowed size for uploaded files.
      ; http://php.net/upload-max-filesize
      upload_max_filesize = 64M

      You may wish to increase the max limits to see if for some reason you limits are set too low. Depending upon your host/server your memory limits may be set much lower than the values here. I know that these values work for this plugin. Remember you must restart apache2 after modifying the php.ini file before the new limits become effective.

    12. Diane says:

      Thanks David, I will check. However, I believe (and yes I most certainly could be wrong) but all my hosting settings are set at unlimited. Not being a programmer per se, finding that “gosh darn” ini file has been driving me crazy. I have the right tools, yet lack the sufficient technological coding to type in to locate said file.

      I’ll keep checking though. I’m someone who’s self hosted on a server where I’m just dangerous enough to cause harm LOL! Getting more proficient, but still – I sure wish I’d taken programming along the way!

    13. Yes i installed this, grate, i was given nice time. thanks.

    14. Diane,

      You may also be able to check your PHP settings another way.

      enter the following command from your browser:

      http://(yourdomainname)/info.php

      Insert your domain name as you would to access your site (www.mydomain.com, mydomain.org, etc.)

      This should give you a dump of your PHP settings and configuration.

      Look in the Core section under the setting memory_limit for your current setting.

      You can also ask your system administrator or host support for help.

      Good Luck.

    15. […] program när jag bloggar, här är en lista: Bloggen: WordPress (några plugins: SFC, Akismet och Broken Link Checker m.f ) För att blogga: Zoundy Raven (via Wine i Linux, du behöver IE6 installerad också via […]

    16. […] Broken Link Checker – Search engines do not like broken links. Your visitors do not like them either. This plugin scans your posts automatically, shows you broken links in WordPress dashboard and lets you easily unlink them. […]

    17. […] plugin Broken Link Checker for WordPress – kammib postitusi ja kommentaare ning raporteerib kõik leitud vigased lingid, nii saidi sisesed […]

    18. thanks for your plugin it helps me alot in migrating my website into wordpress

    19. Matthias says:

      BLC does not support the new Youtube/Vimeo embed code style! Why???

    Leave a Reply