The WordPress internal server error is not easy to resolve among many website issues you might face. You may have to spend a great deal of time identifying its root cause.
But, since you are reading this article, we can make your troubleshooting much simpler and quicker. You can follow the step-by-step guide that helps you identify and solve the error instantly.
Before we proceed to the actual troubleshooting methods, let us try to understand what this error means.
What is WordPress Internal Server Error?
WordPress Internal Server Error is a common problem that you can face while trying to load your site. It also refers to 500 Internal Server Error or HTTP Error 500.
Though its name suggests an issue with the server, the cause of its problem may be other reasons as well. Also, most of the time, the case is not related to the server that hosts your website.
If you look at the status code definition provided by w3.org, then the explanation of 500 Internal Server Error is:
You might find that the reason may be a faulty plugin, a memory limit of PHP, or something else. WordPress does not mention the particular origin of this situation. So, you have first to find out the specific cause and solve it.
Backup Your Site Before Fixing WordPress Internal Server Error
The troubleshooting steps for Internal Server Error involves some risk. You might end up deleting some crucial website files. We highly recommend you back up the site content before moving on to manually solving the issue.
You can backup your WordPress files with either the manual method or using plugins. When you follow the first approach, make sure to save it at multiple locations. Also, test and backup files before making changes to your main WordPress content.
Some popular backup plugins are BackupBuddy, UpdraftPlus, VaultPress, and more.
How to Fix WordPress Internal Server Error?
It’s time to troubleshoot your website using eight approaches. If you resolve the issue within the first few steps, then there is no need to proceed further. However, you can educate yourself with all these methods in case you face the same trouble later.
1. Turn Debugging “ON”
As mentioned earlier, WordPress does not mention the particular issue that causes the internal server error. However, there is a specific way of requesting WordPress to display why it could not load your site.
Enter the root directory of the website using either FTP or File Manager. This directory includes many core files and folders. One of the core files is the wp-config.php.
Enter this PHP file, and you will see an editing interface with lots of programming codes. Scroll down till you reach the line of code that reads, /* That’s all, stop editing! Happy publishing. */
Right above this sentence, you can see another line of code: “define( ‘WP_DEBUG,’ false );.” Replace the word “false” to “true” in that statement. This change commands WordPress to debug your website.
However, if you do not find this programming code, then don’t panic. You have to write the code into the wp-config.php file. A more conventional way is to copy the below-given code to the editing interface.
define( ‘WP_DEBUG’, true );
Save the file and reload your website. Did you see another message stating the actual cause of server error? If yes, then you can go to the specific web element that is causing the trouble.
If WordPress mentions there is some plugin-related issue, then you can disable that particular plugin. Similarly, if a theme is corrupt, then you can switch to another one.
But WordPress can fail to show you the exact cause of the problem. You have to keep the debugging status “true” and move to the other steps. After you correct the issue, come back to the wp-config.php file to turn it back to “false.”.”
2. Create a New .htaccess File
Another step involves creating a new .htaccess file to replace with the possibly faulty one. Go to the root directory of your website using FTP and search for the .htaccess file. You need to turn on the setting for showing hidden files if you can’t locate it here.
You have to delete your website’s .htaccess file. You don’t have to remove the entire file though. Simply renaming the file’s name to “.htaccess.bak” does the trick.
After deleting the older version, you have to create a new .htaccess file. Go to the WordPress dashboard and search for the “Settings” button on the sidebar menu. Hover your mouse to the button, and you can see a “Permalinks” option.
Click on that option, and you will enter the Permalink Setting page. Subsequently, click on the “Save Changes” button after scrolling down the page. Now go back to the website and check whether the issue is gone or not.
If the site loads correctly, then the culprit was the corrupted .htaccess file. In contrast, if your website still shows the same message, then move on to other steps.
3. Increase PHP Memory Limit
Sometimes, your website might show internal server error due to a lack of PHP memory space. Though this step is temporary and does not resolve the actual issue, it still helps you identify the primary cause.
Go to the same root directory that we mentioned in the above steps. Enter the wp-config.php file and search for the WP_MEMORY_LIMIT text. If you don’t find it, copy the following text and paste it inside the PHP file.
define(‘WP_MEMORY_LIMIT’, ‘64M’);
Save the file after editing and upload it to the root directory for overwriting the original file. Refresh your website to check its status. If the site works well, then the primary cause was the limited memory space of PHP.
However, merely changing the code is just a temporary solution to this problem. You now have to check for some broken lines of code within the website. The reason could be a third-party plugin or something else.
You can proceed to another step if your website still does not work.
4. Deactivate all Plugins
If you find the leading cause of this error as a lack of PHP memory, you have to check every plugin’s performance. Even if the culprit is not related to PHP memory, you still have to test them. A corrupt plugin could hamper other elements of the site.
You have to go to the File Transfer Protocol (FTP) once again to access the root directory. Open the “wp-content” folder and search for the “plugins” subfolder. Rename this folder to something else, like “plugins500”.
With this action, you disable every plugin on your website. Now reload the site and check whether it’s working or not. If this process resolves the internal server error, then a faulty plugin is the culprit.
Go back to FTP and revert the name of the folder to “plugins.” Enter this folder and keep changing the name of every plugin.” one at a time. Check your website’s status every time you change the names.
You can stop this process when you see that the site is running correctly after disabling a plugin. That extension is causing this internal server error. So, you can delete and reinstall it.
5. Activate a Default Theme
In addition to testing the site’s plugin, you need to check the performance of the theme in use. Install and activate a default theme for this process. If your current web template is causing the problem, then disabling it is the best prevention.
Go to your WordPress dashboard and search for the “Appearance” button. Hover your mouse on it to see a drop-down menu. Click on the “Themes” icon in the list and scroll down till you see the “Twenty Sixteen” theme.
Reload your website and see the changes. Does your website load correctly now? If yes, then you’ve found the primary culprit. Contact the author of that theme to mention this issue.
If that’s your theme, then make sure to get it repaired by a developer. However, if you still can’t get your website to work, then proceed further.
6. Uploading Newer Version of wp-admin and wp-includes
Your website may face the internal server issue if the core WordPress files are corrupt. In this situation, you have to download a newer version of WordPress. Extract the data and copy two of its folders, “wp-admin” and “wp-includes.”
Go to your site’s root directory using FTP and delete the folders with the same name. Paste the copied folders from the newer WordPress file here. Now check the performance of your website and see if the error is visible or not.
Is it gone? Does your website work perfectly now? If yes, congratulations! You resolved the internal server error with manual troubleshooting.
But, if you are still struggling with the same problem, you can only rely on external support.
7. Contact Web Hosting Provider
Finally, if none of the approaches works in your favour, you need to seek support from the web hosting provider. Most of the hosting providers provide a 24/7 support system. You can state the problem at any time of the day.
Suggest them to check the server logs and every other aspect of your website. You may find that the current hosting package can not support your website files. In this case, upgrading your plan or switching to a better hosting service may be ideal.
Bluehost, SiteGround, and WPEngine are the market leaders in web host services. You can opt for these platforms if your current hosting provider is not satisfactory.
Wrapping Up!
We hope that you have found a way to resolve the WordPress internal server error at the end of this article. Almost all methods in this article require you to access the FTP account of your website.
File Transfer Protocol (FTP) lets you transfer computer files to the website server. You can also access and update the website files using cPanel. However, FTP is much simpler and more common than cPanel.
So, if you want to access the web files using FTP, then we recommend FileZilla. It is open-source software that makes internal website settings simple.
Please mention your suggestions and feedback in the comment section below. If you want to contribute further methods to resolve this issue, please feel free to do that.
Also, check out our article on How to Increase the Maximum File Upload Size.