Next time somebody tells you: "Yeah, I know WordPress. I hear it is good for blogs", please flick 'em on the back of the head while saying "Not true buddy". WordPress powers up around 25% of the entire internet, and there are plenty of e-commerce websites that successfully run on WordPress. NYT, Time, Walt Disney Company, and many more run on WordPress, so there's no room left for arguments like that.
The problem is that issues and unexpected errors are part of life. As great as WordPress would ever be, it's affected by human limits that resolve in issues affecting your website, your clients', and your business eventually. Even if every WordPress installation is different than all the others, it'd be useful to have a list of the most common issues that have been experienced by the WordPress users to use as a quick reference and check it out every time you'd need help.
I know: such list make sense to newbies and those with a just a couple of years of experience, but don't forget: if you are an experienced WordPress user, you've grown thanks to these issues!
So this is what you're getting: here's some of the most common WordPress issues with their actual fix, all listed. Are you eager to (finally) get some answers? Great, let's dive in.
Don't want to learn how to fix them by yourself? Get your issues fixed blazingly fast.
10 Common WordPress scenarios and how to overcome them
There's no better way to learn than getting your hands dirty with what you want to learn. The idea here is to test the followings tips on a test website, whether locally installed or not, so you'll be more confident if any issues will ever occur.
Backups are crucial and always more than suggested before doing any of the following or future actions that have to do with your WordPress website files.
1. The White Screen of Death
Has your website ever looked like it was gone. Vanished. Kaput? Nothing but a white screen left in its place. For those who don't know what this was all about, we have a name: the White Screen Of Death (WSOD). As with its Microsoft ancestors the Blue Screen of Death and Black Screen of Death, the WSOD occurs when something is not working properly, and it's the first "piece of evidence" that you need to take action.
But what can cause a WSOD on your WordPress website? In almost all cases the WSOD happens because you have a fatal PHP error and error display turned off - so the process of loading your site has halted before getting to any output. This can be caused by any of the following scenarios:
- issues caused/related to one or more of your plugins
- issues caused/related to your theme
- issues caused/related to your database
- corrupted WordPress core files
Note: if you can access wp-login.php and subsequently wp-admin, then you can almost certainly rule out the latter 2 options.
1.1 WSOD: issues with plugins
If you recently activated a new plugin but didn't test it properly, it might have led you to find the hard way it's incompatible with your WordPress setup. Or just think of this example: a new update made one of your plugins stop working properly with all the others. There are plenty of things related to plugins that can happen, so here's what to do if you're experiencing the WSOD: disable your plugins and see if your website starts working back normally.
The only way to find a problem with a plugin is to disable them and reactivate them one-by-one. Luckily there is a first step that saves you a lot of time: you log into your server via FTP and rename the whole plugins directory to plugins_old, or whatever you like. This will deactivate all your plugins in one step only, while keeping their settings intact (deactivating them via wp-admin, assuming you can even access it in WSOD, would lose all your settings in most cases).
Now if you visit your site and see it fully or partially running (it may not look 100% or even 50% right depending on your plugin usage) then the problem causing the fatal PHP error is located in one of your folders. Unfortunately, that means that you now have to go through your plugins one by one to find the cause.
There are two ways to do that - I prefer b:
a) you navigate to your plugins folder, and you can either rename them all at the outset i.e. jetpack to jetpack_ etc., get your site (again maybe not 100% right) back up and running, then rename the plugins back to their original name to reactivate them, do this one by one, each time checking your site and see which one breaks it.
b) do it the other way around: you navigate to your plugins folder, rename them to jetpack_old one by one and check the site to see which one breaks it. This way if the plugin with the problem is maybe 3 down the list you have saved yourself some time. Quicker still if you know what plugins have been activated/updated lately then you could start there.
Even if it looks time-consuming, going through each of your plugins and activate them back one by one, it's the only way to discover which one is causing issues to your website. Once the incriminated plugin gets disabled, your website should be back up and running.
If renaming the plugins folder didn't get your site back, then it is time to look elsewhere.
1.2 WSOD: issues with themes
As with plugins, it could be the case for your theme to bring up the WSOD. If disabling your plugins didn't help, it's now time to disable your current theme and activate WordPress default theme like the twentysixteen. If you happen to have it deleted, download it from here and upload it via FTP in your wp-content/themes folder.
Disabling your theme should sound nothing new now, so let's rename its folder with something like old_themename. Once you do that, WordPress will automatically revert to a default theme and activate it.
If you see the issue is gone, it means it has to do with something related or caused by your theme. Ask yourself: did you update it recently? Did you copy-paste some code snippets you found online incompletely? If you did, just revert to a previous version of your theme files, and everything should go back to the way it was before the issues occurred.
1.3 WSOD: Memory limits exceeded
Another common example that would bring you a WSOD is when you outgrow your memory limits as, for instance, when your website gets a spike of visitors in a short period and your hosting isn't able to handle it. Another example could be when a long running script exhausts the PHP memory.
Even if there are many WordPress-optimized hosting services that would better to address some of these needs, lots of WordPress users still rely on shared (and cheap) solutions. So it has to be you to increase how much memory WordPress can use; to do that you should add the following string to your wp-config.php file:
define( 'WP_MEMORY_LIMIT', '64M' );
If you need a higher or lower limit, just replace the '64M' value with your desired amount. Don't forget that not all of the hosting providers allow their users to edit these settings, specifically to increase the PHP memory limit. If that's your case, just contact your hosting provider and ask them to increase it for you, so you don't exceed it in the future.
1.4 WSOD: corrupted WordPress files
If none of the above help you out, it could be the case that some of your core WordPress files are corrupted and don't work as they should. If that's your case, you will need to download the latest version of WordPress and upload the new wp-admin and wp-includes folders via FTP.
Important: don't upload the new wp-content folder because it will replace your current one and you'll lose all your blog post, pages, and anything stored in that folder.
Need help with your WordPress website? Ask our experts for their help!
2. Internal Server Error or "HTTP 500 Internal Server Error"
This issue isn't a WordPress-specific error, and it's generally (but not exclusively) caused by plugins/themes features, PHP memory limits exceeded and corrupted .htaccess files.
Even if it looks scary, there's no reason to panic. So before freaking out, you should be able to verify "it's not you, it's them": try to understand if you're safe ruling your website out as the incriminated part, and see if it's your hosting provider causing the issue.
To do that perform all the three following actions:
- refresh your page a couple more times. Is the issue still there? Then...
- clear your browser cache, close and relaunch your browser, refresh the page. Is the issue still there? Then...
- open the same page in another web browser. Is the issue still there? Then...
If you're still experiencing some issues, it'd probably be one of the following scenarios:
2.1 Corrupted/incorrectly configured rewrite rules in your .htaccess files
Connect via FTP to the root of your website, find the .htaccess file and rename it to something like .htaccess_old. Now refresh your website: if the website works properly, it means the .htaccess file was the reason. If that's the case, just log-in into your WordPress dashboard, head over to Settings > Permalinks and just push the "Save" button. WordPress will generate a new .htaccess file.
2.2 Wrong file permissions
It may be the case that some specific files or folders don't have correctly permission levels set up. The quickest way to remedy on that is by clicking on the file/folder via FTP and edit their permissions directly with the following values: 755 for folders, and 644 for files (with very few exceptions).
2.3 Plugin conflicts
Whether it's a new plugin you recently installed or an updated version of the others, plugins could bring up some issues and conflicts that may cause a 500 error page on your WordPress website. Follow the steps from 1.1.
2.4 Corrupted WordPress core files
Corrupted files might also cause an internal server error, and you should change the corrupted files with new ones. The process you need to follow is the same as 1.4.
If none of the above worked, it's time to contact your hosting provider and tell them about your internal server error. This way they will look at your server logs, and you'll have a better idea of what's causing that 500 error.
3. Syntax Error
Have you ever seen something like the above error message? I bet you have.
This error message occurs when, for example, a line of code is missing a semicolon, or a curly bracket, or features a wrong character. The message informs you that, in a specific file and line, some of the code does not conform to valid PHP syntax and so cannot be processed (parsed), just like if I was to suddenly write "hagynrytuflid to oneoodnown" you wouldn't understand me as I would not be conforming to the syntax of the English language. In the example here, the syntax error is located in your functions.php file on line 278.
Since you now know which is the file causing the error, download it via FTP and fix its syntax and upload it back again to your server. Voilà!
4. Error Establishing Database Connection
This issue can be related to several factors that have do with wrong information in your wp-config.php file, which should look something like this:
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'database_name_here' ); /** MySQL database username */ define( 'DB_USER', 'username_here' ); /** MySQL database password */ define( 'DB_PASSWORD', 'password_here' ); /** MySQL hostname */ define( 'DB_HOST', 'localhost' );
Since you're unable to connect to your database, you should look at all the values set in your wp-config.php file and double check to see if there are any wrongly inserted.
If you didn't find any, it could be the case for your hosting provider to either have some issues on their end or that your database got corrupted.
4.1 Repairing the Database
Sometimes you just get the error message when you try to access your backend /wp-admin. If that's your case, it could be your database that needs to be repaired.
To do so, go to your wp-config.php file, and add the following line:
define (‘WP_ALLOW_REPAIR’, true) ;
Then visit your_site/wp-admin/maint/repair.php and pick the type of repair you prefer and wait until it completes. To perform such action, you do not need to be logged in.
Once finished, go back to your wp-config.php file and remove the line you previously added. If the database repair did not work, you'd need to check with your hosting provider.
5. Connection Timed Out
When your website overruns your server's memory limit, you might be seeing the connection timed out error. To fix that, here's what you can do:
- Follow the steps from 1.1 to find any problems you may have with a plugin
Follow the steps from 1.2 to disable your current theme and activate the WordPress default theme to rule out any theme-related causes
Increase your PHP memory limits (see 1.3). If you can't, ask your hosting provider to increase it for you
Increase the maximum execution time in your php.ini file, either by asking your hosting provider to take care of it or by following the WordPress Codex tips
Updates are a vital part of keeping your WordPress website fully functional, and with release 2.7 the core automatic upgrade feature was added to WordPress. However, sometimes you might be welcomed with a maintenance mode error message in your browser due to the update process being interrupted or unable to clean up after.
If you're seeing this maintenance error message, you should take care of your .maintenance file. Specifically, you should:
- locate your .maintenance file in your root. It's a hidden file (here's how to unhide them), located in the same folder as your wp-config.php file
delete the .maintenance file
Note: you might be seeing the same maintenance message if you're trying to view your homepage while a core WordPress update is running. In this case, you shouldn't do anything, just wait for the update to complete.
7. Failed Auto-Upgrade Fatal error undefined function is_network_admin()
There will be situations when the WordPress auto-update feature fails and you'll get to see an error message like "Fatal error: Call to undefined function is_network_admin() in /home/website/public_html/wp-admin/admin-header.php on line 16". Even if has "fatal" in it, this error message isn't as scary as you might think because it means that an auto update hasn't successfully completed.
WordPress automatic upgrade feature might fail due to your internet connection being unavailable, some incorrect file permissions or something not properly working with the main WordPress files.
If you're experiencing this issue, it'll be a matter to manually update your WordPress install. This means:
- Download the latest WordPress and unzip it
- Deactivate all your plugins
- Rename your wp-includes and wp-admin directories to something like old-wp-includes and old-wp-admin
- Upload the new /wp-includes and /wp-admin folders
- Upload the individual files from the new /wp-content folder to your existing /wp-content folder, overwriting existing files (don't delete your /wp-content, just upload the new file like *index.php)
- Upload the new version of the rest of files from the root directory to your existing WordPress root directory
- Login to your WordPress admin and you will be given a link to URL like "http://domain.com/wordpress/wp-admin/upgrade.php" and follow the instructions
Once the manual update is complete, it should be all work. If not, try clearing your cache.
8. Warning: Cannot modify header information – headers already sent by
You receive an error message on your browser "Warning: Cannot modify header information – headers already sent by (output started at /path/blog/wp-config.php:34)" right after upgrading your WordPress. This error occurs when there happen to be unrequired spaces in a given file, in this example it's the wp-config.php. To fix the issue, you should edit and remove the undesired white space from that file:
- Access via FTP and download the file mentioned in the error message
- Open it with a text editor (like this one)
- Remove all spaces before the tag
- Upload the edited file back via FTP
This error could involve other files too. So it's pretty important to read the error message carefully as it states the specific file name (and path) where the error occurred.
9. Can't upload image files to WordPress
I'm sure this happened to you (or your clients) at least once: everything is running smoothly, you create a new blog post or page, you want to make it more appealing by adding an image and bam... WordPress gives you back an error message like "Unable to create directory /wp-content/uploads/.
More often than not, when you get this message, it probably has to do with wrong file permissions being set on your upload folder, for example, and WordPress can't write (modify) those files. To take action properly and fix this issue, you should always start by:
- deactivating/reactivating all your plugins to rule out any plugin conflicts
- setting up a default theme to rule out any theme-related issues
If these actions don't work in your favour, it's time to check and edit the file permissions for your /wp-content/uploads/ folder. Long story short: set them to 755 for folders, and 644 for files. Remember it's not a good idea to set permissions at 777 values because they open up your WordPress website to security threats.
Are you experiencing WordPress issues and need professional help? Post your project and let our high-quality WordPress developers and deisgners work their magic for you.
10. All is broken, and you have no idea what happened (aka just before head banging on the wall)
When your website doesn't show up, your pages keep spitting out error messages, your not-properly-specific-research doesn't get you the longed-for answer, well, that could be a defining moment in your life. When "everything doesn't work", and you have no clue about why it happened, the way you'll handle your lostness will each time be different (hopefully getting better).WordPress issues aren't a curse, they're your inexhaustible source of knowledge to becoming better. Click To Tweet
I know, sharing some common WordPress issues and how to approach them better isn't something that will immediately change your life. It's more of a long-run object here.
In fact, if you think about it, each time you experience one of the scenarios above, as well as any other WordPress issue, you're building up your WordPress knowledge and improving how you're scaling on that. That's unquestionable.