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: « 111 12 13 14 15 [16] 17 18 19 20 2130 » Show All

  1. 446
    Damien says:

    Broken Link Checker worked fine for a few month. But now, I have some errors. When I run “Re-check all pages”, all the website is in error (error 500) and many good links which point to my website are marked as broken :

    Log : === First try : 500 ===
    HTTP/1.1 500 Internal Server Error
    Date: Fri, 20 Mar 2009 08:07:21 GMT
    Server: Apache/2.2.X (OVH)
    X-Powered-By: PHP/4.4.9
    Expires: Wed, 11 Jan 1984 05:00:00 GMT
    Cache-Control: no-cache, must-revalidate, max-age=0
    Pragma: no-cache
    Last-Modified: Fri, 20 Mar 2009 08:07:21 GMT
    Vary: Accept-Encoding
    Connection: close
    Content-Type: text/html; charset=utf-8

    Trying a second time with different settings…
    === Second try : 500 ===
    HTTP/1.1 500 Internal Server Error
    Date: Fri, 20 Mar 2009 08:07:21 GMT
    Server: Apache/2.2.X (OVH)
    X-Powered-By: PHP/4.4.9
    Expires: Wed, 11 Jan 1984 05:00:00 GMT
    Cache-Control: no-cache, must-revalidate, max-age=0
    Pragma: no-cache
    Last-Modified: Fri, 20 Mar 2009 08:07:21 GMT
    Vary: Accept-Encoding
    Connection: close
    Transfer-Encoding: chunked
    Content-Type: text/html; charset=utf-8

    Link is broken.

    Why the whole website is out when the plugin is checking all links ?

    WP 2.7.1 (Akismet 2.2.3, akWpLightbox 1.0.0, All in One SEO Pack 1.4.7.4, Broken Link Checker 0.4.14, cforms 9.1, Exec-PHP 4.9, FeedBurner FeedSmith 2.3.1, FeedWordPress 2008.1214, Google Analytics for WordPress 2.9, Google XML Sitemaps 3.1.2, MobilePress 1.0.3, Remove Generator Meta Tag 1.0, WordPress.com Stats 1.3.7, Wordpress.com Stats Helper 0.5.5.3, Wordpress Newsletter subscription Opt-in for SendBlaster 1.1.6, WordPress Related Posts 1.0).

  2. 447
    White Shadow says:

    Ah, the mysterious “500 Internal Server Error”. That’s one of the most abused HTTP codes that can mean any number of things. Have you recently installed any security-related stuff on your server (e.g. new Apache modules)? The plugins look fine, but it could be caused by something else that works on webserver level.

  3. 448
    Damien says:

    Quite difficult to know what has been updated on the web server… It’s a shared hosting ! I will open a case next week to try to have more information or log file.

    I will try if this issue is related to the last version of the plugin (try version 0.4.13).

    Thanks for your reply !

  4. 449
    Damien says:

    I have the same issue with version 0.4.13. I have open an incident to have more informations from my hosting provider. It seems my database is limited to up to 3 concurrent access. Any idea ?

    Thanks.

  5. 450
    White Shadow says:

    That sounds very restrictive, though I have to admit I don’t know much about this aspect of databases. No ideas, sorry.

  6. [...] easy to do with the plugin I use: Broken Link Checker. Highly [...]

  7. [...] Broken Link Checker This checks your posts for broken links and missing images and notifies you on the dashboard if any are found.  Very handy for keeping link-rot out of your blog. [...]

  8. 454
    A.S. says:

    I tried the plugin on a free server for testing,worked great with the 3xx redirects,but now i switched it to my paid server and the plugin doesnt show the redirects anymore.I tried:uninstalling and reinstalling,upgrading,deactivated all other plugins to check for conflict,went thrue the css numerous times,php5 on both servers,but nothing works…Can you come up with anything that could help?Cause i`m going insane :-(
    Thanx

  9. 455
    White Shadow says:

    Does the new server have cURL? If not, the plugin would use another algorithm to check links that handles redirects slightly differently.

  10. [...] Plug-in: Broken Link Checker is easy to use and allows you to find and fix bad links quickly.  From the ease of putting the [...]

  11. 457
    A.S. says:

    Yes it has curl,i checked with the helpdesk and they gave me this info:

    cURL support enabled
    cURL Information libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1

    Is that any help?

  12. 458
    White Shadow says:

    Well, is the modified code still there? :)
    Are typical broken links (error 404) detected?

  13. [...] Broken Link Checker decreases the likelihood that a link-heavy post like this will become useless to a future reader. [...]

  14. 460
    A.S. says:

    Yes the modified code is still there :-)
    I imported a old blog and it detected 117 dead links (404) but not the 3xx range :-|
    I just cant figure out what the problem is…

  15. 461
    White Shadow says:

    Hmm, nothing else comes to mind at this time… :/

  16. 462
    A.S. says:

    :-|
    The strange thing is that i have another link-check plugin (but it only checks links when a post is actualy visited) that does detect the 3xx redirects.I guess its gonna be a long night trying to figure it out…

  17. [...] 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. [...]

  18. [...] Broken Link Checker:   Checks your entire blog for broken links in posts or pages and puts a message in your Dashboard when it finds some. Offers you various options for dealing with them – e.g. you can ignore the notice, remove the link, edit the link, etc. [...]

  19. 465
    SleeplessinDC says:

    The plugin reports that http://www.eeicom.com:80/training/dispclas.cfm?classID=70700 is a broken link but it isn’t. Here are the details: HTTP Code : 60
    1. Log : (Using Snoopy)
    connection failed (60)
    HTTP/1.1 302 Moved Temporarily
    Connection: close
    Date: Mon, 06 Apr 2009 22:52:13 GMT
    Server: Microsoft-IIS/6.0
    X-Powered-By: ASP.NET
    Set-Cookie: CFID=1193978;expires=Wed, 30-Mar-2039 22:52:13 GMT;path=/
    Set-Cookie: CFTOKEN=73796203;expires=Wed, 30-Mar-2039 22:52:13 GMT;path=/
    location: /training/dispclas.cfm?classID=70700
    Content-Type: text/html; charset=UTF-8

    Link is broken.

  20. [...] di ricerca per determinate parole-chiave. Se usate Wordpress, cercate di installare il plugin Broken Link Checker, che fa un’analisi completa del vostro blog, trovando immediatamente tutti quei link [...]

  21. 468
    White Shadow says:

    Looks like an internal Snoopy problem (Snoopy is the library that the plugin uses when cURL is unavailable). All I can suggest at the moment is to get your host to install cURL.

  22. [...] Broken Link Checker – Nada mais chato que você entrar em um site com aquela música ou filme que tanto procurava e o link estar quebrado não é. Pode ter certeza que seus visitantes odeiam isso! Esse plugin verifica seus links e os reporta se estiverem quebrados. [...]

  23. [...] Broken Link checker enabled [...]

  24. 471
    Nolan says:

    A quick comment on the plugin. Is there any way to send broken link findings to my email? It’d be a great help as I’m not often able to check my Wordpress all that often, but I do check my email. Thanks!

  25. 472
    White Shadow says:

    Unfortunately not. While it would be possible to make a little script that checks the plugin’s DB table and reports broken links by email, the plugin wouldn’t actually run if no-one visits the admin dashboard (this might be changed in a future update).

  26. [...] Broken Link Checker – Checks your blog for broken links and notifies you in the dashboard. Very user-friendly and has [...]

  27. [...] ie perfect is. Dus laat ik nooit meer zo’n berichtjes tegenkomen he? Broken Link Checker (link) Ontzettend handige plugin die je gehele Wordpress doorloopt (zowel pages als posts) op zoek naar [...]

  28. [...] letztere Aufgabe bin ich heute über das sehr nützliche Plugin Broken Link Checker gestolpert. Satte 98 Links wurden mir als nicht funktionsfähig angezeigt. Ein Großteil besteht [...]

Pages: « 111 12 13 14 15 [16] 17 18 19 20 2130 » Show All

Leave a Reply