As marketers, we love high numbers. 500 post views? 500 new leads today? Fantastic!
But, sometimes high numbers aren’t so great. The last thing any website owner wants to see when opening their homepage is this:
When you get a 500 Internal Server Error on your WordPress website, it brings your entire operation to a standstill and leaves you rushing to find a solution.
The good news is that this is a common problem in WordPress. And, with a bit of investigation, there’s usually an easy solution. In this article, I’ll show you why your site "is currently unable to handle this request" and how to get rid of this message.
HTTP Error 500 in WordPress: What Does "is currently unable to handle this request" Mean?
When you visit a website, your browser makes a request to a web host, asking to send you a web page. If something is wrong with your website that prevents the hosting server from delivering that page to your browser (i.e. it is unable to handle the request), it will instead send you an error message. This is a 500 Internal Server Error.
An HTTP 500 error can be caused by many different things, but it’s probably not an issue with the host server itself. It's more likely that the host can’t retrieve the contents of your WordPress site for some reason.
With the WordPress CMS, the most common causes of a 500 Internal Server Error are:
- faulty plugins or themes
- a broken .htaccess file, and/or
- the PHP memory limit being exceeded.
Occasionally, the issue might also come from your hosting server.
The vagueness of a 500 makes it pesky to deal with — the good news is that trying a few repairs will almost certainly solve your problem. Here's what to do:
How to Fix the 500 Internal Server Error in WordPress
- Back up your website.
- Enable the WordPress debugging feature.
- Deactivate your plugins.
- Disable your currently active theme.
- Check your .htaccess file.
- Check your PHP memory limit.
- Replace your WordPress core files.
1. Back up your website.
Fixing your issue will require changing some things on your site, including some alterations to with your plugins, themes, and possibly your WordPress core files. Even though your site is down, make a backup of your files in case you lose data and need to backtrack.
Save your backup in a safe location. Hopefully you won’t need it, but it's good to have just in case.
2. Enable the WordPress debugging feature.
WordPress includes a handy debugger to help you troubleshoot issues like this. When something goes wrong, the error log will report the specifics of the problem.
The debugger disabled by default — first enable it with the steps below:
1. Access your website via FTP.
2. Open your public_html folder, or whichever directory contains your WordPress files.
3. Locate and right-click the wp-config.php file, then choose View/Edit.
4. With the file open, scroll to the bottom of the file and paste the following line of code:
define( 'WP_DEBUG', true );
This code tells WordPress to log errors on your website.
5. Save your changes and reload your website. On the error screen, you might see a more detailed report that identifies the source of the issue — this could point to a specific plugin or file. If the source of the problem is still unclear, read on.
Once you’re finished using the debugger, remember to disable it by removing the code you added above and saving the file, being careful not to change anything else!
3. Deactivate your plugins.
A likely cause of this error is that one of your plugins (or a combination of plugins) is causing your backend to malfunction. The best way to test this is by deactivating all your plugins, then narrowing down to the culprit(s).
If you can access the administrator account, try the following:
1. From the dashboard, select Plugins > Installed Plugins.
2. Check the box next to Plugin to select all your plugins.
3. Choose Deactivate from the Bulk Actions drop-down menu, then click Apply.
4. Refresh your site. If you no longer see the error, start activating each plugin one by one and reloading your website after each activation to identify the faulty plugin.
If you don’t have access to the administrator controls, you will need to connect to your server using the file transfer protocol (FTP). After connecting, you’ll see all your files for your WordPress website. Follow these steps:
1. Open the public_html folder (or wherever your WordPress files are stored on your server), then open the wp-content folder.
2. Rename your plugins folder “plugins_old”.
3. Refresh your website. If your site works, rename your plugins_old folder back to “plugins”.
4. Within the plugins folder, rename each plugin folder one at a time until you find the plugin that causes the bug.
If you find a specific plugin causing the error, replace the plugin or notify the plugin developer.
4. Disable your currently active theme.
If plugins aren’t the issue, your WordPress theme might be, especially if it comes from a third-party developer. To check this, start by temporarily replacing your current theme with a default WordPress theme. If you can access the administrator controls, follow these steps:
1. Select Appearance > Themes from the WordPress dashboard.
2. Activate any default WordPress theme, such as Twenty Nineteen.
If you can’t get into the admin account, you’ll need to use an FTP client to access the website. Then, do the following:
1. Open the public_html folder (or wherever your WordPress files are stored), then open the wp-content folder.
2. Open the themes folder and look for your active theme folder.
3. Add “_old” to the end of the name of your active theme folder. This disables the theme.
4. Refresh your website. If it works, you’ve found the problem. Contact the theme developer about the error and ask for the latest version of the theme.
5. Check your .htaccess file.
The next likely cause of a 500 Internal Server Error in WordPress is a corrupted .htaccess file, located in the root directory of your website files (usually public_html). This file contains various directions for your host server to follow, like allowing password-protection for web pages and redirecting URLs.
Like other source files, any typo or incorrect modification in .htaccess will break the code and potentially your site. Follow these steps to make sure it’s working:
1. Connect to your server with FTP or your cPanel dashboard.
2. Open your public_html folder (or whichever folder is your site’s root directory).
3. Find the .htaccess file. Your server might hide this file by default, in which case change the view settings to reveal it. Rename the .htaccess file to something like .htaccess_test.
4. Refresh your website. If you no longer see the HTTP 500 error, this means .htaccess is the source of the error. If you still see a 500, .htaccess is not the issue and you can skip to the next step, checking your PHP memory limit.
5. To repair .htaccess, you just need to replace it with a new one. From your WordPress dashboard, select Settings > Permalinks.
6. Click the Save Changes button at the bottom of the page. This replaces the old .htaccess file.
6. Check your PHP memory limit.
Your site’s PHP memory limit is allotted by your WordPress installation and by your host. If your site exceeds its memory capacity, this throws a 500 Internal Server Error. To increase your memory limit, try these steps:
1. Access your server files with FTP or cPanel.
2. Navigate to your site’s root directory and find the file wp-config.php. This file contains the rule that determines your memory limit. Make a copy of this file as a backup.
3. Open wp-config.php and search for the code “WP_MEMORY_LIMIT.” If you find it in the file, replace the value in this rule with '64M'. If not, paste this line of code at the bottom of the file:
4. Refresh your website. If the error is gone, you’ve found the issue.
This is just a temporary fix — if you’ve exceeded your memory limit, you need to determine why. It’s possible your site has grown too large, in which case you should upgrade your hosting plan to accommodate your storage needs.
However, another potential cause is a plugin or theme that is depleting your memory. To check this, contact your hosting provider and request a report of resource usage, or find this information yourself if your host has it accessible to you.
7. Replace your WordPress core files.
In some instances, your WordPress core files may have been improperly modified by a plugin or theme. If you’ve gotten this far with no fix, it might be worth it to swap out your current core files with clean, unmodified ones. While you’ll still have your site data after this change, you might need to re-toggle some original settings.
To replace WordPress core:
1. Download WordPress and unzip it on your device.
2. In the main wordpress folder, delete wp-config-sample.php and the wp-content folder. If you don’t delete these files, they’ll overwrite your current site data.
3. Use your FTP client to place the new WordPress core files on your hosting server and replace the current files.
If All Else Fails...
As a last resort, reach out to your hosting provider support — the problem may actually be on your server in this case. Explain the troubleshooting you’ve conducted, and they’ll review your server configuration and logs to track down the cause. It’s in situations like this where quality customer service from your hosting provider really shines through.
Internal server errors are so frustrating because they’re ambiguous and sometimes even misleading. Still, by following the steps above, you’ll hopefully come out of it with minimal impact to your WordPress website and your reputation.
One more note: Be cautious about these types of errors when changing your website. We highly recommend testing out your new themes, plugins, and updates in a staging site. This way, if you get a 500, your visitors won’t see it on your live site and you won't be scrambling for a fix.
Originally published Feb 8, 2021 7:00:00 AM, updated March 17 2021