Forum Replies Created

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

    (@mvbaxter)

    Unfortunately, that DOES NOT help.

    I need broken links to appear broken. However, if I click “Dismiss”, I would expect that formatting to be removed. Otherwise, I would have resolved the broken link in some other way.

    It simply makes no sense that the Local version has no way to mark a link as “Not Broken” and “Do not recheck” at the same time. That is what I thought “Dismiss” would do. Like “Ignore” in other applications.

    It would appear the only way to achieve that is for me to customize your plugin and remove the headers that would allow a future update to overwrite my customization.

    Does that seem to agree with your assessment?

    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!

    Thread Starter mvbaxter

    (@mvbaxter)

    Thank you! That appears to have fixed the problem.

    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 year, 4 months ago by mvbaxter.
    Thread Starter mvbaxter

    (@mvbaxter)

    Here are the screen captures of the broken link issues I reported at the top of this thread:
    https://justpaste.it/ek6d1

    Security will not permit BLC bot to scan our site. That is not an option, but thank you for suggesting it.

    I would prefer if one of your links (preferably the “Dismiss” link) would automatically set the “May Recheck” flag to false. I think it is a terrible misstep, and possibly a means of forcing more sites to Cloud, that your “Dismiss” link does not already do that. When I “Dismiss” something, I don’t want it to continue looking broken, and I certainly do not want it showing up broken again tomorrow.

    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

    Thread Starter mvbaxter

    (@mvbaxter)

    The site I’m using for this test does not have a cache setup. I turned off the Cache and Firewall plugins to troubleshoot, along with several other steps, before submitting a help request.

    I have another topic running, so I already have our site’s Health Check, which should provide you the rest of your information, but we are running BLC V2.4.2. We are using “local” because our firewall prohibits inbound connections, and I cannot get an exception from our Security team.

    I found a way to prevent the re-checking of broken links, but it is not a viable long-term solution. I manually edited the record in MySQL and set the following flags:

    May Recheck = 0
    False positive = 1
    Dismissed. = 1

    That appears to have done it. I would really like a way for my primary webmaster to be able to do the same from BLC Dashboard.

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

    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)

    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!

    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.
    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.

    Thread Starter mvbaxter

    (@mvbaxter)

    Thank you for your response. It appears I have fixed this through several updates:

    • I Installed WP Mail SMTP
    • Added the default email address to the email address field.
    • Used MySQL to remove all previous settings left-over from the original version (before cloud was an option), and reconfigured the first of over 100 Subsites. Then, I used a MySQL stored procedure to copy those settings to the remainder of our sites.

    Somewhere between these three updates, notifications started being delivered again.

    Might I suggest that Ecwid Plugin be given a couple of updates to satisfy those like @ext237 and myself, who are used to really customizing a lot of customer sites?

    • An admin panel area with custom CSS references for various parts of the Ecwid presentation. This panel could list the various display items by their common descriptive names, then translate those programmatically to whatever class or ID your developers currently use. That would permit customization of the back-end features with far less interruption to front-end customizations.
    • An admin panel area for custom JS, with documented examples of which pieces and parts are acceptable for customization within your framework. Quform provides documentation with sample code snippets, AND a full API reference for similar customizations.
    • Add several action and/or filter hooks to various portions of the output and/or workflow. This would permit customizations at safe and documented points controlled by your developers. Such a filter would allow me to add custom options to various controls (like the Date Picker), without having to pick through your classes with jQuery (or similar framework). Provided with sufficient hooks, we custom developers would have very little need to perform undocumented modifications. Instead, we would follow a model very similar to WooCommerce and their hundreds of third party plugins, and plugins to plugins, and themes.

    Understanding that these suggestions are not overnight remedies, and would require a full regression test prior to deployment; I think they would go a long way toward improving the extensibility and reputation of your plugin. This would make it easier for customizers to promote your plugin, and by extension, all of your services.

    Just a suggestion…

    Thread Starter mvbaxter

    (@mvbaxter)

    Wow, that was fast! Thank you very much.

    Thread Starter mvbaxter

    (@mvbaxter)

    You can download my modified version of this plugin here:
    http://baxterfun.com/uploads/woocommerce-oscommerce-import.zip

    Sorry, but I didn’t put much effort into documenting my changes. You’ll see the code indicated above within the .php file. I also haven’t added the field to indicate where the files are located. I didn’t see myself using this often enough to justify the effort.

    To answer your question regarding where the files to … They go to your configured wp_upload_dir folder, so they blend with your other graphics, just as they would if you manually uploaded them.

    Good luck!

Viewing 15 replies - 1 through 15 (of 21 total)