Articles, Troubleshooting, WordPress

How to Troubleshoot a WordPress 500 Error, White Screen of Death, and Page Not Found

Troubleshooting WordPress Errors

Your web hosting provider is not responsible for any themes or plugins that may cause issues or break your website. You will need to contact your theme provider or the developer of the plugin(s) to address any issues caused by a theme or plugin once you have identified what is causing the issue.

For a small fee of $80/hr (minimum one hour) our support team can help troubleshoot the issue for you. This does not guarantee a fix to your issue. We can help identify what may be causing the problem you are experiencing, but your webmaster or developer will need to address and fix the actual issue.

While using WordPress you may have encountered (or have yet to encounter) the many different error messages that can be caused by a theme, plugin, or mixture of both your theme and various plugins. The majority of the time you’ll find that a theme, plugin or mixture of plugins end up being the culprit that causes a 500 server error, White Screen of Death (WSOD), or Page Not Found on the front-end of your website and even prevent you from accessing and logging into the WordPress admin dashboard.

For PeoplesHost customers please check our status page to see if the server you’re on has any reported issues. If there are no reported issues then your webmaster or developer will need to follow these common troubleshooting steps to investigate and identify the problem.

To proceed, you will also need access to the control panel (cPanel) File Manager to follow the troubleshooting steps below.

If you forgot your cPanel login details you can view the Welcome email that was sent to you when you first signed up, which contains your hosting account information.

If you previously changed or updated your cPanel password and do not remember what the password is, you can update your cPanel password inside of your PeoplesHost billing account.

  1. Check WordPress Login Pages
  2. Rename Plugins Folder
  3. Rename Theme Folder
  4. Default WordPress .htaccess Rules
  5. Viewing the Error Log
  6. Replace Core WordPress Files
  7. PHP Compatibility Issues
  8. Check for Extra Space in the wp-config.php

1. Check the WordPress Login Pages

The first thing someone usually notices is a white page or 500 error on the homepage or an internal page or post. If you cannot access the homepage you will need to see if you can still access either of the two login pages replace yourdomain.com with your domain:

  • yourdomain.com/wp-login.php
  • yourdomain.com/wp-admin/

Often times a plugin or theme will break the front-end of your site, but you may still able to access and log into the WordPress admin dashboard. If neither of the WordPress login URLs work then you will need to continue the troubleshooting process.

2. Rename Plugins Folder

There are thousands of WordPress plugins to choose from in the WordPress marketplace. The majority of plugins are not developed or maintained by Automattic, the entity behind WordPress, rather plugins are developed and submitted to the marketplace by third-party (good and bad) developers, contributors, and enthusiasts around the world.

Not all developers are created equal. A plugin that you choose to use may or may not be compatible with numerous things that may or may not include your theme, other plugins and the PHP version you’re site is running on. This also applies to very popular plugins that have been around for many years, but still attract many users and get featured around the blogsphere. You can view a list of WordPress plugins not allowed on our shared environments.

Renaming your plugins folder will deactivate all active plugins.

To deactivate all of your site’s active plugins you will need to use the File Manager inside of cPanel, be able to connect to your hosting account using FTP, or connect to your account via SSH. For simplicity, we’re going to use the File Manager inside of cPanel.

Log into cPanel and locate the File Manager icon under the FILES heading. A new browser tab will open with the File Manager. Make sure you’re in the public_html or document root that your website’s files reside in.

Double click into the wp-content folder and you should see a folder with the name plugins. Right click the plugins folder to rename it.

Rename the plugins to anything. In this example, we’re going to rename the the plugins folder to plugins.no.

After renaming your plugins folder, check your homepage and login page to see if they load.

  1. If your homepage and login page(s) load, then you have a plugin that’s causing the issue.
  2. If your homepage loads, but your login page(s) don’t load, then you have a plugin that’s causing the issue.
  3. If your homepage doesn’t load, but your login page(s) load, then you have a plugin that’s causing the issue.

Please continue with the next troubleshooting step 3. Rename Theme Folder if your homepage and login page(s) do not load.

If your homepage or login page(s) load after renaming the plugins folder then you’ve identified that a plugin (or multiple plugins) are causing the issue. You can rename the plugins folder back from plugins.no to plugins to re-activate all of the plugins that were previously activated.

This will cause your homepage or login page to not load again, but that’s alright. Next, you’ll want to click into the plugins folder and begin renaming each plugin one by one to find the culprit.

Here’s a list of the plugins that are currently installed on our site:

We’ll rename one of the plugins to deactivate it. In this example, we’re renaming the woocommerce-gateway-stripe plugin folder to woocommerce-gateway-stripe.no.

If you are in a situation where your homepage does not load, but you are able to access the /wp-admin or wp-login.php page to log into your dashboard you’ll also see a notification that the plugin was deactivated.

Check your homepage to see if it loads. If it loads, then that plugin was the culprit. If the homepage doesn’t load then you’ll need to rinse and repeat. Rename the plugin folder back to the original name and continue to go down the list of plugins and renaming each one to deactivate them one by one until you find the plugin that’s causing the issue.

3. Rename Theme Folder

Similar to WordPress plugins, you can also rename the themes folder and individual theme folders to deactivate your active theme. If you only have one theme installed, you’ll need to make sure to have a default WordPress theme installed as well.

WordPress is smart enough to activate a default theme such as twentynineteen when the current active theme is deactivated.

If you do not have a default theme installed, you’ll want to make sure to go to WordPress.org and download the latest default theme. At the time of this writing, it’s the Twenty Nineteen theme – https://wordpress.org/themes/twentynineteen/.

Once you have downloaded the .zip file for the Twenty Nineteen theme, you can upload the .zip file in File Manager.

Make sure you navigate to the /wp-content/themes/ folder and click the Upload link at the top of the page.

A new browser tab will load. Click the Select File button to select the theme .zip file you just saved. You will see a green 100% bar when the .zip has successfully been uploaded to the themes folder. Click the Go Back link under the progress bar.

Now that you’re back in the /wp-content/themes folder, you should see the .zip file you just uploaded.

Click the file once so it is highlighted in the File Manager then click the Extract link at the top. This will extract the contents of the .zip file into the /wp-content/themes/ folder (install the Twenty Nineteen theme). After clicking Extract you will see a popup appear showing the extraction results. You can close that popup. Click the Reload link and you will see the twentynineteen theme folder in the File Manager.

You can delete the .zip file since you will no longer need it.

Now that you have a default theme for WordPress to default back to, you can begin renaming your active theme folder. You don’t want to deactivate all themes at once by renaming the themes folder so you’ll want to make sure you double click the themes folder to view a list of themes that you currently have installed inside of /wp-content/themes/.

In this example, the genesis theme is currently active on our WordPress site. We’ll right click the genesis folder and rename it from genesis to genesis.no.

Refresh your homepage to see if it loads. You may see a message that says The theme directory does not exist”. Refresh the page once more and you should see the default Twenty Nineteen theme activated.

  1. If your homepage and login page(s) load, then your theme was causing the issue.
  2. If your homepage and login page(s) don’t load, you’ll need to continue troubleshooting.

Remember, even if you haven’t made any changes yourself that doesn’t mean something can’t break. It’s very possible an automatic update may have caused an issue or a mixture of a plugin being updated and the current version of your theme not playing well with each other.

4. Default WordPress .htaccess Rules

WordPress uses an .htaccess so your server knows how to handle configuration changes on a per directory basis. Sometimes this .htaccess file simply does not exist or can become corrupt since many plugins add .htaccess rules to the file.

If the .htaccess is corrupt or doesn’t exist, you will see a Page Not Found.

With File Manager still open, navigate to your public_html. Inside of your public_html is where your WordPress core files reside. All necessary for WordPress to work out of the box and as intended.

You may not see the .htaccess file. That’s because it’s a hidden dot file. You will need to Show Hidden Files (dotfiles) in the File Manager by clicking the Settings button in the upper right corner.

Check the box for Show Hidden Files (dotfiles) and click the Save button. The File Manager will refresh and you will now see the .htaccess file in the File Manager window.

Right click the existing .htaccess file and rename it from .htaccess to .htaccess.ORIG. We’re going to create another .htaccess file with the default WordPress .htaccess rules and don’t want to lose the existing .htaccess file.

Click the + File link at the top left of the page to create a new .htaccess file. Type the file name .htaccess and click the Create New File.

Now you’ll see the newly created .htaccess file inside of the public_html.

Right click the new .htaccess and click the Edit link. A popup window will appear. Click the Edit button to proceed.

Copy and paste the default WordPress .htaccess rules into the file and click the Save Changes button in the upper right corner.

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Refresh your homepage and any internal posts or pages to see if the Page Not Found issue has been resolved.

5. Viewing the Error Log

The PHP error log can also be a very helpful resource if your site is showing Page Not Found, 500 error, or the white screen of death. If there are any errors being generated in the log file, these errors could give you an indication of what may need to be addressed to resolve any issues you may be experiencing.

You can locate the error log in your public_html with the name error_log. It will look like the following:

If the error log is large in size you may not be able to edit or view it inside of the File Manager (browser). In that case you will need to download the error_log file to your computer. After downloading the error log you can right click the file and edit or open with any text editor. Scroll down to the bottom to view the latest errors that were generated. If the error log is large in size it may take a while to open in the text editor.

In this example we’ve viewed/edited the error log inside of the File Manager, which opens in a new browser tab and see the following error:

[19-Feb-2019 13:48:46 UTC] PHP Parse error: syntax error, unexpected ‘new’ (T_NEW) in /home/phtutorials/public_html/wp-content/plugins/smilies-themer/smilies-themer.php on line 80

By looking at the error, we can see that there’s a plugin called Smilies Themer with an error on line 80.

Keep in mind that the error you see may be something entirely different. Always look at the path and you’ll be able to see or get an idea of what may be causing an issue. You might see that the /wp-content/theme/genesis/index.php is causing an error (your theme and not a plugin).

Based off the error above, we would navigate to the /wp-content/plugins/ folder and rename the smilies-theme folder to deactivate that plugin. After deactivating the plugin you can test to see if your homepage and login pages load.

6. Replace Core WordPress Files

Sometimes, for many unknown reasons, your WordPress core files may become corrupt. It could be caused by a file that was deleted or the code in a core WordPress file was edited in some way. To replace your WordPress core files you will need to download the WordPress files for same version of WordPress you currently have installed on your website.

To check the version you’re site is running you can navigate to /public_html/wp-contents/version.php.

Locate the version.php file, right click, and edit. This will open the version.php in the File Manager (browser tab). You can view the current version of WordPress that’s running on your website. In the screenshot below, our website is running version 5.0.3.

Go to the WordPress Release Archive and download the .zip for the version your website is running.

We’re going to download version 5.0.3 since that’s what our version.php showed us. Click the zip link on the page and you will be prompted to save wordpress-5.0.3.zip to your computer.

PAY CLOSE ATTENTION to these next steps.

Now that you’ve downloaded the .zip for the WordPress version your site is running you will need to extract those files on your computer. Once you have extracted the files you should see a wordpress folder. Double click this folder so you are viewing the core WordPress files contained in that folder.

Now you will want to select everything BUT the wp-content folder (DO NOT SELECT THE wp-content FOLDER). Right click and compress the files into a .zip, which will be used to upload in File Manager. We are going to upload these files in the next step and you do not want to loose everything in that wp-content folder by overriding it.

You should have created a .zip file that’s sitting in the folder.

Go back to your File Manager and make sure you’re in the public_html. Click the Upload link at the top to upload the .zip you just created on your computer.

Wait until the progress bar is green and click the Go Back link at the bottom.

You’ll now see the .zip sitting in the public_html.

Be very careful in the files you select in this next step.

Select all of the core WordPress files you will be replacing, click the Delete link at the top, Check Skip the trash and permanently delete the files, and then click Confirm.

Now you should see something similar to the picture below. You should not have deleted the wp-content folder or wp-config.php file. Click the .zip file once and Extract the contents from the .zip.

You should now see the core WordPress files from the .zip you uploaded in the public_html. You can now try to load your homepage and login pages.

7. PHP Compatibility Issues

NOTIFICATION BAR: If you are attempting to update your PHP Version from 5.x.x to 7.x.x you may break your site. PHP 7 was a major release with many new updates. You will need to download the latest version of your plugins and themes from the tihrd-party developers you purchased or downloaded them from. Confirm with the third-party developer that the plugin(s) and theme(s) are compatible with PHP 7+.

WordPress themes and plugins are updated frequently by their developers. It is a possibility that your theme, plugin or mixture of plugins haven’t been updated with newer PHP functions that were introduced in PHP 7. This can sometimes cause issues and break your site. You will need to follow the troubleshooting steps above to identify whether or not a theme, plugin or mixture of plugins are causing any issues.

You’ll also want to check the current version of PHP your website is running on and test your site on both older versions of PHP as well as a newer versions of PHP.

To do so you will need to log into cPanel and locate the MultiPHP Manager icon under the SOFTWARE heading.

On the next page you’ll see a list of your domains and what PHP Version they’re running on. Here’s an example of what you might see:

Changing your PHP Version is not instant. Please allow 1-2 minutes for the new PHP Version to take effect.

Check the box next to your domain and select a newer or older version of PHP from the drop down menu on the far right. Click the Apply button. In this example, this will update the current PHP Version from 5.6 to 7.0. You’ll see a Success message at the top right of your screen.

After waiting a minute or two, try refreshing your homepage and login pages. If your homepage and login pages are still not loading you will want to try lowering your PHP Version. Please note, our shared environments don’t support anything lower than PHP 5.6, which was End of Life in January 2019 and no longer supported by The PHP Group.

8. Check for Extra Space in the wp-config.php

Another common issue is having extra spaces or lines in your wp-config.php. This could be due to webmasters or developers saving those extra spaces or extra lines of white space by accident.

The beginning ?php tag should be on the first line of the wp-config. If there is an extra empty line before it, delete it and save the wp-config.php.

If there are any extra spaces before or after the ?php tag you’ll want to delete those.

Remember to always backup any original files or database(s) before making any changes. Following this troubleshooting guide covers some of the most common issues breaking websites running WordPress.

Previous ArticleNext Article