Whether you’re building a new WordPress website or applying updates to an existing one, troubleshooting issues can be a very time-consuming process. It can also be a bit risky – especially if you’re dealing with a live site (one more good reason to set up a staging environment, when possible).
In general, pinpointing a problem requires that we take the following steps:
- Switch to a default theme, such as Twenty Seventeen;
- Disable all plugins and reactivate them, one-by-one;
- After activating each plugin, refresh your site on the front end to see if the issue you’re dealing with appears;
These steps are necessary, as they will help you determine if your theme or one of the plugins you’re running is causing the fuss. But to do this on a live site, you’ll need to throw it into maintenance mode or face the prospect of allowing visitors to see your mess.
Fortunately, there is now a way to troubleshoot a site without the side effect of downtime. Thanks to the free Health Check plugin, you can perform the steps above in a manner that is confined to just your specific user account. Here’s how it works:
The WordPress Toolbox
Unlimited Downloads: 500,000+ WordPress Themes, Plugins, Templates & Design Assets
Let’s Get Healthy
Health Check was developed by the folks behind WordPress.org and can be thought of as an “official” plugin, much like Jetpack or BuddyPress. That means that it is both trustworthy and has plenty of collective knowledge when it comes to finding potential problems.
Still, as you activate the plugin and navigate over to
Dashboard > Health Check, you’ll receive a message stating that you should back up your site before performing any testing. While it’s unlikely that you’ll run into major problems, it’s always better to be safe than sorry.
With that disclaimer out of the way, you’ll see that the Health Check screen consists of a series of tabs – the first of which provides some general information about your site.
This data can be your first clue as to what may be causing some trouble. An incompatible version of PHP or MySQL, for example, could indicate that your web hosting server needs some work. WordPress.org also provides some helpful explanations regarding what is listed within this tab.
Think of the Debug Information tab as a complete laundry list for your website, with all the details included. Here you’ll find some general information regarding your install, a listing of all themes and plugins, server info, file permissions and a whole lot more.
While just about everything listed here is useful, the really good stuff is again server-related. Finding out some of the upload and execution limits can help you diagnose problems related to adding files. Seeing how much memory WordPress has available to it can give you a possible solution for a site that runs slow within the back end. Even seeing how much space your uploads folder is taking up can help you avoid running up against any storage limits.
And, should you need to share your site’s configuration with a technical support specialist (whether at WordPress.org or somewhere else), everything in this panel can be easily copied to your clipboard.
Now, we’ve come to the fun part! Health Check’s Troubleshooting Mode is really the must-have feature of the plugin. To activate it, visit the Troubleshooting tab, read through the brief instructions and click the “Enable Troubleshooting Mode” button to get started.
Upon entering this mode, you’ll notice that there is now a Troubleshooting Mode menu item in the “admin bar” at the top of the screen. Going here will let you enable plugins or themes as you go about the troubleshooting process. This is, of course, much more convenient than having to run to the Plugins or Themes page every time you want to make a change.
And, if you visit the front end of your site, you’ll see that it’s now using the default WordPress theme. While the initial sight of this may be disconcerting – no need to worry. Remember that you’re the only one viewing your website in this mode. All other visitors and logged in users (provided they aren’t using your login) will see everything as per usual. If you really want to be sure, visit the front end of your site in another browser while logged out.
While Troubleshooting Mode is incredibly helpful, there are a few things you’ll want to take note of:
- Any “must-use” WordPress plugins activated on your site will NOT be deactivated;
- If your regularly active theme uses custom fields, that data won’t display when using the default theme;
- When testing, certain features of your site that require plugins won’t work until you reactivate them;
Other Cool Bits
It is worth mentioning that Health Check also includes some additional goodies:
This is your standard
phpinfo() output that provides a complete look of your server’s configuration. It’s particularly useful for times when you need to know if a certain feature is enabled.
File Integrity Tool
For security’s sake, it’s important to know whether your core WordPress files are intact. This tool will compare your install against the current version of WordPress and alert you of any differences it finds. If there are differences, you may have some malware to clean up.
Mail Check Tool
This is a simple form that tests whether or not the
wp_mail() function is working on your site. Often times, site owners can have trouble receiving messages sent via contact forms. Using this tool will allow you to ensure that the web host itself isn’t the problem.
The beauty of Health Check is that it has taken an arduous task and made it both safer and more user-friendly. The next time you run into trouble with a WordPress website, it should be your first choice for troubleshooting. Just remember to take any necessary precautions first.
However, note that the plugin isn’t perfect and may not catch everything. As this is a tool in constant development, the WordPress.org team has been encouraging users to report any issues via the plugin’s support forum.
In all, Health Check represents a big leap forward when it comes to diagnosing a buggy WordPress website. It has the potential to save developers lots of time and headaches.