WordPress 500 internal server error is one of the common WordPress errors you will encounter as a WordPress publisher.
This error is usually caused by something getting corrupted in your WordPress files or by an issue on your hosting provider’s server.
This error can be frustrating especially for WordPress beginners because it doesn’t tell you what the problem is. You’ll need to have a bit of patience and perseverance along with the basic WordPress troubleshooting skills to find and fix WordPress 500 internal server error.
We'll show you exactly what you need today in today's tip.
Before we start on how to fix the WordPress 500 internal server error, let’s start with something different.
What is HTTP Error 500 - Internal Server Error?
The HTTP error 500 is a general server error that means that the server encountered a problem at the backend that it was unable to handle gracefully. Something has gone wrong, usually while executing a PHP or other code function that resulted in an unhandled exception, and the server cannot be more specific about what the problem is.
In reality, the 500 error is a catch-all exception message when it is unable to handle a situation that has arisen.
The reason for such an error being thrown can be:
- A bug or unexpected input / data going into a plugin causing it not to be able to handle the result
- A corrupted file, plugin or other server feature that is causing it to throw an error
- A misconfiguration in the server resulting in the webserver being unable to understand or correctly serve the visitor
- Hardware or software problems can also result in HTTP 500 server errors
The HTTP Error 500 is a standard status code defined in the HTTP protocol. Whilst many people are familiar with other HTTP errors such as 404 (not found) or 301 (redirect), few people understand the 500 server error.
In general, anything started with 5** means that a server error happened - a client tried to perform a valid request on the server, but the server had a problem fulfilling this request due to a problem on the server.
To paraphrase this using Wikipedia terminology
Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request.
Of course, if your website is running on WordPress, this means that the web server powering your site encountered an error on WordPress (or otherwise) where it was not able to fulfill the request.
If WordPress 500 internal server error is encountered, you’ll see a page like the below when accessing your website:
How to Fix the 500 Internal Server Error on Your WordPress Website
The two most common reasons for this error are a corrupted .htaccess file or another file, or a plugin or function has exceeded the server's PHP memory limit.
The .htaccess file in your WordPress directory can become corrupted after you install a plugin or make another change to your WordPress site. The WordPress 500 error is easily fixed in this case.
However, if you’re seeing a WordPress blank page instead of the above error message, it is a different issue. In that case, instead of following the below guide, take a look at this guide: WordPress Blank Page: Find and Fix the Source of White Screen of Death
Let’s take a look at some of the key issues that cause WordPress 500 internal server error and learn how to solve them. But before we do, we can take a look at this short video which explains the main issues which could cause this.
Note: As always, take sufficient backups before proceeding. So even if something goes wrong, you can restore your WordPress site.
In case you’re not confident enough to solve the issue by yourself, you may find suitable WordPress developers who could help you diagnose it. Click the following link to read more: https://www.collectiveray.com/wordpress-developers-for-hire
There's another error which is also nagging, the one which doesn't go away after performing a core or manual update, the one which says that WP is unavailable for scheduled maintenance, but there are plenty of ways to resolve this including the following: How to Fix "Briefly unavailable for scheduled maintenance check back in a minute".
Read More: How to Fix Error Code 224003
Check Server Log Files and Errors
CPanel Errors
While the front-end of your website might be throwing a vague http error 500, it is quite likely that in the backend, or in the Errors section of your shared hosting server, there are more details that can explain where the error is coming from.
The first thing you should do is visit the Errors section, either in CPanel or otherwise if you are using a customized hosting platform. If you can't see this, it's best to get in touch with your hosting company immediately.
Once you click here, you'll see a bunch of error messages. If your site is still throwing the HTTP 500 error, there should be a few error messages that might indicate the source of the problem.
Ensure that you are looking for entries that occur at round about the same time that the error started being thrown.
error_log
This is another file that might have some details about the error that is being thrown. This is the default PHP error log, and any errors should be going into this file. Open this file and check for any recent entries around the time that your site started throwing HTTP 500 internal server errors.
Other logs
While the above are the most common locations for log files, your specific website setup might be different, so have a look around in the file manager, and maybe search for logs files that could provide an indication of the problem.
Reasons for WordPress 500 internal server error
As said, there can be many reasons for WordPress 500 internal server error. Some of the main reasons are listed below.
- Corrupt .htaccess file
- PHP memory limit issues
- Issue caused by a faulty plugin(s)
- Corrupt WordPress core files
- Hosting problem on the web server
1. Corrupted or incorrect .htaccess file
If the problem happened because of a problem with the .htaccess file you'll probably be aware of it, because most likely you were tinkering with the website or performing some upgrades or modifications when suddenly the website starts throwing 500 internal server errors.
To troubleshoot your WordPress site for fixing internal server error, one of the first things you can do is fix, restore or create a new .htaccess file.
Usually, the .htaccess gets corrupted when you try to install a faulty plugin on your site or when you try to customize your website's .htaccess file and insert a (broken) command that the webserver is unable to handle.
You could also be trying to use a feature or function that your website does not support.
This fix for this is usually simple. The simplest solution is to remove any adjustments you have just made, or make sure that you are following the instructions correctly. If this does not work, you can fetch a version of the .htaccess file from a working version of your website.
Replace the version from the backup and your website should be restored.
Just replace your current .htaccess file with a new one. Most websites store a copy of the original .htaccess file as htaccess.txt.
The .htaccess file is typically found in the root directory. This is where you can see other important directories like wp-admin, wp-content, and wp-includes.
If you’re not seeing the .htaccess file in that location, you’ll need to ensure that all hidden files are viewable. This is typically done in the settings of the File Manager of your WordPress hosting account:
If you’re using FileZilla as your FTP client, go to the Server menu and click Force showing hidden files.

You should now be able to see .htaccess file if it was hidden.
Now, you’ll need to rename your .htaccess file. Once done, the next step is to create a new file.

Simply, open a text editor on your PC and copy the below code snippet and paste it.
# BEGIN WordPress
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Save it as a .txt file. Once done, upload the file to the root directory and rename it as .htaccess. You might need to reconfigure some additional settings you had in the previous file, such as redirects, or any other settings that had been enabled in the htaccess file.
2. Exceeding PHP memory limit
Similar to a corrupt .htaccess file, exhausting PHP memory limit is also a common issue that causes WordPress 500 internal server error.
To fix the issue, you’ll need to increase the PHP memory. Follow the below steps.
Open your wp-config.php file. You can find the file in the root directory where your .htaccess file is located.
Copy the below code snippet on it and save the file.
define('WP_MEMORY_LIMIT', '64M');
If this doesn't work, it may be the case that your memory needs to be increased in a different way.
You can try using this php.ini tweak to increase the memory:
memory_limit = 64M
Try doubling the memory. You should also discuss this with your hosting company since there could be some limitations.
For more essential WordPress tweaks like this one, you may refer to this guide: 101 WordPress tricks Every Serious Blogger Needs to Know
If increasing the memory limit fixes your issue, this means you’ve fixed the problem temporarily. You still need to figure out what plugin or function is exhausting the memory limit. This could be due to a faulty plugin or a poorly coded theme function.
You may ask your hosting company to look into the server logs to help you figure out the reason for the cause.
Alternatively, try installing the P3 (Plugin Performance Profiler) plugin (which unfortunately is no longer updated) or Query Monitor that can detect plugins with slow queries (typically resulting in memory hogs). This plugin helps you to figure out which plugin is degrading the performance of your website and exceeding the memory limit.
Refer to this guide if you’d like to learn how to use this plugin to profile plugin’s performance: The Ultimate Guide to Analyze and fix Performance of Your WordPress Website. In this guide, look for the section Query Monitor.
Note: if your website is frequently exceeding its limit, you might want to consider switching your WordPress host to a premium hosting provider like InMotion VPS hosting server. InMotion has burstable memory, so during temporary peak loads, it ensures your site doesn’t exceed the memory limit, which avoids WordPress 500 internal server error.
Click here to read our full review of InMotion VPS hosting: https://www.collectiveray.com/inmotion-hosting-review
3. Faulty plugin
If none of the above solutions solved your HTTP 500 error, probably the issue is caused by a faulty plugin you installed on your server.
Simply rename the plugins’ directory and check if fixes WordPress 500 internal server error. If renaming the directory fixes the issue, it indicates that one or more of your plugins is the reason for the problem.
To find the exact faulty plugin, first of all, reinstate the plugin directory’s name. This means all of your plugins are now activated. Now start renaming the folders of each plugin one-by-one to something like, plugin-old, until your website no longer throws the 500 error. When this happens you have found the faulty plugin.
Once you found it, get rid of that plugin from your website and report it to the plugin author.
Additionally, you can enable WordPress debugging to figure out the root cause of the issue. Follow this guide to learn everything you need to know about enabling WordPress debugging.
4. Corrupted WordPress core files
If the above solutions don’t fix your problem, chances are it is caused by corrupted files.
In this case, you should download the latest WordPress and reupload wp-admin and wp-includes folder from a fresh WordPress install to your WordPress website.
If the problem is caused by corrupted files, reuploading core files should fix the issue.
5. Hosting provider problems
In case none of the above steps help you to find a solution for WordPress 500 internal server error, you’ll need to get in touch with your web hosting provider.
The quality of the response you receive for your support request differs between hosts. You'll need to let your host exactly what troubleshooting steps you have done to show them that you have already worked to fix the issue.
You should already have gone through all of the above steps before getting in touch with your host.
By looking at the server logs, they should be able to find what causes the issue.
IMH
Do you want a fast website?
Who am I kidding? Don't we all?
So why do so many of us struggle?
The biggest challenge is usually finding a fast, reliable hosting company.
We've all been through the nightmares - support take takes forever or doesn't resolve our problem always blaming something on your side...
But the biggest bummer is that the website always feels slow.
At CollectiveRay we host with InMotion hosting and our website is stupid fast. We run on a custom stack of LightSpeed server setup on MariaDB with a PHP7.4 engine and fronted through Cloudflare.
Combined with our front-end optimizations we reliably server 6000 users every single day, with peaks of 50+ simultaneous users.
Want to get a fast setup like ours? Transfer your site for free to InMotion hosting and get our 50% OFF on current pricing.
Try InMotion Hosting with 50% OFF for CollectiveRay visitors in September 2023 ONLY!
Frequently Asked Questions about WordPress 500 Internal Server Error
How do I fix Error 500 on WordPress?
Most Error 500 problems on WordPress are caused by common problems, such as misconfiguration of files, corrupted htaccess, or insufficient memory problems. First revert any changes you have just made, check the error logs and then start troubleshooting by following our guide.
What causes 500 Internal Server errors in WordPress?
500 internal server errors are usually caused by corrupted files, exceeding memory limit or misconfigured servers. If you have just performed a change, this should be easy to revert and fix your problem.
How do I debug WordPress error 500?
The first step in debugging a WordPress error 500 is to check your website server logs. These logs will provide information about the error, including the specific file and line number that is causing the issue. From these names you can understand what plugin or theme is creating the issue. If the error logs do not provide enough information, you can try to debug the issue by enabling WordPress debugging. This can be done by adding the following line of code to the wp-config.php file: define('WP_DEBUG', true); . This will display error messages on the front-end of your site, which can help you identify the problem. Another common cause of error 500 is a plugin or theme conflict. You can temporarily deactivate all plugins and switch to a default theme to see if the issue is resolved. If it is, you can then reactivate your plugins and themes one by one to identify the one that is causing the conflict.
Conclusion
Still haven't fixed the problem? Getting frustrated trying to sort it out? Maybe it's time to speak to the experts? Our friends at WPBuffs are the best in the business when it comes to WordPress website maintenance services - speak to them, we're sure they'll sort you out!
Have you ever encountered WordPress 500 internal server error? How did you fix it? Let us know by dropping a comment below.
Need help getting stuff done? Try these top-rated affordable gigs on Fiverr!
Click here to find experts on fixing WordPress problems.
Click here to create a full WordPress website.
Please leave a useful comment with your thoughts, then share this on your Facebook group(s) who would find this useful and let's reap the benefits together. Thank you for sharing and being nice!
Disclosure: This page may contain links to external sites for products which we love and wholeheartedly recommend. If you buy products we suggest, we may earn a referral fee. Such fees do not influence our recommendations and we do not accept payments for positive reviews.