We’ve been there—seeing that dreaded 500 internal server error pop up on your website can be scary. It’s one of those moments when your heart skips a beat, even though we’ve tackled it more times than we can count.
This error is one of the most common (and stubborn) issues WordPress users face. And the worst part? It’s a bit of a mystery, giving no real clues as to what went wrong. It just shows up like an unwanted guest and refuses to leave.
In this guide, we will walk you through the exact steps to fix the 500 internal server error in WordPress. Just follow along, and you’ll have your site back up and running smoothly in no time.
Here is a quick overview of the topics we will cover in this article:
- What Is the 500 Internal Server Error?
- What Causes the Internal Server Error in WordPress?
- Fixing the 500 Internal Server Error in WordPress
- Clear WordPress and Browser Cache
- Checking for Corrupt .htaccess File
- Increasing the PHP Memory Limit
- Deactivate All WordPress Plugins
- Switch to a Default WordPress Theme
- Re-Uploading Core Files
- Enable Debug Logs in WordPress
- Ask Your Hosting Provider
- Video Tutorial
What Is the 500 Internal Server Error?
The 500 internal server error is a common web server error. It is not specific to WordPress and can happen with any website.
The 500 in the error message is technically an HTTP error code. Looking up this code will only show its standard description:
“500 Internal Server Error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.“
This is a generic catch-all error message, which means that the server was unable to assign a better, more helpful error message when it encountered the issue.
The error page looks different depending on which web server software (Nginx or Apache) your website uses and which browser you use.
Here is how the Apache error page may look:
It may look different if you are using Nginx and Google Chrome.
It will also look different if Google Chrome is unable to find an error page to display:
This can be incredibly frustrating for beginners. No clue or message will point them in the right direction to quickly fix it.
Asking how to fix an internal server error is like asking your doctor how to fix the pain you are experiencing without telling them where the pain is.
From our experience, a step-by-step approach makes dealing with such errors easier. We’ll guide you through addressing the common causes of the error, one by one, until they’re resolved.
Get Expert Help Anytime with On-Demand WordPress Support!
Dealing with an internal server error can be frustrating. Our On-Demand WordPress Support is here to help you fix technical issues quickly and effectively.
- One-time payment for expert on-demand support
- Fast turn-around times
- Available 24/7
What Causes the Internal Server Error in WordPress?
The internal server error in WordPress is often caused by a corrupt .htaccess file, poorly coded plugins, or your active WordPress theme.
Other possible causes of the internal server error in WordPress are the PHP memory limit or corrupt core WordPress files.
In some conditions, the internal server error may only show up when you are trying to access the WordPress admin area while the rest of the site works fine.
Usually, the error is triggered before WordPress can load and the server cannot get enough information about what stopped it.
To understand more, see our article on how WordPress works behind the scenes.
That being said, now let’s take a look at how to go about troubleshooting the internal server error in WordPress.
Fixing the 500 Internal Server Error in WordPress
Before you begin troubleshooting, make sure that you have a complete WordPress backup of your website on hand.
If you have access to the WordPress admin area, then you can use a WordPress backup plugin to create a complete backup of your website.
We recommend using Duplicator to handle this. It not only helps you quickly back up your website, but you can also store your backups on the cloud, and most importantly, you can restore your website from backup.
On the other hand, if you don’t have access to the WordPress admin area, then you can manually create a WordPress backup using phpMyAdmin and an FTP client.
After that, you can follow the following steps to troubleshoot and fix the internal server error on your website.
Clear WordPress and Browser Cache
Browsers and your WordPress caching plugins can sometimes mistakenly store a cached copy of an error page.
The easiest way to fix this is by first clearing your browser cache.
After that, if you have access to the WordPress admin area of your website, then you can empty the WordPress cache by visiting your caching plugin’s settings page.
For details, see our tutorial on how to clear WordPress cache.
Checking for Corrupt .htaccess File
The .htaccess file is a server configuration file used by WordPress to set up redirects.
One of the most common causes of internal server error is the corrupt .htaccess file.
The easiest way to fix this is by simply visiting the Settings » Permalinks page in the WordPress admin area and then clicking on the ‘Save Changes’ button without making any changes.
WordPress will now try to update your .htaccess file or generate a new one. You can now visit your website to see if this has resolved the internal server error.
If you can still see the error, then you need to make sure that WordPress was able to generate or write to the .htaccess file.
Sometimes, due to file and directory permissions, WordPress may be unable to create or write to your .htaccess file.
You can now try to replace the .htaccess file manually. First, you need to log in to your website using FTP or the File Manager app under your hosting account control panel.
Next, you need to rename your main .htaccess file to something like .htaccess_old. This lets you keep the file as a backup, but WordPress won’t recognize it.
To rename the .htaccess file, you will need to log in to your site using FTP or the File Manager app in your hosting account’s cPanel dashboard.
Once you are connected, the .htaccess file will be located in the same directory where you will see folders like wp-content, wp-admin, and wp-includes.
Simply right-click on the .htaccess file and rename it to .htaccess_old.
Next, you need to create a new .htaccess file.
Inside your site’s root folder, right-click and then select the ‘Create new file’ option in your FTP client or File Manager app.
Name this new file .htaccess and click ‘OK’ to save it.
Now, this .htaccess file is currently empty, and you need to add default WordPress rewrite rules to it.
Simply right-click on the file and then select ‘View/Edit’ in your FTP client or File Manager app.
The empty file will open in a plain text editor like Notepad or TextEdit.
Now, you need to copy and paste the following code inside it:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
This code is the default rule set used by WordPress. Don’t forget to save your changes and upload the file back to the server.
You can now visit your website to see if this has resolved the internal server error.
If it did, then give yourself a pat on the back because you fixed the internal server error.
Important: Before you move on with other things, make sure that you go to the Settings » Permalinks page in the WordPress admin area and click the Save button without making any changes. This will regenerate the .htaccess file for you with proper rewrite rules to ensure that your post pages do not return a 404 error.
If checking for the corrupt .htaccess file solution did not work for you, then you need to continue reading this article.
Increasing the PHP Memory Limit
Sometimes, the internal server error can happen if a script consumes all the PHP memory limit.
The easiest way to increase the PHP memory limit is by editing the wp-config.php file. Be careful when you do this if you are a beginner. You want to follow these instructions carefully because even small mistakes in WordPress core files can break your site.
To begin, simply connect to your WordPress website using an FTP client or the File Manager app under your hosting account control panel.
You’ll find the wp-config.php file inside the main folder of your website. Right-click on it and select ‘Download.’ This will ensure that you have a file backup in case something goes wrong.
When you’ve saved that, you can right-click on it and select ‘View/Edit.’
Inside the wp-config.php file, you need to add the following code just above the line that reads, ‘That’s all, stop editing! Happy publishing’:
define( 'WP_MEMORY_LIMIT', '256M' );
For more details, see our tutorial on how to increase the PHP memory limit in WordPress.
Note: If 256M doesn’t solve the problem, then try increasing it to 512M.
If you see the internal server error only when you try to log in to your WordPress admin or upload an image in your wp-admin, then you should increase the memory limit by following these steps:
- Create a blank text file on your computer and name it php.ini
- Paste this code in there: memory=256MB
- Save the file
- Upload it into your /wp-admin/ folder using FTP
If increasing the memory limit fixed the problem for you, then you have only fixed the problem temporarily. You still need to find the cause that is exhausting your memory limit.
This could be a poorly coded plugin or even a theme function. We strongly recommend that you ask your WordPress web hosting company to look into the server logs to help you find the exact diagnostics.
If increasing the PHP memory limit did not fix the issue for you, you are in need of more troubleshooting.
Deactivate All WordPress Plugins
If none of the above solutions worked for you, then this error is most likely being caused by a specific plugin installed on your website.
It is also possible that it is a combination of plugins that are not playing nice with each other.
If you can access the WordPress admin area of your website, then you can simply go to the plugins page and deactivate all WordPress plugins.
However, if you are unable to access the WordPress admin area, then you can deactivate all WordPress plugins using FTP.
Simply connect to your WordPress website using an FTP client or the file manager app under your hosting account control panel.
Once connected, navigate to the /wp-content/ folder and rename the plugins folder to plugins.deactivated.
WordPress looks for plugins in the plugins folder. If the plugins folder is not found, it will automatically deactivate all plugins.
You can now try visiting your website to see if this resolved the internal server error on your website.
To restore all your plugins, you can simply rename the ‘plugins.deactivated’ folder back to plugins.
Your plugins will now be restored, but they will still be deactivated.
You can now activate plugins individually and visit your website to figure out which plugin is causing the internal server error.
For more details, see our guide on how to deactivate all WordPress plugins without wp-admin.
If deactivating all plugins didn’t fix the internal server error on your website, then continue reading.
Switch to a Default WordPress Theme
One possible cause of the internal server error could be some code in your WordPress theme.
To determine if this is the case, you need to switch your theme to a default WordPress theme.
If you have access to the WordPress admin area, then go to the Appearance » Themes page. If you have a default theme already installed, then you can simply click on the Activate button to switch the theme.
If you don’t have a default theme installed, you can click on the ‘Add New’ button at the top and install a default theme (Twenty Twenty-Three, Twenty Twenty-Two, and so on).
If you don’t have access to the WordPress admin area, you can still switch to a default theme.
Simply connect to your WordPress website using an FTP client and navigate to the /wp-content/ folder.
Right-click to select the themes folder and download it to your computer as a backup.
Next, you need to delete the themes folder from your website. Once it is deleted, go ahead and create a new themes folder.
Your new themes folder will be completely empty, which means you don’t have any WordPress themes installed at the moment.
Next, you need to visit the WordPress themes directory and download a default WordPress theme to your computer.
Your browser will then download the theme as a zip file to your computer.
Locate the file on your computer and then unzip it. Windows users can unzip the file by right-clicking on it and then selecting ‘Extract All’. Mac users can double-click on the zip file to extract it.
You’ll now see a folder containing your WordPress theme.
Switch back to your FTP client or File Manager up and upload this folder to the empty themes folder.
Once uploaded, WordPress will automatically start using the default theme.
You can now visit your website to see if this resolved the internal server error.
If this doesn’t work, then you can reupload your WordPress themes from the backup or switch back to the theme you were using.
Don’t worry. There are still a few more things you can do to fix the error.
Re-Uploading Core Files
If the plugin and theme options didn’t fix the internal server error, then it is worth re-uploading the /wp-admin/ and /wp-includes/ folders from a fresh WordPress install.
This will NOT remove any of your information, but it may solve the problem in case any file is corrupted.
First, you will need to visit the WordPress.org website and click on the ‘Download’ button.
This will download the WordPress zip file to your computer.
Go ahead and extract the zip file. Inside it, you will find a wordpress
folder.
Next, you need to connect to your WordPress website using an FTP client.
Once connected, go to the root folder of your website. It is the folder that has the wp-admin, wp-includes, and wp-content folders inside it.
In the left column, open the WordPress folder on your computer.
Now you need to select all files inside the wordpress
folder and upload them to your website.
Your FTP client will now transfer those folders to your server.
It will ask you whether you would like to overwrite the files. Select ‘Overwrite’, then select ‘Always use this action’ and check the ‘Apply to current queue only’ checkbox.
Your FTP client will now replace your older WordPress files with new, fresh copies.
If your WordPress files were corrupted, then this step will fix the internal server error for you.
Enable Debug Logs in WordPress
WordPress comes with a built-in system to keep logs for debugging.
You can turn it on by using the WP Debugging plugin. For more details, see our guide on how to install a WordPress plugin.
Once activated, the plugin will turn on debugging logs on your WordPress website.
If you don’t have access to the admin area of your WordPress website, then you can turn on debugging by adding the following code to your wp-config.php file:
define( 'WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true);
Once you have turned on debug logs, you can view them by using an FTP client and navigating to the /wp-content/ folder.
You can open the debug log file in a text editor, and it will show you a list of errors and warnings that occur on your website.
Some errors and warnings can be harmless incidents that may not need fixing. However, if you are seeing an internal server error on your website, then these may point you in the right direction.
Ask Your Hosting Provider
If all methods fail to fix the internal server error on your website, then it is time to get some more help.
Contact your web hosting support team, and they will be able to check the server logs and locate the root cause of the error.
If you want to continue troubleshooting on your own, then see our ultimate WordPress troubleshooting guide for beginners.
Video Tutorial
We hope this article helped you fix the internal server error in WordPress. You may also want to see our complete list of the most common WordPress errors and our guide on how to contact WordPress support.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Olaf
Regarding the memory limit, I’d like to point out that it’s not the only limit that can cause an error. It’s also good to focus on the max execution time. This limit tells the server how long it can run a script before forcibly terminating it. If this limit is set too low, the site might try to perform a more demanding action, but fail to complete it within the given time. The server then forcibly stops the script, which can also result in a 500 error. So, if increasing the memory limit doesn’t help, you might want to try increasing the max execution time as well.
Shashank Priyadarshi
I am facing the same issue. Internal Server Error (HTTP 500 Internal Server Error) in my site. I tried following the steps, but i think i am missing something. I am not very good with servers and such. Please help…
WPBeginner Support
If none of the recommendations from our guide are able to help you solve the error, please reach out to your hosting provider and they should be able to assist!
Admin
Jiří Vaněk
Renaming the htaccess file first helps me when looking for a problem. This will rule out a problem in this file. Then I try to rename the folder with plugins. If none of this helps, try asking the web provider. Usually, it can also be a specific php or server setting.
Jiří Vaněk
As for the 500 error, in practice it has proven to be the fastest method to contact my provider and ask him for a printout of the error log. Very often, a problem appears there, which may be due to an unauthorized directive in the .htaccess file, or in the rights on the Wordpress folder. with Error 500, it is probably best to really look at the logs right from the start. It can solve many problems very quickly.
Uzair
Encountering the 500 Internal Server Error in WordPress has been a recurring challenge for me on client websites. I’ve found that the causes are often multifaceted, influenced by various factors such as the hosting provider and the specific WordPress environment, including the plugins and themes in use. Your article shed light on this complexity, and I appreciate it.
WPBeginner Support
Glad we could help with troubleshooting this issue
Admin
A Owadud Bhuiyan
Thanks for sharing.
Sometimes I actually do the permalink-saving thing. But I never knew the details about it.
Now it’s very clear to me.
WPBeginner Support
Glad we could share why it works
Admin
Arielle
OMG you are a lifesaver!!! Simply uploading and replacing the WP admin and include file worked like magic!! THANK YOU !!!
WPBeginner Support
Glad our recommendations could help!
Admin
Taimoor Khan
The main cause of this problem is because of the Plugins updation. I faced that problem and can’t even access the Dashboard. So what I did for that is to log in to my hosting and update all my plugins which will help me in getting rid of that problem.
WPBeginner Support
Thank you for sharing what worked for you! It is not always the plugins but that can certainly be one of the causes.
Admin
Ryan
Great Thanks fixed mine and running smooth
WPBeginner Support
Glad our guide was able to help!
Admin
David Cao
My .htaccess file was corrupted, thank goodness I found this article. Thank you very much!
WPBeginner Support
Glad to hear our guide was helpful!
Admin
gagan deep
thank you for saving my job
WPBeginner Support
Glad our guide could help!
Admin
Gultekin irengun
I was looking for a fix and neither reallt worked for me to fic 500 errors for the pages of a site in multisite when I recently changed the domain name.
What fixed it was, changing permalinks to plain. So I guess, re-doing permalinks was the easiest fix.
WPBeginner Support
Thanks for sharing what worked for you, with the pretty permalinks not working, you may want to check with your hosting provider that mod_rewrite is enabled for your sites.
Admin
Bianca
Thanks for this article. Just want to add an extra tip:
Also check for additional .htaccess files in other folders like for example the ‘uploads’ folder. This may cause a partial 500 internal server error for images and everything that is in that folder. I experienced this recently and was caused by a rigid setting in a security plugin.
WPBeginner Support
Thanks for sharing what solved this issue for you
Admin
Kate
Thank you for sharing that tip! After going through all the steps in the post and still getting the error on my images, I found an extra .htaccess file that was causing the problem. I’m so glad I decided to read these comments.
Mr Terry McBride
A most excellent tutorial, watched to keep me on the ball so to speak, but
one issue that you missed, and I recently had, was a corrupted wp-config.php file – that was also causing me 500 errors.
I urge everyone to copy this particular fie to their own machine for safe keeping, My own hosting provider (though brilliant), couldn’t hep me.
Simply copying my own backup via FTP to my /public_html folder – saw my own site miraculously appear again.
Hope it helped.
WPBeginner Support
Thank you for sharing what worked for you.
Admin
Gordon
Wow… Just the permalink thing fixed it. Thanks!
WPBeginner Support
Glad our guide helped
Admin
Ramon Olivencia
In my case, I was getting an “HTTP ERROR 500” and an “Internal Server Error”, particularly at my WooCommerce checkout. GoDaddy fixed the issue after looking at the error log and increasing the memory limit by inserting a .user.ini file and then adding “define (‘WP_MEMORY_LIMIT’, ‘2048M’ );” to my wp-config.php file.
WPBeginner Support
Thanks for sharing what worked for you
Admin
Björn
Awesome! My .htaccess file was corrupted. Saved my life! And I received a pat on my back
WPBeginner Support
Glad our guide could help
Admin
Qais Azam
Thank you so much it worked for me
WPBeginner Support
Glad our guide was helpful
Admin
American
I have tried all these methods, the error goes away by re-installing wordpress or refreshing core files but it appears again and again when I try to update any plugin or perform any task in the dashboard.
Please advice, what could be the possible reason that it is keep happening with me.
WPBeginner Support
For that continued issue, please reach out to your hosting provider and they should be able to assist.
Admin
Christopher
This video training was very helpful. Thank you.
WPBeginner Support
You’re welcome
Admin
Oli
Thanks for this tutorial! It worked for my issue!
WPBeginner Support
Glad our guide was able to help you
Admin
Jay
You save me…The last one worked for me
WPBeginner Support
Glad our guide was helpful
Admin
Connor
The issue for me was Wordfence security plugin installs an htaccess file in the wp-content/uploads file. Delete this an the internal error disappears! I hope this will help somebody
WPBeginner Support
Thanks for sharing what worked for you
Admin
Maax
My error appears when I’m trying to make an update via elementor
It has not been resolved
WPBeginner Support
We would recommend reaching out to Elementor’s support if you are having an issue with Elementor.
Admin
Chan
Thank you so much. I
‘m an experience web developer but new to Wordpress.
Had a 500 error, found this guide and followed it and my problem was solved.
WPBeginner Support
Glad our guide was helpful
Admin
Emel
Hello there!
Error code 500 appears when I click on the browser. The page never opens up since I updated the theme!
I cannot even open my website to update it according to your instruction here. What to do in that case? Thanks in advance!
WPBeginner Support
You would want to use FTP to connect to your site for our recommendations, you can take a look at our guide on FTP below:
https://www.wpbeginner.com/beginners-guide/how-to-use-ftp-to-upload-files-to-wordpress-for-beginners/
Admin
mohamad
Hi. Thankful.
for Error 500.
My problem was after updating the template.
The problem was solved by updating php version.
WPBeginner Support
Thanks for sharing what worked for you
Admin
Ali Fawad
Very very useful blog all the time.
WPBeginner Support
Thank you
Admin
lanre
Hello. I’m having the same problem on my site and it’s hosted on gcp. I tried installing some plugins before I got this error. Is there a way I can remove the plugin from mysql database or do I need to do it through the htaccess file. This blog is true great as it has helped me with most of my site issues. Hope this works also
WPBeginner Support
You would want to use FTP to disable your plugin files for the simplest method.
Admin
lanre
thank you very much. it worked like magic. the thing now is should I delete the old .htaccess file or rename it back? Thanks once again
WPBeginner Support
You can get rid of the old file if that was giving you errors and resaving your permalinks should create a new file for you.
Sophie
You save me every time! Renaming the .htaccess file and saving the page permalinks worked for me, the problem occurred after I updated all my plugins and cleared my cache. Thanks a lot!
WPBeginner Support
Glad our guide was able to help you
Admin
Esther Mitchell
Hi,
I followed your guidance and need to undo the .htaccess change. Should I delete the new .htaccess and thereafter rename the old .htaccess_old to its original name .htaccess to do so? Hope you see this note soon and can help.
WPBeginner Support
You can certainly do that to make the old htaccess active for your site.
Admin
Erica
Well, this is nice information! Thanks for sharing this as it would help many users to know about important information about WordPress. Knowing about this, we are looking forward to implementing things accordingly.
WPBeginner Support
Glad you found our guide helpful
Admin
Mark
Nice work,
It work for me if i create php.ini file
WPBeginner Support
Thanks for sharing what worked for you
Admin
Rita
Thanks so much! Re-uploading the WP core files solved my issue.
WPBeginner Support
You’re welcome, thanks for sharing which method worked for you
Admin
seb
Thanks a lot, htacess was the problem !!!
WPBeginner Support
Glad our guide was helpful
Admin
Jackie Branc
Very helpful. Thanks a lot!
WPBeginner Support
You’re welcome
Admin
Adel
Very helpful as usual, thank you
WPBeginner Support
You’re welcome, glad our guide could be helpful
Admin
Caitlin
Similar issue my website disappeared while undergoing a major update from a commerce platform plugin. Coming from no experience with these things, this solution was easy to follow even from a different file manager.
Thank you.
WPBeginner Support
You’re welcome, glad we could be helpful
Admin
Haris
Best website for fixing WordPress errors. Thank you once again
WPBeginner Support
You’re welcome, glad you’ve found our guides helpful
Admin
Sonam Jain
Your blog was very helpful. I had to upload the core files and the steps given by you made it very easy for me. Thank you.
WPBeginner Support
You’re welcome, glad our guide was helpful
Admin
Timothy Franceschi
Wow! Very helpfull! Thanks
WPBeginner Support
You’re welcome, glad our guide was helpful
Admin
Luiz Verçosa
In my case, the problem was that my PHP version was automatically updated by my host and my old Wordpress version was incompatible with it. They themselves found the problem and fixed it after my contact through e-mail.
WPBeginner Support
Thanks for sharing the issue you ran into and how it was fixed for others running into this problem
Admin
Stephan
Hi, thank you very much for your help. You solve my problem. (broken plugin)
Best regards from Germany,
Stephan
WPBeginner Support
Glad our recommendations could help
Admin
ibrahim
thanks, renaming the htaccess file did worked for me
WPBeginner Support
You’re welcome, glad our recommendation was helpful
Admin
Rene Con
My site is on HTTP Error 500, I did all the steps to fix the issue, is not working at all yet
WPBeginner Support
If you reached out to your hosting provider they should be able to give you a better idea of the source of the issue.
Admin
Saif Fuad
Thank you very much, one of the WP plugin was causing the error, i deactivated it made new installation of that specific plugin and it worked.
Thanks
WPBeginner Support
Glad our recommendation could help
Admin
Jaine
You save my site. Can’t thank you enough. Your instructions were clear and easy to follow. You’re amazing!
WPBeginner Support
Glad our guide could help
Admin
Eleni
Thank you so much!!!
WPBeginner Support
You’re welcome, glad our guide was helpful
Admin
Ajay vaja
wp-includes/post.php File are missing my site and admin panel are not opening
Error Message :- The site is experiencing technical difficulties
WPBeginner Support
You could start by trying to update WordPress using FTP which we explain in our article here:
https://www.wpbeginner.com/beginners-guide/ultimate-guide-to-upgrade-wordpress-for-beginners-infograph/
If that does not work you would want to go through our troubleshooting steps here:
https://www.wpbeginner.com/wp-tutorials/how-to-fix-the-wordpress-white-screen-of-death/
Admin
Siddharth
Thank you for saving my blog.
WPBeginner Support
You’re welcome, glad our article could help
Admin
amit sharma
yeah Thanku so much ! i solved this problem
WPBeginner Support
Glad our article could help
Admin