Troubleshooting using the Health Checker

When providing support, the most used (and most reliable) way to determine the root of an issue is by disabling plugins. We often have the problem that users do not wish to do this, or claim they have without any apparent effect.

Those claiming to have tested things, we can’t really do anything about, but those who do not wish to disable plugins often have a legitimate claim: They do not wish to cripple their website for visitors.

After working on a solution to test what plugins may be affecting loopbacks in WordPress, the procedure was expanded, and a new feature was introduced:

Troubleshooting mode

This is introduced as a new tab in the Health Check screen, it has a fair amount of text informing users that all plugins will appear disabled to them, but they are in reality enabled for all site visitors still. To ensure the user understands that they are without plugins until they log out, they are required to check a box stating that they understand it, this is really just to try and avoid support requests in the nature of “I lost all my plugins”.

Troubleshooting mode disabled all plugins both on the front and back end of your site, this makes it ideal for testing things that affect places like the customizer, the post editor and so on, places where a plugin could easily cause some problems.

When the user sees that everything works as it should without plugins enabled, it is much easier to walk through and discover what plugin actually causes problems for them.

Two thing to take note of:

  • It intentionally disabled all plugins, including the health checker plugin (we admit that we are not without fault and perhaps some odd situation arises where it causes an issue)
  • Must Use (MU) plugins can not be disabled, to do so we would have to move them around, this would both impact site visitors, and may cause larger issue as they may contain data for controlling caches etc with hosts.

Once troubleshooting is completed, logging out and back in again will restore your dashboard to what it used to be, full of all your favorite plugins!

Loopback tests

For the sake of disclosure, the loopback tests have also been improved, these are used for WP_Cron to work as intended, and more recently also to allow the theme and plugin editors to check edits before saving them to avoid accidentally causing a White Screen Of Death (WSOD) on your site.

We initially just showed if these requests failed, but that isn’t very helpful, so now if it fails a button allows the user to test the loopback again, this time with all plugins disabled.

Of course, this is helpful, but not very finger-pointing-accurate, so it goes a step further, if the loopback is successful without any plugins active it will allow you to do a final test, where each individual active plugin is tested to see if it causes the loopback to fail, allowing us to pinpoint where there may be a problem.

Of course, there are exceptions, things may still fail even without plugins active, but at that point we can more accurately work on what steps to address next.