Our support team has thousands of chats every month and helps customers resolve errors and problems with their WordPress websites day in, day out. In this article, we'll show you step by step how to fix four of the most common WordPress errors.
No other Content Management System (CMS) is as easy to use as WordPress: themes and plugins can be installed and managed with just a few clicks without you needing extensive technical skills. With a market share of over 30 percent, WordPress has virtually become the operating system of the internet.
Thanks to easy handling, an active community and unending possibilities to customize your site, WordPress is perfect for today's web. This makes it all the more frustrating when your WordPress has issues. But there's no need to panic! Today I'm going to show four common WordPress errors and how to solve them - quickly, simply and by yourself.
Our tips for solving typical WordPress errors
In order to provide you with the best possible support for troubleshooting and to share the knowledge gained from our years of support experience, I'll also explain the possible causes for the errors in addition to the fixes.
The "White Screen of Death" (WSOD) is comparable to the Blue Screen of Death you get in Windows after a system crash. With a WSOD, as the name already suggests, instead of seeing your website frontend or backend (wp-admin), you're confronted with just a white screen - without any type of error message or further details.
Possible causes and solutions for White Screen of Death
Cause 1: Incompatible plugins or themes
The error is very often caused by an erroneous combination of plugins or themes, for example:
- a plugin is not compatible with another plugin or the active theme.
- a plugin/theme was uploaded twice via S/FTP in different versions.
- a plugin/theme cannot be used with the set PHP version.
WordPress lapses into a state of shock due to one of these errors and provokes the White Screen of Death.
Problem analysis: Are your plugins and themes incompatible?
The first step is to reverse any recent changes. Think about any changes you've made. Did you perhaps install a new plugin or theme? Updates from plugins and themes can also lead to errors.
Now you should determine whether the error occurs on all or only on certain pages. For example, is only your contact page affected? If you've just integrated a contact form on that page, then it's likely the contact form plugin is responsible for the WSOD.
Does the White Screen of Death appear on all URLs in the whole frontend? Then it could be a plugin integrated into all of them - for example a widget in the footer, a slider in the header or a plugin for the navigation.
If the screen stays white even when opening the backend (yoursite.com/wp-admin), the error is likely being caused by the theme or an incorrect web server configuration.
Check your debugging log!
Often a look into the error.log of your server or the debugging log of WordPress itself (WP_DEBUG) helps. You can activate this by using the wp-config.php of your WP installation and entering the following lines before /* That's all, stop editing! Happy blogging. */ :
If your installation already has a 'WP_DEBUG' entry, but this is set to false you can simply set this value to true and only need to write the following line underneath it:
Then, when you return to your problem page, you'll see the corresponding reasons for errors instead of the white screen. Errors that start with Fatal or Parse Error are usually those that cause the WSOD.
By the way: With RAIDBOXES you can easily turn on the debugging log with one click in your BOX settings. You can get the output of the debugging log under the link mentioned in your settings.
Now you can see exactly which file creating an error, at which position it occurs and why. To demonstrate this, I've included an example below.We can see the following information in the parse error:
So the error occurs:
- In the file /wp-content/Plugins/contact-form-7/wp-contact-form-7.php
- on line 12
- It appears there's an unexpected character, in this case a “<”
The following solutions are available for incompatible plugins and themes:
Solution 1: If you can, restore a backup. This will simply restore your WordPress installation to the state before the error occurred.
Solution 2:If you don't have a backup, you have no choice but to use S/FTP to rename the folder containing the suspect plugin or themes. This will disable the plugin or theme. In our example, it would be the plugin folder "Contact Form 7."
If you're not sure which plugin is causing the error, try the following: Rename all plugin and theme folders one by one. If the error disappears after renaming a folder, you've found your culprit. As a RAIDBOXES customer, you can also simply use the plugin and theme admin in the RB Dashboard to deactivate it.
Tip: The problem is often just a renamed theme folder so you should check the correct spelling via S/FTP!
Cause 2: Server error
1) Problem: Not enough PHP memory limit
The typical error message in the error.log is:
"Fatal error: Allowed memory size of XXXX bytes exhausted (tried to allocate XXXX bytes) in..."
Furthermore, there may be a white page on which the error message Internal Server Error appears.
What's happening here is this:
A PHP task is consuming more memory than the value allowed by the hoster.
Solution: In this case, it's usually enough to add the following line to wp-config.php
The '256M' stands for the amount of RAM to be used in MB. For example, '512M' for 512MB would also be possible.
However, you should keep in mind that too high a value can cause your site system to crash completely. Therefore, you should only set your PHP memory limit if you have the appropriate amount of memory available on your plan. If your plan doesn't include enough RAM, you should consider upgrading your plan with your host.
2) Problem: Max execution time exceeded
When installing larger WordPress themes or plugins or making large imports or exports of data, the following error may occur, which is usually displayed in the WordPress backend:
Fatal Error: Maximum Execution Time of XX Exceeded in XXX
This means: The time a PHP script is allowed to run has been exceeded. This often happens when importing a large number of products into WooCommerce at once or exporting order data.
Solution: Increase the max_execution_time. Note: Generally speaking, the runtime specified by your host is sufficient. To avoid unnecessarily long loading times and problems, the Max Execution Time should only be increased in isolated cases (e.g. for a large file upload) and then lowered again.
With RAIDBOXES, you can set the max_execution time for the frontend and backend separately in the BOX settings:
With other hosts, it's often sufficient to edit the .htaccess via S/FTP and to add the line php_value max_execution_time 300 there. Here the 300 stands for the maximum number of seconds a script may run. In this case, five minutes.
Since the Basic data protection regulation (GDPR) took effect in May 2018, having an SSL certificate for your site is an absolute must. It's not without reason that most browsers issue a warning if a website is not delivered encrypted. This makes it all the more frustrating when your WordPress encounters SSL errors.
Possible causes and solutions for SSL problems
Cause 1: Certificate is expired
With free certificates from Let's Encrypt, this error should be a thing of the past by now. However, there are certain types of certificates that have a set date to expire. If the certificate has expired, an SSL error may occur.
Solution:The easiest way is to integrate an SSL certificate without a set expiry which some hosts, including RAIDBOXES deliver free of charge and automatically renew. If this service isn't offered by your host, you'll have to manually request a certificate renewal. The best way to do this is to create an appointment reminder and contact the provider of your certificate in time to renew it.
Cause 2: Domain not yet entered on certificate
When an SSL certificate is issued, you specify the domains to which this certificate should apply. A possible entry could be http://domain.com. If a redirection from http://www.domain.com is set up afterwards, this domain does not have SSL and an error is displayed.
Solution:The new domain must be added to the SSL certificate and then renewed. As it is a rather time-consuming and complicated process, you should contact your hosting provider for this.
With RAIDBOXES, you simply need to turn SSL off and on again after adding the additional domains in the BOX settings.
Cause 3: Mixed Content Error
When you set up SSL in WordPress, the http:// address in the database must be replaced by https:// by default. At RAIDBOXES, this is done automatically when SSL is set up. In about 5-10 percent of cases, some resources may still load via HTTP. This can be the case with hardcoded images or CSS/JS files, for example. In Chrome, the URL is then grey and not green.
Problem analysis and solution:
First you have to check if you actually have mixed content errors on your site.
- Press F12 on your website (on MAC CMD+F12) and the developer console will open. Fields with "Mixed Content" appear at the bottom of the "Console" with a yellow background:
- Now make a backup of your site. With RAIDBOXES, you just save it in your BOX backups on the dashboard.
- Install the plugin Better Search Replace. After activation you will find the plugin under "Tools" -> "Better Search Replace".
In the "Search for" field, enter: http://
and in "Replace with": https://
Then you select all tables in the table field and activate the tick box at the bottom under "Test run?".
Now click on "Start search/replace" at the very bottom.
- When the test run has found some tables, you can uncheck the "Test run?" box and start the real run.
- After the real run is finished, check the site again to see if you still have mixed content errors (see step 1).
- If mixed content errors still occur, check the source code to see where the resources are still loading from "http" instead of "https" and replace them accordingly.
A 504 Gateway Timeout Error often occurs when you have a number of plugins that may also be communicating with external services. The error message means that a PHP process is taking longer than 30 seconds.
Website owners often assume the error is due to a server problem. However, this is not always the case.
Possible causes and solutions for 504 Gateway Timeout Errors
A 504 Gateway Timeout Error occurs when a server acting as a gateway, i.e. the server connecting to another server, cannot reach this other server in a specified time.
This error can be caused by any one of the elements involved. It could be your local network, your browser, your ISP (Internet Service Provider), your web server, or even a third-party plugin or theme.
Cause 1: Local problem
This error can also be caused by a change in browser settings, a proxy being activated, problems at your ISP, outdated local DNS cache and many others.
Solution: Test the URL on the website http://www.isitdownrightnow.com/. If the website is online (status shows "YourUrl.com" is UP and reachable), then the issue is local.
But if the result of the test is "YourUrl.com" is DOWN, then this indicates a problem with your DNS, your web server or a WordPress plugin or theme.
Cause 2: DNS problems
The DNS (Domain Name System) is responsible for converting your URL (such as raidboxes.io) into an IP (e.g. 184.108.40.206).
With a new registration or a domain migration, it can take some time until all computers, DNS servers and providers have recognized the adjustment. Under certain circumstances this can take up to 24 hours.
Solution: First check for a local problem. Empty your DNS cache:
To clear your DNS cache on your device, first open your command line as follows
- Windows: Press [Win key + R], type cmd and press the enter key
- Mac: Go to the terminal from the dock through Applications > Utilities > Terminal
Then you enter the following:
- Windows: ipconfig /flushdns
- Mac: dscacheutil -flushcache
After that, your local DNS cache is empty and you can try again.
If the error persists, see what other servers in the world have to say about it. For this, go to www.whatsmydns.net and enter the URL in the search box (Note: Please make sure that "A" is selected in the second selection field so that only the A-record is checked. This is responsible for the correct resolution of the domain name to the IP address). Then start the scan!
If the DNS record is up to date on all servers, you should see a green tick everywhere and the same IP. This IP should in most cases point to the IP of your server (exception: with an upstream CDN).
If errors are displayed in the form of a red "X", this server doesn't yet have the correct entry. If there are different IPs, the server still has the old entry and hasn't yet updated to the new one. The only thing to do in this case is simply wait.
Cause 3: Server problem (e.g. performance or host)
High-traffic websites and eCommerce sites like shops running with WooCommerce generate a lot of requests for your server, which cannot be cached due to their content and leader to high server load, even up to the point of crashing your server.
Solution: If the performance of your hosting package is not sufficient for your website, you may need to upgrade it. Alternatively, just switching to another hosting company whose server architecture offers better performance can help. You're welcome to bring your site for a test migration to RAIDBOXES for free. This will not interrupt the operation of your live site as you'll get a completely separate environment with its own URL, which is not indexed by search engines. There is a significant increase in performance in over 80 percent of cases and a reduction of 504 errors to 0.
Cause 4: Traffic spam, DDOS attacks, bot attacks
DDOS attacks and spam attacks can bring your site down as they generate so many (uncached) calls that your server crashes.
Solution: To filter such attacks, a CDN like Cloudflare, which filters access to your website and blocks spambots and attacks. In very persistent cases, you can block the IP addresses of the attackers from accessing your website.
With RAIDBOXES you can do this easily via your BOX settings:
Cause 5: Problems with plugins and themes
In individual cases, very long requests from plugins or themes can lead to 504 Gateway Timeout Errors. If you've just updated a theme or plugin, try deactivating it first.
With RAIDBOXES you can do this via the plugin/theme settings of your BOX even if you can no longer access your WordPress backend.
If you don't have access to your WordPress backend with another host, you can connect via S/FTP and store your data in the folder ../wp-content/Themes , ../wp-content/Plugins , search for the theme or plugin and rename the folder. This automatically deactivates the corresponding item.
If you're not sure which plugin or theme is causing the problem, switch first to a standard theme such as twentyseventeen.
If this solves the problem, it's most likely due to the theme or a plugin and theme connection. In that case, get in contact with the theme developers. If the problem isn't solved, disable all plugins and activate them again one by one until you've identified the "problem plugin".
Try reinstalling the plugin. If that doesn't help either, contact the plugin developers.
The "Establishing a Database Connection" error is the mother of all WordPress errors. The error message means your server no longer has access to the database or can no longer reach it.
Your WordPress database stores almost all the information that your site needs to run correctly. Not only the content of your pages and posts are stored in the database, but also your users' login information and your plugin and theme settings.
Only images, plugin and theme files and WordPress core files are not stored in the database. These are stored in the file system of your website, which you can reach e.g. via S/FTP.
Possible causes and solutions for Error Establishing a Database Connection
If your site remains white and only the error message "Error Establishing a Database Connection" appears, your site cannot connect to your database or the necessary information is missing or incorrect. You'll likely not be able to log in to the WordPress backend.
Cause 1: Incorrect data in WP-Config
Most of the time, it's simply wrong information about the database connection causing the error. This error often occurs after you've migrated to a new server or hoster and is quite easy to fix:
Solution:When resolving any system relevant errors (this one in particular!), you should make a backup of your site beforehand. RAIDBOXES customers just create a manual backup in their BOX backups. With other hosters, you may need to back up the entire site file or at least the files you're changing locally on your system.
Now you retrieve the information needed to connect to the database. This is:
- Database name (DB_NAME)
- MySQL user name (DB_USER)
- MySQL user password (DB_PASSWORD)
- MySQL Hostname (DB_HOST) [This is the server].
- Table prefix ($table_prefix) [mostly 'wp_']
You can usually find this information on your host's dashboard. Generally speaking, you won't need all the information. With RAIDBOXES, for example, you only need the table prefix, as the remaining entries are read and controlled automatically.
Once you have the necessary information, download the "wp-config.php" from the root directory of your WordPress installation via S/FTP, make a local copy of it as a backup and edit the original with e.g. Notepad++.
There you'll find the following lines (note: $table_prefix will not be included in all cases):
Make sure this is correct by comparing this information with the information you've just obtained.
Save these changes and reload the file into the root directory of your server (overwrite the original file, you have a local backup).
If the information is now correct, you should be able to use your website normally once again.
Cause 2: Faulty database
An error may have crept into your database.
Solution:WordPress might be able to repair the database automatically. To do this, open YOURURL.COM/wp-admin. If there's a message saying your database may need to repaired, add the following lines in the wp-config directly in front of "/* That's all, stop editing! Happy blogging. */":
Then go to YOURURL.COM/wp-admin/maint/repair.php.
If this resolves the error, don't forget to remove the code from wp-config.php.
Cause 3: Problems with your host
In some cases, the SQL server may be down and not available. The maximum database size may potentially have been reached. Or the resources of your hosting provider are exhausted.
Unfortunately, this is often the case with shared hosting, where you share a server with many other websites. When one site consumes a lot of resources, this is, of course, at the expense of your site. For this reason, we always recommend that you use high-performance hosting, one that's specially tailored to WordPress.
Solution:Contact your hosting provider or check their status page (if available) to see if there are currently problems with the server. If necessary, check the CPU load of the provider and, if it's too high, switch to another server. If this doesn't solve the issue, you should consider moving to another hosting provider.
Every WordPress user will recognize that sense of panic when, all of a sudden, you're sitting in front of a white screen or can't login to the WordPress backend. In these moments, it's essential to keep a cool head, root out the cause systematically and then work through the appropriate steps to solve the problem. I hope this article will help you in the future to analyze and fix these typical WordPress errors.
What WordPress errors have you had to deal with most frequently? Leave some feedback in the comments section below.