• Resolved mvbaxter

    (@mvbaxter)


    Our website is behind a firewall. So, you won’t be able to check the link provided.

    After my last message, I thought our sites were being updated properly. Unfortunately, I have since found more issues for which I would appreciate clarification/validation:

    • Question: Has Broken Link Checker been tested on sites running Wordfence for security? I am wondering if there might be a conflict between Wordfence and BLC that prevents our automated notifications from your plugin.
    • I started checking the Debug Info for several sites and found none were actually running. I found “0” in “Sync. Records”, “Unparsed Items”, and “Link Records”. Then, I stumbled upon the “Re-check All” (Nuclear option) button. Once I clicked that button, the individual site started scanning pages again.
      Question: Is there something the “Re-check All” button is doing that I could accomplish programmatically, for all 125 sub-sites in our network?
      If there is something I could do with a MySQL Procedure, or a simple admin plugin file (that I would create), we would save tons of time. I’d hate to ask my staff to manually go through the navigation to “Settings”, then “Advanced”, just to push that button over 125 times.

    I have installed and configured WP SMTP Mail. We are receiving notifications from several other plugins. I was able to change the “From” address and noted that all the other plugins started delivering messages using the new FROM address. However, I still do not appear to be getting notifications from BLC.

    Since I just got a handful of sites scanning again (as described above), I am also wondering…

    Question: Should I expect notifications to be sent for broken links found while I am using the Admin Panel (running continuously, while signed in) and monitoring the progress of BLC? Or, does it only send notifications when running unattended?

    Thanks, in advance for your advice and assistance! I look forward to getting BLC back up and working again asap.

    The page I need help with: [log in to see the link]

Viewing 14 replies - 1 through 14 (of 14 total)
  • Thread Starter mvbaxter

    (@mvbaxter)

    While investigating, I installed WP Cron to see what might be going on in the background. I found something interesting regarding BLC (https://ibb.co/F337Sk0). The WP Cron entry for blc_schedule_sync_scan_results shows no actions to be taken. Not sure if this is helpful, but thought I’d include it, in case.

    Plugin Support Kris – WPMU DEV Support

    (@wpmudevsupport13)

    Hi @mvbaxter

    I hope you are doing well today.

    It will be not easy to test BLC with Wordfence or any other firewall plugin on the market due to ongoing core updates of those plugins, which can cause any kind of conflict at any point of those updates and a simple test to disable Wordfence for a while should give better results if there is a conflict or not.

    If there are any scan issues we always recommend those in the first place:
    https://wpmudev.com/docs/wpmu-dev-plugins/broken-link-checker/#broken-link-checker-user-agent
    https://wpmudev.com/docs/wpmu-dev-plugins/broken-link-checker/#broken-link-checker-ip

    Following your queries and additional message it seems that something blocks the BLC cron job. Note this could be not related to Wordfence but any plugin which is installed on your site. To be more clear: each site is different as it possibly uses different plugins or themes. In the WP repository, there are over 60,000 plugins, and some of them possibly exist on that site. Taking this into account, with each update there is a risk of new potential conflicts.

    When it comes to “Re-check All” button I pinged our BLC Team to check that, but as said above, this could be issue with cron job blocked by something from the site.

    ====

    Question: Should I expect notifications to be sent for broken links found while I am using the Admin Panel (running continuously, while signed in) and monitoring the progress of BLC? Or, does it only send notifications when running unattended?

    Notification should be sent as soon scan is done, no matter if you’re logged in or not (in case or scan schedule is based on the cron job).

    ====

    Are you able to make a simple test on the same server with other empty site and only BLC/SMTP plugins installed and see if those notifications will be sent?

    Kind Regards,
    Kris

    Thread Starter mvbaxter

    (@mvbaxter)

    I configured a separate site, but before I could turn off any other plugins, I cleared out and reset all the BLC settings. Then, I ran a check using the “Recheck All” button. Below is the result … hoping it is helpful. Meanwhile, I will work on disabling the other plugins to see if I can find more clues. I have NOT found any errors in the PHP Error log.

    • PHP version: 8.0.30
    • MySQL version: 8.0.36
    • CURL version: 7.61.1
    • Snoopy: Installed
    • Safe mode: Off
    • open_basedir: Off
    • Default PHP execution time limit: 600 seconds
    • Database character set: DEFAULT CHARACTER SET utf8mb3 COLLATE utf8_general_ci
    • Resynch. flag: 0
    • Synch. records: 12
    • Link records: 89 (92)
    • Last email notification: Never
    • Last email sent: “” on 2025-01-08 23:42:10 UTC (failure)
    • Installation log: No installation log found found.
    Plugin Support Imran – WPMU DEV Support

    (@wpmudev-support9)

    Hello @mvbaxter,

    I hope things are going well for you.

    Regarding the Third Question about

    However, I still do not appear to be getting notifications from BLC.

    Are you trying the Broken Link Checker Cloud version? In that case, the email is sent from the WPMUDEV HUB.

    Question: Is there something the “Re-check All” button is doing that I could accomplish programmatically, for all 125 sub-sites in our network?

    I checked on my multisite. The “Re-check All” button only work for the subsite Level. We are still checking with The BLC team to check if find a way to trigger to all the subsite at once.

    We will update you on this topic once we get any update from the team.


    Thanks & Kind Regards,
    Imran Khan

    Thread Starter mvbaxter

    (@mvbaxter)

    We are running a self-hosted Multisite setup behind a firewall for which I could not obtain permission to allow BLC Cloud to operate. So, we are using the “local” version.

    I have disabled WordFence and WP Super Cache on one of our sites that is currently showing multiple broken links. I also confirmed that other plugins are able to send emails successfully. Then, I wrote a really simple test snippet to wp_mail() send an email to my Webmaster inbox every time WP Cron is fired. I received that email several times.

    To make matters even more frustrating, I got 1 email from BLC while testing one of over 125 sites. Nothing since. So, I resolved the original broken link, but created a new one for that site where I received the initial email. I also set the schedule to run every 24hrs. I am waiting to see if I get another email from THAT site, even when I am not actively logged in and looking at the BLC Settings page (as I was last time I got an email).

    I wish I could figure out how I got that ONE email through, but nothing from any of my other sites. WordFence and WP Super Cache were “Network Activated” when the only email was delivered. So, I’m not convinced it would have anything to do with those plugins.

    Also, the process last ran reliably (and sent email reliably) when we were hosted on Windows Servers. Everything seemed to halt when we migrated to Linux servers. The rest of WordPress runs better on Linux. Emails are more reliable from other applications, and from other WordPress plugins… But, not from BLC.

    Please let me know if there is more data I can provide your team. Would it help if I could send you the debug logs “blc-log.txt”?

    Thanks for any assistance you can provide!

    Plugin Support Zafer – WPMU DEV Support

    (@wpmudevsupport15)

    Hi @mvbaxter,

    I hope you are doing well today!

    Please let me know if there is more data I can provide your team. Would it help if I could send you the debug logs “blc-log.txt”?

    We appreciate if you can, please also share your Site Health report which you can get from the WordPress admin dashboard Tools->Site Health->Info->Copy site info to clipboard

    Please also confirm that if you have tested only with WordPress wp_mail() function or used SMTP plugins as well.

    You can share the file contents with us using the free services such as Google Drive (public folder), https://pastebin.com or https://justpaste.it

    Kind regards,
    Zafer

    Thread Starter mvbaxter

    (@mvbaxter)

    Sure hope this helps! I setup one of our sites without any of the firewall or security plugins enabled. That site is set to check every 24hrs. Then, I re-saved all settings and clicked the “Re-check All”. I did not receive any notifications when I clicked the “Re-check All” button, despite the display showing several broken links. So, I am currently awaiting another test result.

    Also, to answer your question, I have the plugin “WP mail SMTP” enabled for the BLC test. I ran the other test plugin with that enabled. Then, reset and re-ran the test with “WP Mail SMTP” disabled. Using my simple tester plugin, I received notifications both ways. I also have Quforms running on several sites. That has been delivering mail daily, with or without the “WP Mail SMTP” plugin. I verified that the email ran through “WP Mail SMTP” by enabling “Force from” fields and setting a different name and email than the site admin. That worked as expected.

    I am still puzzled how I got a single email notification from one site using BLC, but not from others. Also, that single email notification is the only one to come from that site in over a year, and we haven’t received any since that one time. Confusing, since I haven’t made any changes to that site in months.

    Health Check: https://pastebin.com/646jfjPB

    BLC Log file: https://drive.google.com/file/d/1hOvAcf2vaEVOIttQK5lsH3wUl_HHjKqn/view?usp=sharing

    Thread Starter mvbaxter

    (@mvbaxter)

    I’m not sure this has anything to do with my issues, but I found some warnings in the PHP Error log:

    https://pastebin.com/PDWm3tXC

    Plugin Support Nebu John – WPMU DEV Support

    (@wpmudevsupport14)

    Hi @mvbaxter,

    I hope this message finds you well.

    The PHP warning is unlikely to affect the website’s functionality. However, the warnings indicate that specific lines of code in the Broken Link Checker plugin are attempting to access an array key named “subject” and “timestamp” that does not exist in the array at that point in the code execution.

    I couldn’t find any similar issues reported on our end, and I was unable to replicate the issue on a test website.

    Generally, these warnings can often occur due to conflicts. However, could you please try reinstalling the Broken Link Checker plugin to see if that resolves the issue?

    I was unable to notice any mention of a complete conflict test being performed. If it hasn’t been done yet, could you please perform a full conflict test and share the results with us?

    Do you have Email Logs enabled for your website? If so, could you check if there are any errors recorded in the logs related to the Broken Link Checker notification email?

    Here is a plugin that can help with this: https://www.ads-software.com/plugins/email-log/

    We look forward to hearing back from you and helping you diagnose this issue further.

    Kind Regards,
    Nebu John

    Thread Starter mvbaxter

    (@mvbaxter)

    I have done a full conflict comparison, and everything else previously suggested. Finally, I dug into your code and I think I’ve identified the issue.

    After adding several error_log statements to notify me via email when key points were reached, I narrowed it down to the following:

    … In {blc_path}/legacy/core/core.php you are using the following “if” statement to determine whether to send email notifications:

    if ( ! WPMUDEV_BLC\App\Options\Settings\Model::instance()->get( 'use_legacy_blc_version' ) ) {

    Looking at that get() function, I found the following, which appears to return a “false” for any subsite trying to use Legacy … preventing emails from being sent on subsites of a Multisite network:

    In class-model.php:

    public function get( string $settings_key = null, string $option_name = null, $default = null, bool $force = false ) {
    if ( Utilities::is_subsite() && 'use_legacy_blc_version' === $settings_key ) {
    return false;
    }

    • This reply was modified 1 month, 2 weeks ago by mvbaxter.
    Thread Starter mvbaxter

    (@mvbaxter)

    Once I have updated the “IF” statement above, automated notifications began being delivered.

    That brings me back to one of my first questions: “How can I perform the same functions as clicking the “Recheck All Pages” button, automatically, for all 125+ sites?

    It would appear the answer is to use CURL to call the same PHP URL and pass the same parameters as clicking that button. However, I think the use of a nonce will prevent me from doing that.

    Would you please verify that? And, let me know if there is a clever way to initiate a full recheck programmatically?

    Thank you!

    Plugin Support Kris – WPMU DEV Support

    (@wpmudevsupport13)

    Hi @mvbaxter

    I passed your observations and main query to our BLC Team once more. We will post an update here as soon as more information is available.

    Kind Regards,
    Kris

    Plugin Support Kris – WPMU DEV Support

    (@wpmudevsupport13)

    Hi @mvbaxter

    I have some updates from our BLC Team and developers.

    When it comes to the findings you have shared we made an improvement task for that matter and future updates should contain a fix for that on multisite installations.

    When it comes to those 125+ sites, please note each subsite has its own default cron schedule though to run every 72 hours.

    If you would like to have an additional button to trigger scan on all subsites, this is not possible and this will be outside the scope of support to provide such a thing. For that, you’ll need to hire a developer to provide the required custom code for you. WordPress provides a jobs directory here https://jobs.wordpress.net/, if you need further advice about it, feel free to email [email protected].

    – Subject: ATTN: WPMU DEV support – wp.org
    – Link back to this thread for reference (https://www.ads-software.com/support/topic/nuclear-option/)

    Kind Regards,
    Kris

    Plugin Support Nebu John – WPMU DEV Support

    (@wpmudevsupport14)

    Hi @mvbaxter,

    I wanted to update you on the improvements. Since they require changes to the plugin code, we’ve already reported it to our developers. However, we’re unable to provide an estimated release time for the improvement at this moment.

    Additionally, we haven’t heard from you in a while. Hence, I’ll go and mark this thread as resolved. If you have any additional questions, please let us know!

    Best Regards,
    Nebu John

Viewing 14 replies - 1 through 14 (of 14 total)
  • You must be logged in to reply to this topic.