Broken Link Checker 0.5 Available

The latest version of Broken Link Checker for WordPress is now available on WordPress.org. If you’re already using the plugin you should get an update notification within 24 hours. Below you’ll find a list of changes and a bit commentary about the update.

Around 20 people downloaded the beta version. I haven’t received any death threats related to that release, so I’m just going to go ahead and presume there are no critical bugs in the new code. But if you do find anything that looks like a glitch feel free to report it in the comment section or via my contact page.

What’s New

  • Check links in bookmarks (AKA the blogroll).
  • Check links in custom fields (optional). You need to list the custom fields you want to be checked in Settings -> Link Checker. At the moment the plugin is only able to parse fields that contain a complete URL and nothing more. Note that when you add a new field to the configuration, it will take a while before the plugin re-parses your posts and detects the field values.
  • Manage all links from one page. You can view, edit or remove broken links, redirects and any other link in any post, custom field or the blogroll, from one page.
  • An all-new dashboard widget that displays status info about broken links. To save dashboard space you can close the widget and configure it to automatically pop open if problematic links are detected (this is actually on by default).
  • Improved database efficiency. For example, information about URLs and places where they are used is now stored separately. This is more elegant and enables some neat features.
  • Check each URL only once per the user-configured period (except broken links that are still double-checked). Previously, the plugin would check links that are used in X different posts X times in a row.
  • Link modifications are applied to all posts automatically. You can edit or delete a link via the plugin’s tab and all the posts, custom fields and bookmarks will be automatically updated to reflect the change.
  • Posts are only re-parsed when they change. Previously the plugin would periodically re-check each post for new links which was wasteful and hurt performance.
  • All received HTTP headers are now included in the detailed log (previously only the last one was shown).
  • Generally more informative logs.
  • You can quickly add URLs to the exclusion list by clicking the “Exclude” button.
  • Added paging support to the link list.
  • Everything runs on jQuery instead of Prototype now.
  • Everything is way more object-oriented now.
  • Everything uses AJAX the “proper” way now by calling admin-ajax.php instead of a separate plugin file.
  • Significantly improved database performance. Some queries are still slow since it’s not practical to put an index on a DATETIME column, but overall the plugin uses the WordPress DB much more efficiently.
  • Sorting features are gone, for now. I’ll probably add a number of sorting options in a later version.
  • Improved UI that’s more in line with WP 2.7 style. For example, most action links in the “Broken Links” tab only show up when you hover over the corresponding row.
  • Links in custom fields or the blogroll get an appropriate icon in the broken link list.
  • The URL editing feature is more elegant and there’s finally a “Cancel” button.
  • More intuitive AJAX behaviour. For example, when an AJAX call completes it will flash the appropriate row green or do something else to indicate that it was successful.
  • No more hidden debug output in HTML comments. I’ve switched to the excellent FirePHP + FireBug debugging combo and it works great.
  • Only one instance of the link checker can be active at one time. Previously it would just plough on, blissfully unaware of race conditions and other related nastiness. This behaviour was probably what caused the mysterious slowdowns and inexplicable bugs that a few users encoutered. Now the worker function uses file locking and will abort if there’s already another worker running.
  • The minimum required WordPress version is now 2.7. If you’re using something older, upgrade or get an older version of the plugin from the wordpress.org archives. Progress marches on, humans.

To-Do

These are the features that will probably be implemented in the relatively near future (i.e. before the winter 😉 ).

  • Result sorting on the “Broken Links” page.
  • Cron support.
  • Some kind of pop-up tooltips for broken links in posts.
  • More optimization, e.g. don’t load the entire plugin when it’s not required.
  • An option to only check internal and/or external links.
  • Localization support.
  • Checking links in comments. Maybe. I’m still not convinced that would be all that useful.

1.0 ?

In conclusion, I’m quite pleased with how the update has turned out. I was really tempted to break away from the fractional versioning scheme I’ve used for this plugin since the beginning and label this the true and complete “1.0” release, but the thought that there will almost certainly be a load of new bugs due to all the major changes made me reconsider. Maybe after all the to-do items are implemented…

By the time it gets to 1.0 this will probably the most powerful and robust plugin I’ve ever created. And then the robot uprising will happen.

Related posts :

67 Responses to “Broken Link Checker 0.5 Available”

  1. White Shadow says:

    My first impulse is to say the site is doing it wrong – the 201 code is definitely not intended for reporting errors – and so there’s nothing for me to fix. However, I have plans for eventually adding a new filter (or something similar) that would let you sort links by response code, so that might help once it’s implemented.

  2. Thanks again for a great plugin. I’ve made a slight amendment, so that it adds ‘rel=”nofollow”‘ to broken links as well as ‘class=”broken_link”‘. This instructs search engines not to follow the broken link.

    As for future improvements, I think you’re right to put cron support top of the list, but comment links should be a close second.

    Many blogs are conversations and comments can be as valuable as the original post. If you don’t value comments enough to look after them, why have comments at all?

  3. Benoist says:

    As for future improvements, i appreciate if briken link checker can check comments and trackbacks too…

  4. Scott says:

    It looks like I just received an automatic broken link checker update and suddenly all my 3000 comments are missing, spam too!
    Losing hair fast, please help,
    thanks

  5. White Shadow says:

    Have you tried deactivating the plugin to see if they come back?

  6. Amos says:

    The plugin activated fine & found a TON of broken links. When I hit the broken links tab & try to edit the URL – it looks like it saves fine but the link is not updated on the page. Any idea what is going on here?

    I moved my blog from the root of my domain to example.com/wordpress and am trying to update all of my links from example.com/wp-content/… to example.com/wordpress/wp-content/… If this plugin will work – HUGE help.

  7. White Shadow says:

    You could try installing the development version. It includes some bugfixes that haven’t been pushed to the “official” release yet.

    If that doesn’t solve it, send me a few examples of the problematic links (i.e. the relevant HTML from the page editor) and I’ll try to figure out the bug.

Leave a Reply