Press "Enter" to skip to content

Bug Report [Fixed]: WordPress Plugin “miniOrange Broken Link Checker” syntax errors

In an effort to prove to myself that I am actually trying to do work this month, I’m making a note of all the bugs in 3rd party software I find.

Today is a bug reported the developers of the miniOrange Broken Link Checker | Finder WordPress Plugin on the 11th June 2022 through the WordPress plugin forum about database syntax issues being caused in the version 2.1 of that plugin.

Initial Bug Report

I’ve noticed on my error log on my WordPress 6.0 install with WooCommerce 6.5.1, PHP 7.4.29 and MariaDB 5.5.5-10.6.8 as the database – I’m getting a lot of SQL syntax checks from this version 2.1 of the miniOrange Broken Link Checker/Finder:

WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 's Cloth size chart','404', '0s'), ('d92860bc9a2845a22d68e0e7e6038274', 'https:/...' at line 1 for query INSERT INTO XXXX_moblc_link_details_table (`link_hash`, `link`,`page_title`, `status_code`,`loading_time`) VALUES ('81beabf2527fbd2ad963ce1a0357c91d', 'https://example.com/ wp-content/ plugins/woo-advanced-product-size-chart/ admin/images/default-chart/cloth_size_chart.png', 'Women's Cloth size chart', '404', '0s'), ('d92860bc9a2845a22d68e0e7e6038274', 'https://example.com/ wp-content/ plugins/ woo-advanced-product-size-chart/ admin/ images/default-chart/ mens-shoes-size-chart.png', 'Men's Shoes Size Chart','404','1s'), ('7e409ab4a7f0599289e10a694d02fe17',' https://example.com/ wp-content/ plugins/ woo-advanced-product-size-chart/ admin/ images/ default-chart/women-shoes-size-image.jpg','Women's Shoes Size Chart','404','0s') ON DUPLICATE KEY UPDATE `status_code`= VALUES(status_code); made by do_action_ref_array( 'moblc_scan_cron_hook' ), WP_Hook->do_action, WP_Hook->apply_filters, MOBLC_Cron->moblc_scan_cron_hook_exec, MOBLC_Cron->check_links_from_pages

Any ideas of the fix?

Initial reply

Just over a week later, on the 20th of June at 11:01, I got a reply:

Thank you for pointing out the issue.

We have resolved this issue in our latest version of broken link finder/checker – 2.3

We have also introduced the following new features in the broken link finder plugin which will help you to maintain and improve the site’s SEO.

1. Improved Cloud scan for dead links, broken Images, broken videos, etc.
2. Edit broken links/posts/pages and remove/fix broken links.
3. Filter report according to response type of broken links.

Please update your plugin to the latest version and let us know if you are facing that issue anymore.

It looks like version 2.3 of Broken Link Checker | Finder resolve that issue (although, to be honest, I had already gone back to WPMU Dev’s Broken Link Checker), but there were more problems.

Follow-up

After testing, I replied at 21:20:

I think that’s working – however, the following problems have occurred:

* Unable to drop SQL Column

[20-Jun-2022 20:51:42 UTC] WordPress database error Can't DROP COLUMNlink_hash; check that it exists for query ALTER TABLE xxxxx_moblc_link_details_table DROP COLUMNlink_hash, DROP COLUMNloading_timemade by require_once('wp-admin/admin.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('plugins_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, MOBLC->moblc_update_db_check, MOBLC_DATABASE->moblc_migration

* Incorrect bad link count reported
Although the link checker is still currently running (and has been for nearly an hour), it’s still not produced any results. The link checker Dashboard says “Your website is getting scanned for broken links. Found 14 broken links.”, but when I click on that link and am taken to the Links page, it is an empty table with “Showing 0 to 0 of 0 entries”.

* Scanning of unwanted sections
I turned on the debug log, and looking at the entries I see it’s been through the pages and the WooCommerce products, but it’s also working it’s way through:
* The default charts provided by the plugin “product-size-chart-for-woo” (even though those do not appear anywhere for me)
* All the WP Json links (/wp/v2…) – including the block pattern library at /wp/v2/block-patterns/patterns : so far it’s found 55 of those pages (which outnumber the number of pages and products on my site!)

The WP block patterns have multiple references to external files (some 25+) so they’ll take ages to validate 🙁 Lots of checks for something I don’t use and don’t have much control over.

* Incorrect wording on “My Account” page
Oh, and I notice on the “My Account” page it says “Just complete the short registration below to configure miniOrange 2-Factor plugin.”

* Annoying banner
The “Cron is disabled. Please enable the cloud scan to scan your site.” banner is constantly at the top of the site – even though I’ve got the server crontab set to run every minute (so it’s probably getting refreshed more often then if I did have cron enabled).

I’ll try and check back tomorrow if the scan has finished to let you know if there are any other issues.

and

Here’s the follow up-

After running, it seems to have completed around 22:23 with 0 dead links found… Checking the xxxxx_moblc_link_details_table table shows 17 links listed (2 external, 1 external to WordPress on the “/wp/v2/block-patterns/patterns” page, 4 on “/ithemes-security/rpc/” pages and the remainder being demo entries of the “woo-advanced-product-size-chart” plugin (had the wrong plugin name earlier: I removed that plugin some time ago).

For the record, IThemes security creates posts with post_types of “itsec-dashboard” and “itsec-dash-card” and woo-advanced-product-size-chart uses “size-chart”

The xxxxx_moblc_scan_status_table table is completely empty.

However, I do see 10x 404 errors in my server log from WordPress where it tried checking the woo-advanced-product-size-chart links so something was running.

I’m going back to using WPMU’s Broken Link Checker as the miniOrange one just seems too broken in its current state to be useful for me.

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.