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)
Compatibility : 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 :

877 Responses to “Broken Link Checker for WordPress”

Pages: « 120 21 22 23 24 25 26 27 28 29 [30] Show All

  1. 848
    Joe Banks says:

    Re: Done. I’m somewhat surprised someone actually reads those :)

    Every time I consider an automatic WP plugin upgrade, I read the changelog FIRST in the pop-up window, as seen here:

    There is a new version of Broken Link Checker available. *View version 0.5.18 Details* or *upgrade automatically.*

    In WP on Plugins page, click on *View version 0.5.18 Details* (or any plugins upgrade) to see what we’re talking about.

  2. 849
    White Shadow says:

    I’m aware of that feature; my previous comment wasn’t entirely serious.

  3. 850
    Joe Banks says:

    Pardon my assumption. :) I’m just surprised at the number of plug-in authors who don’t bother with the Changelog, or decide to *only* host the Changelog on their own site. Your efforts and hard work always appreciated and not taken lightly!

  4. 851
    daizan says:

    How can i get broken link checker to check my links in user comments?

  5. 852
    White Shadow says:

    It’s on my to-do list, but it will be a while before I actually get around to implementing it. The next thing I plan to work on is internationalization.

  6. 853
    Steve Portigal says:

    At the suggestion of my ISP, I created a fresh WP install elsewhere on the same server, installed your plugin, then did a PHP-info. “The difference between the local and global settings for open_basedir meant that it was being set elsewhere a second time. I dug into the DirectAdmin administration menus and found an open_basedir setting that I had not noticed before (maybe a recent feature in DirectAdmin). I have switched this off. I think this will solve the problem.”

    And back on portigal.com, the debug settings for your pluin are
    PHP version 5.2.5
    MySQL version 5.0.41-community
    CURL version 7.19.5
    Snoopy Installed
    Safe mode Off
    open_basedir Off
    Lockfile /tmp/wp_blc_lock

    I think we’re good?! Thanks for all your help!

  7. 854
    White Shadow says:

    Note : A few comments on this post have been irretrievably lost due to a server crash.

  8. [...] Broken Link Checker [...]

  9. 856
    gaianorm says:

    Hi, service information…
    I noticed that the sentence “Found %d broken link” has a label (view broken link) that cannot be translated.
    Bye
    Giacomo

  10. 857
    Brent P. Newhall says:

    Hi there! Thanks so much for creating this. It’s working great, with one exception: one particular server always returns a 400 error to Broken Link Checker, but I can load the pages in a standard web browser just fine.

    Here are the details for one of the broken links:

    . Post published on : October 27, 2009
    . Link last checked : October 30, 2009
    . HTTP code : 400
    . Response time : 2.306 seconds
    . Final URL : http://www.animenews.biz/viz-to-publish-rin-ne-volume-1-on-october-20th-2222/
    . Redirect count : 0
    . Instance count : 1
    . 
This link has failed 2 times.

    Log : === First try : 0 (No response) ===
    

HTTP/1.1 400 Bad Behavior
    
Date: Fri, 30 Oct 2009 14:39:05 GMT

    Server: Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.7a mod_auth_passthrough/2.1 mod_bwlimited/1.4 PHP/5.2.5
    
X-Powered-By: PHP/5.2.5

    Status: 400 Bad Behavior

    Connection: close

    Content-Type: text/html




    Trying a second time with different settings…

    === Second try : 0 (No response) ===


    HTTP/1.1 400 Bad Behavior

    Date: Fri, 30 Oct 2009 14:39:08 GMT
    
Server: Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.7a mod_auth_passthrough/2.1 mod_bwlimited/1.4 PHP/5.2.5

    X-Powered-By: PHP/5.2.5

    Status: 400 Bad Behavior

    Content-Length: 978
    
Connection: close

    Content-Type: text/html

    


Link is broken.

  11. 858
    White Shadow says:

    @ Brent : This is a known issue. That site is running the the Bad Behaviour module, which tends to be a bit overzealous about blocking automated web requests. As far as I know, there is currently no practical way to fix this in the plugin.

  12. [...] Translators Wanted I’ve recently added internationalization support to my Broken Link Checker plugin, so if you like the plugin and would like to see it in your own language, consider contributing a [...]

  13. [...] Broken link Checker Search engines do not like broken links. This plugin ensures you have none [...]

  14. [...] Broken Link Checker (http://w-shadow.com/blog/2007/08/05/broken-link-checker-for-wordpress/) [...]

  15. [...] Broken Link Checker [...]

  16. 864
    Mike says:

    Hi,

    Can you tell me if your plugin can detect parked domains? Will that be counted as a broken link?

    I know there’s many who leave blog comments with their URL, and one year later, the site is abandoned and turned into a parked domain.

    I don’t want any links going to their parked domains…..

  17. 865
    White Shadow says:

    No, that’s not currently possible. I’m not even sure how one could detect a parked domain, but I may look into it.

  18. [...] Version 0.5.13 | Par Janis Elsts | Aller sur le site de l’extension [...]

  19. [...] Links mal ein wenig aufräumt. Alternativ zu Integrity kann man auch das WordPress-Plugin “Broken Link Checker” [...]

  20. [...] had to go back through my blog and reformat all the broken links that linked to my own posts. The broken linkchecker plugin helped here – but it was still [...]

  21. [...] instalador integrado aunque no sea realmente lo mejor que hay… nuevos por ahora: WP-Optimize, Broken Link Checker, Smart 404 y Kael.me Url Shortener. Se van: Contact Form ][, Twitter Friendly Links y Viper’s [...]

  22. [...] Broken Link Checker – This is great when you have made posts with links and over time these links may become broken, this plugin allows you to find them and edit them via your dashboard. [...]

  23. [...] Página do Plugin Share this on del.icio.usDigg this!Share this on RedditStumble upon something good? Share it on StumbleUponShare this on TechnoratiTweet This!Email this to a friend?Subscribe to the comments for this post?Add this to Google Bookmarks Name: [...]

  24. 872
    Neil says:

    ‘Ello,

    All of the outbound links on my site are redirected for tracking purposes, I was wondering if this plug-in will detect if the link they get redirected to is broken or just check if the page they are originally sent to that does the redirecting is broken

  25. 873
    White Shadow says:

    The plugin should follow the redirect and check the actual page. The only situation where it might not work is if you’re running PHP in safe mode or have the open_basedir directive set.

  26. 874
    Neil says:

    ‘Ello,

    That’s brilliant I’ll be sure to install this plug-in then, this will be so incredibly helpful to the site account managers at my work and make my job easier to.

    Thanks for the quick reply.

  27. 875
    picart says:

    I am from Russia, and I try to use your plugin today, and I like it!!! Thanks!!!

  28. [...] Broken Link Checker – Checks your posts for broken links and missing images and notifies you on the dashboard if any are found. – Visit plugin site [...]

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

Pages: « 120 21 22 23 24 25 26 27 28 29 [30] Show All

Leave a Reply