500 Internal Server Errors in WordPress
While (of course) the aim is to always keep your site running smoothly, it’s inevitable you’ll face issues from time to time. Some of these may be minor, but others can cause major disruptions. If they’re left unaddressed, you may deal with some permanent fallout – including a drop-off in traffic numbers.
A more common problem you’ll experience is the 500 internal server error. It’s essentially a generic notification that alerts you to a problem, but the server is unable to provide specific details. Fortunately, this is one you can easily fix yourself.
In this post, we’ll introduce the 500 error in more depth. We’ll then discuss what causes it, why WordPress sites may experience it, then show you how to fix it and return your WordPress site to normal. Let’s get started!
What Is A 500 Error?
In simplest terms, a ‘500 error’ is a status code that alerts users to a server-side issue, but does not pinpoint the exact problem.
While many 500 error pages are generic, you can also create a custom one like Airbnb.
In most cases, it means there’s a problem with the page under the hood – more specifically, the .htaccess file or PHP memory. The .htaccess file is a configuration file that can be used for:
- Password protecting a page or website.
- Denying site access based on IP address.
- Changing the default page that’s loaded for your website.
- Redirecting visitors to another page on your website.
- Customizing dedicated pages that appear when an error occurs.
Given its variety of uses, it makes sense that misconfiguration can cause a website load error.
As for PHP memory, this is limited by both WordPress and your host. In the majority of cases, WordPress will expand your memory as needed. However, your host will often require doing this manually.
Both of the above can lead to a 500 internal server error. Fortunately, these can be easily solved by using a File Transfer Protocol (FTP) manager. FTP enables your server and website to communicate, and using one can help you solve many server-side issues.
What Causes A 500 Internal Server Error?
As mentioned above, there are two common causes of a 500 error. They are:
- A corrupted or improperly named .htaccess file.
- A PHP memory limit.
Other elements that may cause a 500 error include WordPress plugins and themes. For example, an improperly coded plugin or theme configuration can interact poorly with your server. Once removed, the 500 error should disappear.
Why Do WordPress Sites Get A 500 Internal Server Error?
500 internal server errors are not specific to WordPress. They can be experienced on any platform, regardless of your expertise and knowledge.
With the help of an experienced WordPress host, such as WP Engine, you can fix your 500 errors with ease. Even better, you can prevent them from occurring in the future.
How To Fix A 500 Internal Server Error?
As mentioned above, the .htaccess file is a primary cause of the error, and by updating it, you essentially ‘reset’ your website’s configuration.
First, you’ll need to download a File Transfer Protocol (FTP) manager (or use the one provided by your host). We recommend FileZilla (brushing up on your skills where necessary), but there are many other options available. Once installed on your computer, you’ll need access to your login credentials – a Host, Username, Password, and Port.
You can find these by logging into your hosting account, and navigating to FTP Users (or a similarly-named area) on the dashboard. If you’re struggling, your initial signup email should contain the information you need. Alternatively, ask you host directly.
Once connected to your server, double-click on your site’s root folder (also called www, public_html, or named after your website). Locate your .htaccess file in this folder, right click it, select Rename, then make the filename different in some way (for example, .htaccess-old):
Save your changes, and revisit the front end of your site. If the 500 server error is no longer present, congratulations! However, you’re not done yet.
To ensure this fix becomes permanent, go to your WordPress dashboard and navigate to Settings > Permalinks. You don’t need to make any changes, just click Save Changes at the bottom of the page:
This will create a new, uncorrupted .htaccess file on your server.
If the above instructions do not solve the problem, there may be a PHP memory issue. For a temporary fix, create a blank text file (using your favorite text editor) and name it php.ini. Add memory=64MB to the file, save it, then upload it to your server using FileZilla. If this solves the problem, great! However, you still need to find the underlying cause of the memory issue.
An easy way to determine if a plugin is the problem is to connect to your server via FTP and navigate to wp-content > plugins. Right click the plugins folder, and rename it (for example, to plugins-deactivated), then reload your site.
If the 500 error disappears, one of your plugins is the problem. To figure out which one, you’ll need to deactivate all of them, then activate them one by one until you find the culprit.
At this point, contacting the developer is a good idea to see if they can provide a fix. However, if the plugin is vital to your workflow, you may need to seek out an alternative at places such as the WordPress.org Plugin Directory.
Get Support For 500 Errors with WP Engine
500 errors can be easy to fix on the majority of occasions. However, they aren’t likely to be the only issues you face as a website owner. That’s where WP Engine’s reliability and stellar support team come in.
With WP Engine on your side, you’ll always be confident your site is running at its best. Though, if an error does come up, the support team will be there to walk you through every step of the way.
To learn more about WP Engine and its offerings, check out our managed hosting plans!