All environments are hosted on WP VIP using PHP 8.1, WordPress 6.6.1 and a custom theme.
Upon trying to install, the following is shown in the WP dashboard:
Broken Link Checker installation failed. Try deactivating and then reactivating the plugin.
installation_complete = 0
installation_flag_cleared_on = 2023-11-10T16:41:24+00:00 (1699634484.3933)
installation_flag_set_on = 0
Installation log follows :
Plugin activated at 2023-11-10 09:40:07.
Installation/update begins.
Upgrading the database...
... SHOW TABLES (0.002 seconds)
... SHOW FULL COLUMNS FROM wp_blc_filters 0.001 seconds
... SHOW INDEX FROM wp_blc_filters 0.001 seconds
... SHOW FULL COLUMNS FROM wp_blc_instances 0.001 seconds
... SHOW INDEX FROM wp_blc_instances 0.001 seconds
... SHOW FULL COLUMNS FROM wp_blc_links 0.001 seconds
... SHOW INDEX FROM wp_blc_links 0.001 seconds
... SHOW FULL COLUMNS FROM wp_blc_synch 0.001 seconds
... SHOW INDEX FROM wp_blc_synch 0.001 seconds
[OK] ALTER TABLE wp_blc_filters
MODIFY COLUMN id
int(10) unsigned NOT NULL AUTO_INCREMENT (0.006 seconds)
[OK] ALTER TABLE wp_blc_instances
MODIFY COLUMN instance_id
int(10) unsigned NOT NULL AUTO_INCREMENT (0.004 seconds)
[OK] ALTER TABLE wp_blc_instances
MODIFY COLUMN link_id
int(10) unsigned NOT NULL (0.009 seconds)
[OK] ALTER TABLE wp_blc_instances
MODIFY COLUMN container_id
int(10) unsigned NOT NULL (0.006 seconds)
[OK] ALTER TABLE wp_blc_instances
MODIFY COLUMN link_text
text NOT NULL DEFAULT '' (0.011 seconds)
[OK] ALTER TABLE wp_blc_links
MODIFY COLUMN link_id
int(20) unsigned NOT NULL AUTO_INCREMENT (0.008 seconds)
[OK] ALTER TABLE wp_blc_links
MODIFY COLUMN check_count
int(4) unsigned NOT NULL DEFAULT '0' (0.011 seconds)
[OK] ALTER TABLE wp_blc_links
MODIFY COLUMN redirect_count
smallint(5) unsigned NOT NULL DEFAULT '0' (0.015 seconds)
[OK] ALTER TABLE wp_blc_links
MODIFY COLUMN http_code
smallint(6) NOT NULL DEFAULT '0' (0.021 seconds)
[OK] ALTER TABLE wp_blc_links
MODIFY COLUMN timeout
tinyint(1) unsigned NOT NULL DEFAULT '0' (0.016 seconds)
[OK] ALTER TABLE wp_blc_links
MODIFY COLUMN broken
tinyint(1) unsigned NOT NULL DEFAULT '0' (0.017 seconds)
[OK] ALTER TABLE wp_blc_links
MODIFY COLUMN warning
tinyint(1) unsigned NOT NULL DEFAULT '0' (0.015 seconds)
[OK] ALTER TABLE wp_blc_synch
MODIFY COLUMN container_id
int(20) unsigned NOT NULL (45.438 seconds)
[OK] ALTER TABLE wp_blc_synch
MODIFY COLUMN synched
tinyint(2) unsigned NOT NULL (20.756 seconds)
Schema update took 66.344 seconds
Database schema updated.
Database successfully upgraded.
--- Total: 66.519 seconds
Cleaning up the database...
... Deleting invalid container records
... 0 synch records deleted in 0.001 seconds
... Deleting invalid link instances
... 0 instances deleted in 0.000 seconds
... 0 more instances deleted in 0.000 seconds
... Deleting orphaned links
... 0 links deleted in 0.000 seconds
--- Total: 0.002 seconds
Notifying modules...
... Updating module cache
... Cache refresh took 0.193 seconds
... Loading modules
... 4 modules loaded in 0.002 seconds
... Notifying module "http"
... Notifying module "link"
... Notifying module "image"
... Notifying module "metadata"
... Notifying module "url_field"
... Notifying module "comment"
...... Deleting synch. records for removed comments
...... 0 rows deleted in 3.872 seconds
...... Creating synch. records for new comments
...... 0 rows inserted in 20.866 seconds
... Notifying module "acf"
... Notifying module "post"
...... Deleting synch records for removed posts & post with invalid status
DELETE synch.* FROM wp_blc_synch AS synch WHERE synch.container_id NOT IN ('11250200', '11251495', '11250700', '11250538', '11249586', '11248797', '11248567', '11248262', '11247817', '11247366', '11246816', '11246339', '11246007', '11245080', '11244276', '11243809', '11243520', '11242681', '11242112', '11241567', '11241289', '11241068', '11240971', '11240222', '11239635', '11238971', '11238251', '11237717', '11237145', '11236724',
The only related error we can find in the error logs is:
PHP message: PHP Fatal error: Uncaught Error: Class "blcUtility" not found in /var/www/wp-content/plugins/broken-link-checker/legacy/core/core.php:1723
If Site Health info helps you, here it is:
<br>### wp-core ###<br><br>version: 6.6.1<br>site_language: en_US<br>user_language: en_US<br>timezone: America/Boise<br>permalink: /%year%/%monthnum%/%day%/%postname%/<br>https_status: true<br>multisite: true<br>user_registration: false<br>blog_public: 1<br>default_comment_status: open<br>environment_type: production<br>site_id: 1<br>site_count: 4<br>network_count: 1<br>user_count: 304801<br>dotorg_communication: true<br><br>### wp-dropins (3) ###<br><br>db.php: true<br>object-cache.php: true<br>sunrise.php: true<br><br>### wp-active-theme ###<br><br>name: Redacted (redacted)<br>version: 1.0.0<br>author: Redacted<br>author_website: https://redacted.com<br>parent_theme: none<br>theme_features: core-block-patterns, widgets-block-editor, block-templates, infinite-scroll, menus, automatic-feed-links, title-tag, post-thumbnails, html5, custom-background, customize-selective-refresh-widgets, custom-logo, wp-block-styles, align-wide, editor-styles, responsive-embeds, appearance-tools, border, widgets, editor-style<br>theme_path: /var/www/wp-content/themes/redacted<br><br>### wp-mu-plugins (38) ###<br><br>Admin Notice: version: 0.1.0, author: WordPress VIP<br>Advanced Post Caching: version: 0.2, author: Automattic<br>Akismet Anti-Spam: version: 5.1, author: Automattic<br>blogpublic-notice.php: author: (undefined), version: (undefined)<br>HTTP Concat: version: 1.0, author: Automattic<br>Jetpack: version: 13.7, author: Automattic<br>Lightweight Term Count Update: version: 0.1.0, author: Automattic, Alley Interactive<br>prometheus.php: author: (undefined), version: (undefined)<br>query-monitor.php: author: (undefined), version: (undefined)<br>REST API Enhancements: version: 0.1, author: Erick Hitter, Automattic<br>Rewrite Rules Inspector: version: 1.4.0, author: Automattic, Daniel Bachhuber<br>VaultPress: version: 2.2.1, author: Automattic<br>VIP AllOptions Safeguard: author: Automattic, version: (undefined)<br>VIP Back-compat: version: 1.0, author: Automattic<br>VIP Cache Manager: version: 1.1, author: Automattic<br>VIP Client mu-plugins: author: Automattic, version: (undefined)<br>VIP Codebase Manager: version: 1.0.0, author: Automattic<br>VIP Cron Enhancements: version: 1.0, author: Automattic<br>VIP Dashboard: version: 3.0.0, author: Scott Evans, Filipe Varela, Pau Argelaguet<br>VIP Feed Cache: author: Automattic, version: (undefined)<br>VIP File Service: version: 0.2, author: Automattic<br>VIP Force Two Factor: author: Automattic, version: (undefined)<br>VIP Go Core Modifications: author: Automattic, version: (undefined)<br>VIP Go Plugin Compat: version: 1.0, author: Automattic<br>VIP Hosting Miscellaneous: version: 1.1, author: Automattic<br>VIP Init: author: Automattic, version: (undefined)<br>VIP Integrations: author: Automattic, version: (undefined)<br>VIP Mail: version: 1.0, author: Automattic<br>VIP Parse.ly Integration: version: 1.0, author: Automattic<br>VIP Performance: version: 1.0, author: Automattic<br>VIP Plugins: version: 1.0.0, author: Automattic<br>VIP Schema: author: Automattic, version: (undefined)<br>VIP Security: version: 1.2, author: Automattic<br>VIP Stats: author: Automattic, version: (undefined)<br>WooCommerce: VIP Specific Changes: version: 1.0.0, author: Automattic<br>WordPress Importer: version: 0.6.4, author: wordpressdotorg<br>WordPress VIP Support: version: 3.1.0, author: <a href="https://automattic.com">Automattic</a><br>WP-CLI for VIP Go: author: Automattic, version: (undefined)<br><br>### wp-plugins-active (16) ###<br><br>Ads.txt Manager: version: 1.4.4, author: 10up<br>Advanced Custom Fields PRO: version: 6.3.5, author: WP Engine (latest version: 6.3.6)<br>Block Admin Emails: version: 1.0.0, author: Redacted<br>Bulk Delete: version: 6.0.2, author: Sudar<br>Cache Nav Menus: version: 1.0, author: Automattic<br>Comment Reply Email Notification: version: 1.33.0, author: Arno Welzel<br>External Links in a New Window: version: 1.0, author: Javi Moya<br>Fieldmanager: version: 1.2.4, author: Alley<br>Gravity Forms: version: 2.8.16, author: Gravity Forms (latest version: 2.8.17)<br>IndexNow: version: 1.0.3, author: Microsoft Bing<br>Sticky Custom Post Types: version: 1.2.3, author: Ann Oyama<br>Term Management Tools: version: 2.0.1, author: theMikeD, scribu<br>TK Favorites: version: 1.0.0, author: Redacted<br>WP Post Publish AYS: version: 0.1.0, author: John James Jacoby<br>Yoast SEO: version: 23.2, author: Team Yoast (latest version: 23.4)<br>Yoast SEO Premium: version: 23.2, author: Team Yoast<br><br>### wp-plugins-inactive (1) ###<br><br>Yoast Test Helper: version: 1.18, author: Team Yoast<br><br>### wp-media ###<br><br>image_editor: WP_Image_Editor_GD<br>imagick_module_version: Not available<br>imagemagick_version: Not available<br>imagick_version: Not available<br>file_uploads: 1<br>post_max_size: 2047M<br>upload_max_filesize: 2047M<br>max_effective_size: 2 GB<br>max_file_uploads: 20<br>gd_version: bundled (2.1.0 compatible)<br>gd_formats: GIF, JPEG, PNG, WebP, BMP, AVIF<br>ghostscript_version: not available<br><br>### wp-server ###<br><br>server_architecture: Linux 5.10.0-26-amd64 x86_64<br>httpd_software: nginx<br>php_version: 8.2.22 64bit<br>php_sapi: fpm-fcgi<br>max_input_variables: 6144<br>time_limit: 1200<br>memory_limit: 768M<br>max_input_time: 1200<br>upload_max_filesize: 2047M<br>php_post_max_size: 2047M<br>curl_version: 8.7.1 OpenSSL/1.1.1w<br>suhosin: false<br>imagick_availability: false<br>pretty_permalinks: true<br>current: 2024-09-04T08:31:50+00:00<br>utc-time: Wednesday, 04-Sep-24 08:31:50 UTC<br>server-time: 2024-09-04T02:31:50-06:00<br><br>### wp-database ###<br><br>extension: mysqli<br>server_version: 8.0.28<br>client_version: mysqlnd 8.2.22<br>max_allowed_packet: 67108864<br>max_connections: 400<br><br>### wp-constants ###<br><br>WP_HOME: undefined<br>WP_SITEURL: undefined<br>WP_CONTENT_DIR: /var/www/wp-content<br>WP_PLUGIN_DIR: /var/www/wp-content/plugins<br>WP_MEMORY_LIMIT: 64M<br>WP_MAX_MEMORY_LIMIT: 512M<br>WP_DEBUG: false<br>WP_DEBUG_DISPLAY: false<br>WP_DEBUG_LOG: false<br>SCRIPT_DEBUG: false<br>WP_CACHE: false<br>CONCATENATE_SCRIPTS: undefined<br>COMPRESS_SCRIPTS: undefined<br>COMPRESS_CSS: undefined<br>WP_ENVIRONMENT_TYPE: production<br>WP_DEVELOPMENT_MODE: undefined<br>DB_CHARSET: utf8mb4<br>DB_COLLATE: utf8mb4_general_ci<br><br>### wp-filesystem ###<br><br>wordpress: not writable<br>wp-content: not writable<br>uploads: writable<br>plugins: not writable<br>themes: not writable<br>fonts: writable<br>mu-plugins: not writable<br><br>### jetpack ###<br><br>site_id: 147862304<br>ssl_cert: No<br>time_diff: false<br>version_option: 13.7:1724264444<br>old_version: 13.6:1724264444<br>public: Public<br>master_user: #1 redacted<br>is_offline_mode: off<br>is_offline_mode_constant: off<br>current_user: #12345678 redacted<br>tokens_set: Blog <br>blog_token: zs7&99niO&x6RDay61!s55Q#3L8hY9Sc<br>user_token: Not set.<br>version: 13.7<br>jp_plugin_dir: /var/www/wp-content/mu-plugins/jetpack-13.7/<br>plan: complete<br>protect_header: false<br>full_sync: {"started":"Wed, 03 Jul 2024 16:41:47 +0000","finished":"Wed, 03 Jul 2024 16:41:49 +0000","progress":{"options":{"finished":true},"functions":{"finished":true},"constants":{"finished":true},"users":{"total":0,"sent":0,"finished":true,"last_sent":"~0"},"network_options":{"finished":true}},"config":{"options":true,"functions":true,"constants":true,"users":[145565787],"network_options":true}}<br>sync_size: 1<br>sync_lag: 3 seconds<br>full_sync_size: undefined<br>full_sync_lag: 0 seconds<br>idc_urls: {"home":"https:\/\/redacted.com","siteurl":"https:\/\/redacted.com","WP_HOME":"","WP_SITEURL":""}<br>idc_error_option: false<br>idc_optin: false<br>cxn_tests: All Pass.<br><br>### acf ###<br><br>version: 6.3.5<br>plugin_type: PRO<br>activated: false<br>activated_url: undefined<br>license_type: undefined<br>license_status: undefined<br>subscription_expires: undefined<br>ui_field_groups: 1<br>php_field_groups: 0<br>json_field_groups: 49<br>rest_field_groups: 0<br>post_types_enabled: true<br>ui_post_types: 22<br>json_post_types: 0<br>ui_taxonomies: 12<br>json_taxonomies: 0<br>ui_options_pages_enabled: true<br>ui_options_pages: 0<br>json_options_pages: 0<br>php_options_pages: 4<br>rest_api_format: light<br>registered_acf_blocks: 0<br>blocks_per_api_version: <br>blocks_per_acf_block_version: <br>blocks_using_post_meta: 0<br>preload_blocks: true<br>admin_ui_enabled: false<br>field_type-modal_enabled: true<br>field_settings_tabs_enabled: false<br>shortcode_enabled: true<br>registered_acf_forms: 0<br>json_save_paths: 1<br>json_load_paths: 1<br><br>### parsely (18) ###<br><br>apikey: redacted.com<br>content_id_prefix: undefined<br>use_top_level_cats: false<br>custom_taxonomy_section: category<br>cats_as_tags: true<br>content_helper: <br> ai_features_enabled: 1<br> smart_linking: Array<br> title_suggestions: Array<br> excerpt_suggestions: Array<br>track_authenticated_users: true<br>lowercase_tags: true<br>force_https_canonicals: true<br>track_post_types: <br> 0: post<br> 1: recipes<br> 2: contests<br> 3: diy<br> 4: tips<br> 5: product-reviews<br> 6: deals<br> 7: headers<br> 8: news<br>track_page_types: <br> 0: page<br>full_metadata_in_non_posts: false<br>disable_javascript: false<br>disable_amp: false<br>meta_type: repeated_metas<br>logo: https://redacted.com/wp-content/uploads/2012/1/logo.jpg<br>disable_autotrack: false<br>plugin_version: 3.16.4<br><br>
Some identifying elements have been redacted but I don’t believe they will affect your analysis.
I use this plugin on many different sites and would like to get to the bottom of this issue. The only related info I can find is in this ticket, but unfortunately removing and reinstalling has not helped.
Thanks in advance!
]]>I am running a network of sites using WordPress multisite and so far only the root site is getting emails, but none of the other blog sites are sending email. We are using the Local link checker. Is this by design or can you help point us to a solution? We have checked that our crons are running and our site and server is sending mail.
Thank you!
]]>Zendesk uses Cloudflare DDoS protection and reCAPTCHA, and this results in a “403 forbidden” error when bots scan Zendesk URLs.
Is there a workaround for Google’s reCAPTCHA service, similar to the way that Broken Link Checker can enable successful YouTube link scanning via API, which is also a Google service?
I’m guessing that maybe this is just a known bug with the Broken Link Checker plugin, where it fails with a 403 forbidden error for sites that use Cloudflare DDoS protection and reCAPTCHA, but I’d love to be wrong about this.
Edit: It seems that there’s a related support issue that I didn’t find previously because I searched this support forum for “Zendesk”, and found no matches.
In that forum, Adam (@wpmudev-support8) mentioned that the team was looking into possibly getting whitelisted as a “good bot”, about 1.5 years ago.
That topic closed with a suggestion to whitelist the affected domain, but this doesn’t solve the problem because whitelisting a domain means that the Broken Link Checker plugin will fail to scan the domain for broken links.
]]>I’m getting endless false broken link warnings from Broken Link Checker. I go through the exercise of checking each link, and it’s always fine. I think out of many dozens of BL warnings, I had only one that referenced an actual broken link.
Not exactly sure what the problem is, though Patrick did mention to me that “…the plugin uses the server IP to ping the links, [and] sometimes the IP is blocked on the link destination causing the false positive.” Since I’m a relative newb, I’ve probably done something myself to cause the problem, but I’ve no idea how to correct it.
Looking forward to finding a solution.
Thanks.
]]>I’m getting a lot of broken links with articles from [email protected]. The link works fine when I check it, but BLC says the author page is 403 Forbidden. this is only happening with author pages on [email protected].
Any thoughts on why this is happening?
Thank you.
https://www.ads-software.com/plugins/broken-link-checker/
]]>This continues for several weeks after the problem is fixed. The first time this happened with me, the URL was removed from the Redirects list after two months of the issue being resolved. And now it has happened a second time and I am still waiting for the URL to be marked OK.
https://www.ads-software.com/plugins/broken-link-checker/
]]>https://www.ads-software.com/plugins/broken-link-checker/
]]>I help run a WordPress multisite for a College. There are a few hundred sites.
At one point I installed https://www.ads-software.com/plugins/broken-link-checker/. Works great except when you are done using it there are hundreds of tables in the database. I’m estimating that I can shave about 70MB off of the existing 300MB database if I can remove all of these tables.
So, there is the question – Does anyone know of an sql script that I use that will automatically find tables that include ‘_blc_’ in the name and will automatically drop that table?
Thanks in advance!
]]>