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: « 120 21 22 23 24 [25] 26 27 28 29 30 » Show All

  1. [...] Broken Link Chinker – Muchas veces cuando incluimos enlaces en nuestras entradas a sitios externos nos ariesgamos [...]

  2. [...] Broken Link Checker for WordPress – As your blog gets more and more posts, it can be difficult to go back and look for what has broken with time.  This plugin will check images and links and notify you via the dashboard when it locates something. [...]

  3. [...] Broken Link Checker for WordPress [...]

  4. 720
    Joe Banks says:

    As promised, a donation has been sent. Thanks for the changelog! This is an essential plugin for regular website maintenance. Keep up the good work!

  5. 722
    scott says:

    i’ve got this plugin working splendidly on one blog I administer, but on another (running on a separate host) I get a 500 Internal Server Error when attempting to activate the plugin. It does appear to be active though, but it finds no links.

    Under Tools-> Broken Links, I see the following error:

    Table ‘***.**_blc_links’ doesn’t exist

    I have tried using version 0.5.9 and 0.5.10 with the same result. I migrated this wordpress installation to MySQL 5 (from version 4) to see if that was the problem, and I still got the same error. When I look at my database I do not see any blc tables.

    Any idea why they are not being created, or what would be causing this Internal Server Error? Any help would be appreciated. This is a great plugin (when i can get it working)! thanks! :)

  6. 723
    White Shadow says:

    I’m not sure, but I suspect this is somehow related to the fact that the database upgrade function that the plugin used is unable to handle explicitly specified character sets and collations.

    Try the development version again, I’ve made some changes that might help.

    Sidenote : There were only two significant DB-related changes in the latest versions. One, the plugin now uses case-sensitive collation (latin1_general_cs) for it’s URL column(s). Two, I switched from creating the tables directly to using the aforementioned upgrade function. I think one of these modification is be to blame.

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

  8. [...] Broken Link Checker for WordPress – As your blog gets more and more posts, it can be difficult to go back and look for what has broken with time.  This plugin will check images and links and notify you via the dashboard when it locates something. [...]

  9. [...] Broken Link Checker Checks your posts for broken links and missing images and notifies you on the dashboard if any are found. Version 0.5.9 | By Janis Elsts | Visit plugin site [...]

  10. [...] Broken Link Checkerプラグインで自身のブログへのリンク切れがないか確認 [...]

  11. [...] התוסף | דף הבית] YARP – הצגת פוסטים רלוונטיים Yet Another Related Posts Plugin הוא [...]

  12. [...] Twitter så kan du med detta plugin få dessa omnämnanden som kommentarer på inlägg och sidor.Broken Link Checker Det här WordPress pluginet håller reda på om det finns några brutna länkar på din webbplats [...]

  13. 731
    Sheila says:

    I have the Broken Link Checker version 0.5.9 installed and now left deactivated because it has been increasingly reporting links as being broken when they are not. I tried deleting all the data for the plugin and reinstalling it, but that didn’t help.

    I have 5 other plugins and wonder if maybe the Broken Link Checker might be conflicting with 1 (or more?) of them. They are: Akismet, All in One SEO Pack, CR Flexible Comment Moderation, WordPress.com Stats, and Wordpress Popular Posts.

    I also tried changing the amount of hours it rechecks the links to see if that made any difference. It made no difference.

    When I first began using the Broken Link Checker many months ago, it only reported links that really were broken. Now it seems to be heading in the direction of labeling all my links as being broken (I have an enormous amount of links!).

  14. 732
    White Shadow says:

    Check the “Details” panel for the incorrectly reported links (either click the “Details” link that pops up when you hover your mouse cursor over the table row, or just click anywhere in the “Link Text” column). Is there anything unusual in the log? Maybe a pattern of some kind (e.g. all links showing “No response”)?

    You might also try installing the dev. version on the off-chance that it might help.

    As for your other plugins : I’ve successfully tested the link checker with Akismet, All in One SEO and WP.com Stats, and I’m pretty sure the other two should cause no conflicts either.

    Oh, and have you recently moved to a new server/has the server configuration changed significantly?

  15. 733
    Sheila says:

    Yes, alll the links reported as broken show “No response” in the “Details” link. Does this mean I should install the dev. version?

    No, I haven’t moved to a new serve and the server configuration has not changed. Thank you for your quick response.

    I’m curious to see how this problem will resolve. :)

  16. 734
    Sheila says:

    I did delete version 0.5.9 and install 0.5.1

    0.5.1 is doing the same thing. What’s odd is that when I recheck for broken links manually, it sets the results to zero. In less than a minute, it’s back to compiling a long list of broken links with every one having the detail showing no response.

  17. 735
    White Shadow says:

    Hmm, I still haven’t figured out why this happens. Does the log also say anything like “(Most likely the connection timed out or the domain doesn’t exist)” or “Using Snoopy”?

    Try this – open /broken-link-checker/link-classes.php and change these lines (near line 160) :

    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);

    to something like this :

    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 100);
    curl_setopt($ch, CURLOPT_TIMEOUT, 150);

    These numbers specify how long the plugin is willing to wait for a response from a remote server. Setting them this high should help if the problem is caused by a network glitch.

  18. 736
    Sheila says:

    If figures!… after having deleted 0.5.1 and leaving my blog without a Broken Link Checker Plugin all day; then reinstalling 0.5.9 to try out your suggestion, the problem no longer exists! It’s working fine now.

    I will keep your suggestion handy in case if malfunctions again. I wonder if it’s possible the hosting company that my blog is on had some glitch going on and resolved it? If that’s the case, is it possible that it could have taken weeks for them to work out the bug?

    Thank you for your quick and caring responses!

  19. 737
    White Shadow says:

    Well, I love problems that solve themselves :)

    Still, could you perhaps install the 0.5.10 again and see if the bug reappears? I realize you don’t need to, but it might provide valuable information for me.

  20. 738
    Sheila says:

    I installed 0.5.10 again and I thought the bug did not reappear because it wasn’t developing a ‘weird’ list again. Now I’m not sure, because it reported a link as broken for this reason: HTTP/1.1 503 Service Temporarily Unavailable

    Every time I manually checked that ‘broken’ link, it worked fine.

    Then I put back 0.5.9 and that version is now doing the same thing. Before installing 0.5.10 today, it wasn’t giving that 503 message for that ‘broken’ link.

  21. 739
    White Shadow says:

    I’d suggest waiting a few hours (or until the link is checked again). It might actually be a temporary glitch on the server hosting the linked site (that happens from time to time), in which case the 503 message should go away after a while.

    There are also some sites that always show an error page to the plugin but let normal visitors access them, but those are relatively few.

  22. 740
    Sheila says:

    Thank you for all of your help and tips. I hope my feedback is helpful.

    The Broken Link Checker seems to be fine now. :)

  23. [...] от битых ссылок. По ее рекомендации я поставила плагин Broken Link Checker и с его помощью выявила, а потом исправила или удалила [...]

  24. 743
    Sepi says:

    Hi There!

    I use this plugin and am very satisfied. I think my site is being hacked, and I think your plugin is helping me to find this. It’s currently indicating that I have over 150 links in the work queue, but I do not see any pending posts in my site. Where does the tool check through to find links in work queue?

    Scarry to be hacked… :(

    Sepi

  25. 744
    White Shadow says:

    The “work queue” here refers to the plugin’s own internal queue of links that need to be checked (or re-checked) at this time; it has nothing to do with pending posts. And it’s certainly not an indication that your site is being hacked :)

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

Leave a Reply