Troubleshooting most WordPress Issues

The vast majority of support requests we receive are either about WordPress or email. This is not entirely surprising as most of our clients run WordPress sites and most also use our email services.

We are always happy to help so please do not hesitate to reach out to our support if you are having issues with your site. At minimum we can point you in the right direction and in most cases we are able to identify and resolve the issues our clients are facing even if they are not server or network level. Most issues we solve are content based but we are still happy to help!

From our experience the most common issues here lately are due to the WordPress core or Plugins updating and not supporting the version of PHP an account is set to. We just now solved an issue for a client where they were getting the “There has been a critical error on your website. Please check your site admin email inbox for instructions,” message.

In this case, and many others, we don’t generally have access to the administration email for the site so we simply enable WordPress Debugging. The process for this is fairly straightforward.

  1. Using your favorite method for editing files – be it the File Manager in your control panel or downloading the file via FTP and editing it locally – open up your “wp-config.php” file. This file is located in the base folder of your WordPress Installation.
  2. Inside of the WordPress Configuration file you will generally find a line like the one just below and you will want to change “false” to “true”:
define( 'WP_DEBUG', false );
  1. Reload the website and/or reproduce the error. In many cases you will get get a verbose error that tells you which file is having the issue. You can usually identify the plugin or theme causing the issue based upon the error.

In the instance from just before writing this post the error we were seeing was:

Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) in /home/redacted/public_html/wp-content/plugins/woocommerce/vendor/symfony/polyfill-php80/bootstrap.php on line 29

So in this case the issue is with the WooCommerce plugin. When looking at line 29 of the referenced file we saw nothing wrong although the syntax for this line is not compatible with any version of PHP older than 7.4:

function str_contains(?string $haystack, ?string $needle): bool { return p\Php80::str_contains($haystack ?? '', $needle ?? ''); }

As there was nothing obviously wrong with this line of code – the line is intact with no obvious errors we suspected the PHP version may be at fault.

We checked the version of PHP the account was assigned to and found it on version 7.0. Moving the account to version 7.4 or newer resolved the issue and allowed the site to function as expected.

It’s very common for automatic updates, or even manual ones, to update a plugin, theme, or even the core installation to a version that does not support older versions of PHP. This is but just one example but most issues share the same initial troubleshooting steps.

Steps that you may take to investigate the issue would be to set a default theme, to disable plugins, or to even roll back the installation to a backup from when the site was known to be functioning. We do suggest taking a current backup before doing that.

If you ever have issues with your WordPress site, or any site you host with us, please don’t hesitate to reach out to our support for assistance. We have decades of experience when it comes to investigating and troubleshooting issues with websites and while we can’t make promises that we will resolve your issues we’ll do our absolute best!