WordPress is an amazingly stable platform thanks to the dedication and talent of the hundreds of professionals contributing to it, and the strict code standards they follow. Even so, the huge variety of themes, plugins and server environments out there make it difficult to guarantee nothing will ever go wrong. This guide will help you pinpoint and fix common WordPress problems users encounter, quickly, and without being a WordPress guru.

Before You Begin

Step 1 – Many solutions involve editing, deleting or updating files in your WordPress install. Make sure you have an FTP client you are comfortable using, and a text editor capable of showing syntax highlighting for HTML and PHP.

Step 2 – Determine where to start: Can you see an error message or is the problem more vague?

Jump to quick answers to the following common errors:

OR

Theme is missing the style.css stylesheet

stylesheet error

This message is caused by the theme you are trying to install having an incorrect file structure, the stylesheet actually being missing, or the theme not being a theme at all.

To solve it:

  1. Make sure you have the correct file. If you downloaded your theme from Themeforest, for example, you must unzip that download to find the theme install file
  2. Open the file to verify the structure is correct. Theme zips should show a folder inside. Inside that folder, you should see a style.css file.
  3. Make sure the file is acually a theme. Is it possible the file is a plugin instead? This is a common mistake with theme-related plugins like Divi, Themify Builder and Visual Composer. To find out, you can try installing it under PluginsAdd New.
  4. If all else fails, get in touch with the theme author to get you a working file.

See this detailed guide for Themeforest themes

404 Not Found

404

In most cases, this error is caused by a missing file, or an incorrect URL.

To solve it for post/page links:

  1. From the WordPress Admin, go to SettingsPermalinks
  2. Choose an option other than Default and click Save to regenerate your permalinks, then try again.
  3. Didn’t work? Choose the Default option and try again. If that worked, skip down to .htaccess troubleshooting.

You can avoid 404 errors by periodically re-saving your permalinks, and making sure you never edit the slug of published posts, categories or tags. The Broken Link Checker and Redirection plugins can help if you really need to edit slugs and want to avoid broken link errors.

To solve it for images or other filetypes:

  1. Edit the post, menu or widget where the link is set and make sure it is pointing to the right file by re-setting the link.
  2. Make sure file names are lower-case with no special characters or spaces to reduce the chance of problems in the browser
  3. Re-upload the file – sometimes the link is fine but the file is really missing!

Error establishing a Database Connection

database-error

The most common cause of this error on new setups is an incorrect database path in the wp-config.php, but sometimes it can mean your database server is down.

To solve it:

  1. Connect to the site with your FTP client and download a copy of the wp-config.php file and open it up to verify the server name and login/password are correct. You can check these from the hosting control panel. If you make changes, simply rename the original file on the server to something like wp_config.old, then upload your fixed copy.
  2. Login to WordPress. If you see a message indicating the database needs repair, follow the prompts to run the repair.
  3. If these two steps do not solve it, get in touch with your host or check their server status pages for downtime affecting your website.

Maintenance Mode Message

maintenance

Updates are a vital part of keeping your WordPress website functional, and sometimes they happen automatically. Whether you initiate an update yourself or are welcomed with a surprise maintenance message in your browser, wait a few minutes before taking action. You might just be trying to view your home page while an update is running on the back-end, in which case this message is totally normal. If the message doesn’t go away, or is keeping you from logging on, something has interrupted the update process, so you’ll need to delete the file yourself.

To solve it:

  1. Log into the website via your FTP program or your hosting control panel’s File Manager and locate the .maintenance file in your root folder.
  2. Right-click to delete it. Don’t worry, this is totally safe.

Allowed Memory Size Exhausted

memory exhausted

You’re installing a plugin, trying to load the customizer or clicking around in your admin panel just to have it time out and tell you you have insufficient memory or that your site memory allocation has been exceeded. This is referring to the amount of memory your database and scripts can use on your server. On most shared (cheap) hosting, the default memory allocated to WordPress is often not enough to handle setups with database-heavy plugins. These can include translation plugins, image management, gallery, link checking or SEO plugins. In many cases, you can increase the memory limit yourself.

You may also see the error worded as “out of memory.”

To solve it:

1. First, try adding the following to your wp-config.php

define( 'WP_MEMORY_LIMIT', '64M' );

This will increase the memory limit to 64MB (you can also set it to 128MB or 256MB if you want).

2. When the first step is not enough, try deactivating all plugins except those that provide critical features to the front-end display of your site. This includes caching plugins. If the situation is improved, see the Check Plugins section of the 5 Step Solution below for more detailed advice on choosing plugins.

3. This may not be enough if your issue is related to script memory. If the problem persists, you will need to increase the PHP limit set in the php.ini. See your host documentation for how to do that. Below are links to documentation at popular webhosts:

Fatal Errors

Fatal errors are almost always due to a plugin conflict, the file is damaged, or the file is not compatible with a dependency. In most cases, the function will tell you exactly what the problem is, and in which file. You can interpret fatal errors pretty easily by breaking them down into four parts:

fatal error

  1. Error type – Google this part when you’re unsure
  2. Function or code issue – helps you find code errors
  3. Path to file where error occurred
  4. Line of code in the file that contains the error

Some common fatal errors are:

Call to undefined function …

This is caused by a plugin or theme using a function hook but the function not bein defined anywhere.

To solve it:

  1. Make sure any plugins you have activated do not require a specific theme or other plugin. For example, a WooCommerce Paypal plugin needs WooCommerce to be installed and activated.
  2. Check the code of the file indicated if you are comfortable with PHP, and solve the problem there.
  3. If all else fails, go through the 5 Step Solution below.

Cannot redeclare ….

Similar to the above, except in this case the function is declared more than once instead of not at all. This happens if there are conflicting plugins activated, or if the theme or plugin author did not use a unique function name.

To solve it:

  1. If you are comfortable with the code, follow the error message to find the duplicate function and change the function name to something unique. Make sure to update all hooks that use it.
  2. Not code-savvy? Check plugins.

Parse Error: syntax error …

This message means there is a mistake in the code of your theme or plugins that needs to be corrected.

To solve it:

  1. If you’ve just added some custom code to your theme’s functions.php, use your FTP client to download a copy of the file and fix the snippet. The easiest way to find syntax errors is to use an HTML editor with PHP syntax highlighting, but check for common mistakes such as missing quotes or semi-colons. If you’re really unsure, just delete your custom code and re-upload the file without it.
  2. If the error is in a plugin file, skip down to Check Plugins.

You can avoid this problem in the future by always testing custom code locally before applying it to a live site, or making a backup of the file you are editing first so it can be easily restored via FTP if something goes wrong. The Solid Code Theme Editor is helpful for showing syntax errors before you hit Save when editing via your WordPress admin.

Warning: Creating default object from empty value in customizer.php

This error is due to your PHP version being too low for your current WordPress version. Get in touch with your host and make sure your site meets WordPress minimum requirements.

Temporary Fix for Errors

Often times fatal errors that do not block access to your WordPress admin are just reporting a problem with the code in your theme or an active plugin, and are visible due to DEBUG mode being active on your site.

To solve it:

  1. Connect to the site via your FTP client and download a copy of the wp-config.php file.
  2. See if this line exists:
    define('WP_DEBUG',true); 
  3. If so, change it from true to false, then save and upload back to the server to overwrite the existing file.
  4. Make sure your theme and plugins are up to date, and work with the authors to solve the errors, as even hidden errors can cause functionality to fail or the site to load slowly.

Internal Server Error (HTTP 500)

internal server error

This one is almost always caused by the server configuration. Skip down to the 5 Step Solution to troubleshoot.

The Blank White Screen

white screen of death

Known affectionately as the “white screen of death”, blank browser pages where your website should be are the most frustrating thing to deal with, as they also block access to your admin panel.

The most common cause of this problem is a plugin conflict, either with another plugin, or with your active theme, or it may be hiding a fatal error you just can’t see.

To solve it:

If you right-click and view the source, you may be able to see this error, OR:

  1. Connect to the site via your FTP client and download a copy of the wp-config.php file.
  2. See if this line exists:
    define('WP_DEBUG', false); 
  3. If so, change it from false to true. If not, copy and paste the following right above "/* That's all, stop editing! Happy blogging. */"
  4. Save and upload back to the server to overwrite the existing file.

If any errors are available, this will allow you to see them. Don’t forget to set the value back to false once you solve your problem, or your visitors risk seeing all sorts of normal developer messages and errors, even on a working website!

If this does not help, you probably have a plugin conflict. Continue with the 5 Step Solution:

5 Step Solution

5 step solution

The following five steps solve just about any WordPress problem that is not caused by the server or bad code, or at the very least will help you determine what the problem is. Follow each step until your issue is solved or improved.

Step 1 – Update!

Having an out of date WordPress install or theme can cause a multitude of problems as files become unsynched or functions stop working because their dependencies have been removed or replaced.

  1. If you can login to your WordPress admin, go to DashboardUpdates and apply any WordPress updates, Plugin updates, and Theme updates available. If you can’t login, update the files manually using your FTP client.
  2. If you have premium themes or plugins installed, be sure to check with the theme author or marketplace where you bought it to see if an updated file is available, then follow the author’s instructions for updating.

Step 2 – Check Plugins

Due to the open-source nature of WordPress, the code quality of plugins varies wildly. This leads to many common WordPress problems.

  1. Connect to the site via your FTP client and navigate to the wp-content folder.
  2. Rename the plugins folder to plugins-old
    • Renaming your folder forces all of your plugins to deactivate so they cannot conflict with one another.
  3. Attempt to access the WordPress admin again

If this solved it, a plugin was probably the culprit. Rename the folder back to plugins and then visit the Plugins page in your WordPress admin. Reactivate your plugins one at a time, reloading your site in a new browser tab after each reactivation until it breaks (or hopefully doesn’t). This should help you narrow down which plugin triggers the problem. Simply repeat these steps again, then delete the offending plugin.

Step 3 – Check Your Theme

If your theme author has thoroughly tested your main theme, the problem is not likely inherent to the theme itself, but the theme may have become corrupted, become infected with malware or have a problem with your sever’s configuration that prevents your site from working. To ensure the theme files are sound, try reinstalling the theme and leave any customization or child themes out for now.

Step 4 – Check .htaccess

This file controls some aspects of security on your site, and how redirects work, including permalinks in WordPress. Some security plugins will modify this incorrectly or in too strict a manner which causes problems in WordPress. Your host may also enforce specific .htaccess rules that cause problems in WordPress.

  1. Connect to the site using your FTP client and locate the .htaccess file in the root.
  2. Right click and rename the file to something like .htaccess_old and try reloading your site.
  3. If that fixed the issue, log into your site and go to SettingsPermalinks, make sure something other than Default is selected, and click Save to regenerate your permalinks. This will also generate a fresh .htaccess file if you have WordPress Multisite, visit NETWORK ADMIN NETWORK SETUP and verify your wp-config.php and .htaccess are configured as outlined on that page.
  4. If turning on permalinks breaks things again, contact your host to troubleshoot. For best results, be sure to host your site on a host that offers WordPress hosting, and/or uses Unix-based servers.

For detailed .htaccess help, check out these .htaccess tips to speed up and secure WordPress.

Step 5 – Check PHP & Caching

  1. PHP should be at 5.6. 5.7 is in beta and should not be used on a live site until your host approves it.
  2. Disable eaccelerator for PHP. See this article for help?or ask your host.
  3. Turn off server-side caching. In most cases, it is better to manage caching from WordPress with a plugin designed for WordPress. unless you are on Managed WP hosting. Your host can assist you with disabling server caching such as Varnish, Pagespeed, X-Cache or Cloudflare etc, usually there is a setting in your domain page on your cPanel to turn these off.

Conclusion

Sometimes the solution to a really tough issue in WordPress is to restore a recent backup, but that won’t help if you aren’t maintaining regular backups! In addition to backup options offered by your host, see this guide for keeping your Content Backed Up.

One of the ways to streamline this process is to explore your managed WordPress hosting options. If manage your site yourself, make sure you backup the entire site at least weekly and keep at least 3 previous backups. For sites that are updated often, make sure you backup the database daily and do periodic content exports as a fallback.

If all else fails, your problem may be with WordPress itself, or with the data in your database. Start by reinstalling WordPress, and if that fails, you may need to contact your host for further help.

Resources

2 Comments

  1. Nikhil Makwana
    Jan 30, 2017 @ 4:48 am

    Thank you so much for sharing this informative post on common WordPress error and its solutions. You provided a wonderful solution to fix it.

    It’s always exciting for me to read content from other writers and practice a little something from other websites.

    Keep Sharing.!

    Reply

  2. Andrew Lee
    Feb 10, 2017 @ 5:21 pm

    I love this post and your website. Very clean, simple, eye catching and easy to read. I noticed your link “Customizer Wont Load” is broken on the very top of this article.

    For the “5 Steps Solution” section on Step 2 an alternative method I like to use for deactivating all the plugins instead of renaming the plugins folder name is

    1) Log into cPanel
    2) Open PhpMyAdmin
    3) Select the database your WordPress site is on
    4) Select wp-options
    5) Look for “active_plugins” and click edit (usually on page 2)
    6) Delete everything within the “option_value” section then click “Go”

    I found this to be very helpful when I experienced the white screen of death myself.

    Reply

Leave a Reply to Nikhil Makwana Cancel