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 :
- Download the .zip file (see below).
- Unzip.
- Upload the
broken-link-checker
folder to you/wp-content/plugins
directory. - Activate the plugin in the Plugins tab.
I’m getting the pink broken link codes as well. Deactivated it, then got a notice of a broken link, and on logging on to my site got the pink coded page telling me it was not functioning. I’ve not done any changes to my site in months, so it certainly isn’t as a result of any activities on my part. It just decided to malfunction.
Is there a fix? If not, I, like others will keep it deactivated and if no fix in site will uninstall it. It’s really too bad, ’cause it “was” doing a great job!
I’m getting the broken link message & coding as well. I’ve deactivated & reactivated the plugin at least 10 times, & the same problem occurs. Up until this past week or so (May 16), it was a great plugin.
@ellen:
Could you please post the first 4 lines of the new error message? The “debug3” version includes additional debugging information in the output, which could help track down the problem.
@Other commenters:
If you haven’t already, please try downgrading to 1.7:
http://downloads.wordpress.org/plugin/broken-link-checker.1.7.zip
Or install this version and post the new error message (remember to deactivate the plugin before installing this patch):
http://1.shadowcdn.com/files/broken-link-checker-debug3.zip
The 1.7.1 version also removes the settings link. Downgrading makes it work again.
OK, I was wrong but I think I found the issue after comparing my “working blogs” with the broken ones, I discovered the broken ones had the one plugin the working ones didn’t…. AddThis Social Bookmarking Widget v3.1.
When I disabled it, all the issues seem to go away. The settings button is even back.
[…] if you do? I thought I had my linking structure under control and perfect…until I installed the Broken Links Checker Plugin, and let it loose on my database. Wow! It was a revelation. And when I checked, it was all […]
@Jānis
I deactivated the link but when I got your message, I reactivitated it so I can send you the error message when it appears, as I assume it will. Thank you for following up on this. I will only send the first 4 lines, unless I hear otherwise.
If it’s any help, the error message appears to be due to the dashboard widget failing to load. I’d be tempted to deactivate the hook in the plugin code but for it being very handy. Giving version 1.7 a go for now to see if any error messages appear at all.
@ John Hennessy:
That’s interesting. What makes you think it’s the dashboard widget that’s causing it?
Janis, it doesn’t appear whenever the error message is shown. Deactivating the actual hook for this would be confirm what I am thinking but I have downgraded to version 1.7 now. So far, that’s working OK for me.
Unfortunately that’s not very strong evidence that the widget code is the problem. The plugin won’t display any of its admin pages or widgets if it thinks installation failed.
Still getting the same thing; deactivate and works for one shot, then the old pink message is back with this info:
Broken Link Checker installation failed. Try deactivating and then reactivating the plugin.
Installation log follows :
Plugin activated at 2013-05-16 15:29:44.
Installation/update begins.
Upgrading the database…
Database schema updated.
Database successfully upgraded.
Cleaning up the database…
… Deleting invalid container records
… 0 synch records deleted
… Deleting invalid link instances
… 0 instances deleted
… 0 more instances deleted
… Deleting orphaned links
… 0 links deleted
Notifying modules…
… Updating module cache
… Notifying module “http”
… Notifying module “link”
…… Parser “link” is marking relevant items as unsynched
…… Executing query: UPDATE wp_blc_synch SET synched = 0 WHERE (container_type = ‘page’ AND last_synch >= ‘1970-01-01 00:00:00’) OR (container_type = ‘post’ AND last_synch >= ‘1970-01-01 00:00:00’) OR (container_type = ‘comment’ AND last_synch >= ‘1970-01-01 00:00:00’)
…… 1198 rows affected
… Notifying module “image”
…… Parser “image” is marking relevant items as unsynched
…… Executing query: UPDATE wp_blc_synch SET synched = 0 WHERE (container_type = ‘page’ AND last_synch >= ‘1970-01-01 00:00:00’) OR (container_type = ‘post’ AND last_synch >= ‘1970-01-01 00:00:00’) OR (container_type = ‘comment’ AND last_synch >= ‘1970-01-01 00:00:00’)
…… 0 rows affected
… Notifying module “metadata”
…… Parser “metadata” is marking relevant items as unsynched
…… Executing query: UPDATE wp_blc_synch SET synched = 0 WHERE (container_type = ‘custom_field’ AND last_synch >= ‘1970-01-01 00:00:00’)
…… 0 rows affected
… Notifying module “url_field”
…… Parser “url_field” is marking relevant items as unsynched
…… Executing query: UPDATE wp_blc_synch SET synched = 0 WHERE (container_type = ‘comment’ AND last_synch >= ‘1970-01-01 00:00:00’)
…… 0 rows affected
… Notifying module “comment”
…… Deleting synch. records for removed comments
…… 0 rows affected
…… Creating synch. records for new comments
…… 0 rows affected
… Notifying module “post”
…… Deleting synch records for removed posts
…… 0 rows deleted
…… Marking changed posts as unsynched
…… 0 rows updated
…… Creating synch records for new posts
…… 0 rows inserted
… Notifying module “page”
…… Skipping “page” resyncyh since all post types were already synched.
… Notifying module “dummy”
Updating server load limit settings…
Optimizing the database…
Completing installation…
Configuration saved.
Installation/update completed at 2013-05-16 15:29:45 with 31 queries executed.
I’m getting the same error as everyone else, it also resets all the custom settings like checking embeds, exclude sites, and custom fields.
Yes, it looks like the problem is related to plugin settings getting reset or corrupted. If BLC can not read its settings from the database – either because the database entry is corrupted, or a plugin conflict prevents BLC from reading the options table, or if the data simply is not there – it will assume that it hasn’t been installed properly and display an installation error.
Try installing the development version of the plugin:
http://downloads.wordpress.org/plugin/broken-link-checker.zip
Now if the plugin discovers that it can’t load its settings, it will explicitly say so. It will also check if the database entry is missing, or if it’s there but can not be loaded for some reason.
Also, is anyone else running the AddThis plugin mentioned by Garrie in an earlier comment? I installed it on two of my sites to check for conflicts and didn’t notice anything suspicious, but it’s possible that the conflict might manifest only on certain WP/server/OS combinations.
I just checked my blogs again and that wasn’t it. They died again.
[…] bastle. (z.B. ein Span, dass dafür sorgt, dass das hier so schön klein ist) Toll ist auch der Broken Link Checker. Der sucht eben nach toten […]
Same problem here. Will try downgrade.
The development version displays:
Broken Link Checker installation failed. Try deactivating and then reactivating the plugin.
Failed to load plugin settings from the “wsblc_options” option.
Option exists in the wp_options table and has the following value:
a:41:{s:18:”max_execution_time”;i:300;s:15:”check_threshold”;i:72;s:13:”recheck_count”;i:3;s:17:”recheck_threshold”;i:1800;s:16:”run_in_dashboard”;b:1;s:12:”run_via_cron”;b:1;s:17:”mark_broken_links”;b:1;s:15:”broken_link_css”;s:65:”.broken_link, a.broken_link {
text-decoration: line-through;
}”;s:21:”nofollow_broken_links”;b:0;s:18:”mark_removed_links”;b:0;s:16:”removed_link_css”;s:67:”.removed_link, a.removed_link {
text-decoration: line-through;
}”;s:14:”exclusion_list”;a:0:{}s:24:”send_email_notifications”;b:1;s:32:”send_authors_email_notifications”;b:0;s:21:”notification_schedule”;s:5:”daily”;s:22:”last_notification_sent”;i:0;s:17:”server_load_limit”;d:4;s:17:”enable_load_limit”;b:1;s:13:”custom_fields”;a:0:{}s:21:”enabled_post_statuses”;a:3:{i:0;s:7:”publish”;i:1;s:6:”future”;i:2;s:5:”draft”;}s:17:”autoexpand_widget”;b:1;s:22:”show_link_count_bubble”;b:1;s:12:”table_layout”;s:8:”flexible”;s:13:”table_compact”;b:1;s:21:”table_visible_columns”;a:4:{i:0;s:7:”new-url”;i:1;s:6:”status”;i:2;s:7:”used-in”;i:3;s:13:”new-link-text”;}s:20:”table_links_per_page”;i:30;s:23:”table_color_code_status”;b:1;s:12:”need_resynch”;b:0;s:18:”current_db_version”;i:6;s:7:”timeout”;i:30;s:28:”highlight_permanent_failures”;b:0;s:26:”failure_duration_threshold”;i:3;s:21:”installation_complete”;b:1;s:28:”installation_flag_cleared_on”;s:41:”2013-05-19T16:17:52+00:00 (1368980272.13)”;s:24:”installation_flag_set_on”;s:41:”2013-05-19T16:17:52+00:00 (1368980272.41)”;s:16:”user_has_donated”;b:0;s:19:”donation_flag_fixed”;b:0;s:28:”first_installation_timestamp”;i:1368980272;s:14:”active_modules”;a:15:{s:4:”http”;a:22:{s:8:”ModuleID”;s:4:”http”;s:14:”ModuleCategory”;s:7:”checker”;s:13:”ModuleContext”;s:9:”on-demand”;s:14:”ModuleLazyInit”;b:1;s:15:”ModuleClassName”;s:14:”blcHttpChecker”;s:14:”ModulePriority”;i:-1;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:0;s:18:”ModuleAlwaysActive”;b:0;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:10:”Basic HTTP”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:50:”Check all links that have the HTTP/HTTPS protocol.”;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:10:”Basic HTTP”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:17:”checkers/http.php”;}s:4:”link”;a:22:{s:8:”ModuleID”;s:4:”link”;s:14:”ModuleCategory”;s:6:”parser”;s:13:”ModuleContext”;s:9:”on-demand”;s:14:”ModuleLazyInit”;b:1;s:15:”ModuleClassName”;s:11:”blcHTMLLink”;s:14:”ModulePriority”;i:1000;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:0;s:18:”ModuleAlwaysActive”;b:0;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:10:”HTML links”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:78:”Example :
<a href="http://example.com/">link text</a>
“;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:10:”HTML links”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:21:”parsers/html_link.php”;}s:5:”image”;a:22:{s:8:”ModuleID”;s:5:”image”;s:14:”ModuleCategory”;s:6:”parser”;s:13:”ModuleContext”;s:9:”on-demand”;s:14:”ModuleLazyInit”;b:1;s:15:”ModuleClassName”;s:12:”blcHTMLImage”;s:14:”ModulePriority”;i:900;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:0;s:18:”ModuleAlwaysActive”;b:0;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:11:”HTML images”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:65:”e.g.<img src="http://example.com/fluffy.jpg">
“;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:11:”HTML images”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:17:”parsers/image.php”;}s:8:”metadata”;a:22:{s:8:”ModuleID”;s:8:”metadata”;s:14:”ModuleCategory”;s:6:”parser”;s:13:”ModuleContext”;s:9:”on-demand”;s:14:”ModuleLazyInit”;b:1;s:15:”ModuleClassName”;s:17:”blcMetadataParser”;s:14:”ModulePriority”;i:0;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:1;s:18:”ModuleAlwaysActive”;b:1;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:8:”Metadata”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:35:”Parses metadata (AKA custom fields)”;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:8:”Metadata”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:20:”parsers/metadata.php”;}s:9:”url_field”;a:22:{s:8:”ModuleID”;s:9:”url_field”;s:14:”ModuleCategory”;s:6:”parser”;s:13:”ModuleContext”;s:9:”on-demand”;s:14:”ModuleLazyInit”;b:1;s:15:”ModuleClassName”;s:11:”blcUrlField”;s:14:”ModulePriority”;i:0;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:1;s:18:”ModuleAlwaysActive”;b:1;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:10:”URL fields”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:56:”Parses data fields that contain a single, plaintext URL.”;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:10:”URL fields”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:21:”parsers/url_field.php”;}s:7:”comment”;a:22:{s:8:”ModuleID”;s:7:”comment”;s:14:”ModuleCategory”;s:9:”container”;s:13:”ModuleContext”;s:3:”all”;s:14:”ModuleLazyInit”;b:0;s:15:”ModuleClassName”;s:17:”blcCommentManager”;s:14:”ModulePriority”;i:0;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:0;s:18:”ModuleAlwaysActive”;b:0;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:8:”Comments”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:0:””;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:8:”Comments”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:22:”containers/comment.php”;}s:4:”post”;a:13:{s:4:”Name”;s:5:”Posts”;s:14:”ModuleCategory”;s:9:”container”;s:13:”ModuleContext”;s:3:”all”;s:15:”ModuleClassName”;s:26:”blcAnyPostContainerManager”;s:8:”ModuleID”;s:4:”post”;s:4:”file”;s:0:””;s:14:”ModuleLazyInit”;b:0;s:14:”ModulePriority”;i:0;s:12:”ModuleHidden”;b:0;s:18:”ModuleAlwaysActive”;b:0;s:17:”ModuleRequiresPro”;b:0;s:10:”TextDomain”;s:19:”broken-link-checker”;s:7:”virtual”;b:1;}s:4:”page”;a:13:{s:4:”Name”;s:5:”Pages”;s:14:”ModuleCategory”;s:9:”container”;s:13:”ModuleContext”;s:3:”all”;s:15:”ModuleClassName”;s:26:”blcAnyPostContainerManager”;s:8:”ModuleID”;s:4:”page”;s:4:”file”;s:0:””;s:14:”ModuleLazyInit”;b:0;s:14:”ModulePriority”;i:0;s:12:”ModuleHidden”;b:0;s:18:”ModuleAlwaysActive”;b:0;s:17:”ModuleRequiresPro”;b:0;s:10:”TextDomain”;s:19:”broken-link-checker”;s:7:”virtual”;b:1;}s:5:”dummy”;a:22:{s:8:”ModuleID”;s:5:”dummy”;s:14:”ModuleCategory”;s:9:”container”;s:13:”ModuleContext”;s:3:”all”;s:14:”ModuleLazyInit”;b:0;s:15:”ModuleClassName”;s:15:”blcDummyManager”;s:14:”ModulePriority”;i:0;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:1;s:18:”ModuleAlwaysActive”;b:1;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:5:”Dummy”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:0:””;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:5:”Dummy”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:20:”containers/dummy.php”;}s:14:”youtube-iframe”;a:22:{s:8:”ModuleID”;s:14:”youtube-iframe”;s:14:”ModuleCategory”;s:6:”parser”;s:13:”ModuleContext”;s:9:”on-demand”;s:14:”ModuleLazyInit”;b:1;s:15:”ModuleClassName”;s:16:”blcYouTubeIframe”;s:14:”ModulePriority”;i:120;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:0;s:18:”ModuleAlwaysActive”;b:0;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:23:”Embedded YouTube videos”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:34:”Parse embedded videos from YouTube”;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:23:”Embedded YouTube videos”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:25:”extras/youtube-iframe.php”;}s:13:”youtube-embed”;a:22:{s:8:”ModuleID”;s:13:”youtube-embed”;s:14:”ModuleCategory”;s:6:”parser”;s:13:”ModuleContext”;s:9:”on-demand”;s:14:”ModuleLazyInit”;b:1;s:15:”ModuleClassName”;s:15:”blcYouTubeEmbed”;s:14:”ModulePriority”;i:110;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:0;s:18:”ModuleAlwaysActive”;b:0;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:40:”Embedded YouTube videos (old embed code)”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:34:”Parse embedded videos from YouTube”;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:40:”Embedded YouTube videos (old embed code)”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:24:”extras/youtube-embed.php”;}s:15:”megavideo-embed”;a:22:{s:8:”ModuleID”;s:15:”megavideo-embed”;s:14:”ModuleCategory”;s:6:”parser”;s:13:”ModuleContext”;s:9:”on-demand”;s:14:”ModuleLazyInit”;b:1;s:15:”ModuleClassName”;s:17:”blcMegavideoEmbed”;s:14:”ModulePriority”;i:110;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:0;s:18:”ModuleAlwaysActive”;b:0;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:25:”Embedded Megavideo videos”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:36:”Parse embedded videos from Megavideo”;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:25:”Embedded Megavideo videos”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:26:”extras/megavideo-embed.php”;}s:19:”smart-youtube-embed”;a:22:{s:8:”ModuleID”;s:19:”smart-youtube-embed”;s:14:”ModuleCategory”;s:6:”parser”;s:13:”ModuleContext”;s:9:”on-demand”;s:14:”ModuleLazyInit”;b:1;s:15:”ModuleClassName”;s:18:”blcSmartYouTubeURL”;s:14:”ModulePriority”;i:100;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:0;s:18:”ModuleAlwaysActive”;b:0;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:27:”Smart YouTube httpv:// URLs”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:49:”Parse video URLs used by the Smart YouTube plugin”;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:27:”Smart YouTube httpv:// URLs”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:30:”extras/smart-youtube-embed.php”;}s:11:”vimeo-embed”;a:22:{s:8:”ModuleID”;s:11:”vimeo-embed”;s:14:”ModuleCategory”;s:6:”parser”;s:13:”ModuleContext”;s:9:”on-demand”;s:14:”ModuleLazyInit”;b:1;s:15:”ModuleClassName”;s:13:”blcVimeoEmbed”;s:14:”ModulePriority”;i:0;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:0;s:18:”ModuleAlwaysActive”;b:0;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:21:”Embedded Vimeo videos”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:32:”Parse embedded videos from Vimeo”;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:21:”Embedded Vimeo videos”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:22:”extras/vimeo-embed.php”;}s:17:”dailymotion-embed”;a:22:{s:8:”ModuleID”;s:17:”dailymotion-embed”;s:14:”ModuleCategory”;s:6:”parser”;s:13:”ModuleContext”;s:9:”on-demand”;s:14:”ModuleLazyInit”;b:1;s:15:”ModuleClassName”;s:19:”blcDailyMotionEmbed”;s:14:”ModulePriority”;i:0;s:23:”ModuleCheckerUrlPattern”;s:0:””;s:12:”ModuleHidden”;b:0;s:18:”ModuleAlwaysActive”;b:0;s:17:”ModuleRequiresPro”;b:0;s:4:”Name”;s:27:”Embedded DailyMotion videos”;s:9:”PluginURI”;s:0:””;s:7:”Version”;s:3:”1.0″;s:11:”Description”;s:38:”Parse embedded videos from DailyMotion”;s:6:”Author”;s:11:”Janis Elsts”;s:9:”AuthorURI”;s:0:””;s:10:”TextDomain”;s:19:”broken-link-checker”;s:10:”DomainPath”;s:0:””;s:7:”Network”;b:0;s:5:”Title”;s:27:”Embedded DailyMotion videos”;s:10:”AuthorName”;s:11:”Janis Elsts”;s:4:”file”;s:28:”extras/dailymotion-embed.php”;}}s:23:”module_deactivated_when”;a:1:{s:12:”custom_field”;i:1368962272;}s:11:”plugin_news”;a:2:{i:0;s:21:”?Admin Menu Editor“;i:1;s:54:”http://wordpress.org/extend/plugins/admin-menu-editor/”;}}
@Jānis
OK, I finally got back to my website and got the error message from the ‘debug3’ installation. Here are the first few lines. Hope this helps:
Broken Link Checker installation failed. Try deactivating and then reactivating the plugin.
installation_complete = 0
installation_flag_cleared_on = 0
installation_flag_set_on = 0
Installation log follows :
Plugin activated at 2013-05-17 10:47:27.
Installation/update begins.
Upgrading the database…
Database schema updated.
Database successfully upgraded.
Cleaning up the database…