Official WordPress Troubleshooting Guide
Full WordPress Crash After Plugin/Theme Activation
If after activating a plugin or theme your WordPress is responding with a blank white screen or an visible server error message, that prevents WordPress from rendering content (backend and/or frontend), you should immediately deactivate the plugin or theme you just activated.
If the error is so severe that you don’t even have access to your WordPress admin section anymore, not all is lost, as you can forcibly deactivate the plugin or theme via any FTP client and FTP server access. In your FTP client software, navigate to the folder on your server, where you installed your WordPress setup. There, you will see a sub-folder “wp-content”. Opening that folder will reveal multiple sub-sub-folders, and two of those are named “plugins” and “themes”:
If your problem was caused by a plugin, you open the “plugins” folder, which will give you a list of more folders, each folder representing one of the plugins you installed, no matter whether that plugin is activated, or not. Simply find the folder that belongs to the plugin that caused the site crash (each folder name is unique to the plugin) and rename that folder to something else. Just adding another character (for example a “+” or “-” character) to the end of the existing folder name will do the trick. After you renamed that folder, you should be able to open your WordPress admin again and the plugin will automatically be listed as deactivated, once you revisit the plugin listings page in WordPress. Once you have done that, you can restore the old folder name for the plugin, and the plugin will remain deactivated. The same procedure applies to themes, only that you do it in the “themes” folder instead.
Other WordPress/Pages/Posts/Plugins/Theme Issues
If your site is still working, but some parts don’t render correctly or acting differently, there might be a conflict between two or more plugins and/or your theme. It can be as simple as a JS conflict or error, or more complex like PHP coding errors. There are ways to discover what those errors are, but they might require some additional plugins or changes to your WordPress setup.
Finding the Problem
As a first step, I recommend installing the free “Query Monitor” plugin, which you can obtain from the public WordPress repository:
This plugin will monitor your site (while logged in as admin) and will show you all encountered PHP warnings or errors that might explain the issues you encountered. In order to get information about any potential JS errors/warnings, simply open your browser console (press “F12” on your keyboard) and select the “Console” tab. For some browsers (i.e. FireFox), you need to reload the page one more time, after enabling the console, before any errors/warnings can be shown. Whenever a error is found, the console will also tell you which file exactly triggered the error, along with the file path, so you can trace it back to which plugin or theme was loading/using that file.
If your server is maintaining an active error log from the server side (check your CPanel or whatever online software your hosting service is providing to you in order to access the server and make changes to the site/domain), it might already contain information about what exactly triggered the error. If your server is currently not maintaining such a file, inquire with your hosting company how one could be set up, as it is incredibly useful.
You can also set your WordPress itself to take a more active role in debugging and error solution, and the official WordPress documentation includes information about how to do just that:
Once you have made those changes and WordPress is maintaining its own error log (although it won’t be as detailed as a server error log), there are additional plugins that make it easy for you to “read” the error log from within the WordPress admin section, for example, this one
Most Common Reason(s) For Crash Or Problems
Aside from improper coding that results in JS or PHP errors, the most common reason why your WordPress is crashing or not functioning correctly is simply the lack of sufficient PHP memory allocated to your site. WordPress itself, and each active plugin and theme require memory from your server in order to work, and that memory is not available limitless, but has very specific limits, depending upon your hosting company, hosting plan, and general server setup. A separate article about PHP memory can be found here:
The query monitor plugin mentioned above will also help you in monitoring how much memory your WordPress is using on any given page (backend + frontend; while logged in), but no plugin can tell you how much memory your server really provides. It is only possible to retrieve how much memory you might be requesting from your server.
Another cause for problems can be the fact that two or more of your active plugins and/or your theme are using different versions/releases of the same external libraries (JS/CSS) or PHP helper classes, that are not always compatible with each other. Since one plugin/theme can’t know what another is doing, it can’t be avoided that those competing versions are sometimes loaded at the same time. Of course, plugin/theme authors are supposed to ensure that the most current libraries are used, but sometimes, that simply isn’t the case.
With PHP helper classes, the issue is a little more complex, as each helper class can only be loaded once (if properly checked for), based on which plugin/theme is attempting to load it first. So if one plugin is loading a newer/outdated class that is not compatible to the outdated/newer class of the same type that another active plugin requires, something will inevitably fail on your site.