Are you seeing a 500 internal server error in WordPress?
The internal server error is one of the most common WordPress errors.
It is a bit tricky because the error doesn’t give any other information, many beginners find it quite frustrating.
In this article, we will show you how to easily fix the 500 internal server error in WordPress.
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
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:
For beginners, this can be incredibly frustrating. 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.
However, if you know the common causes that trigger this error, then you can try fixing them one by one to resolve the error without breaking anything.
What Causes the Internal Server Error in WordPress?
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 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.
Video Tutorial
If you prefer written instructions, then just continue reading.
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 that is also used by WordPress to set up redirects.
One of the most common causes of the 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 at all.
WordPress will now try to update your .htaccess file or generate a new one for you. 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 not be able 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 for 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 these logs 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.
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 choose the best web hosting provider.
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.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Eduard
Thank you!!! this worked for me too. It was the corrupt .htaccess File. Deleting this one and giving a new one to my clients webfolder helped and prevented me from a new install (I thought of it in my despare)
have a good time you all
eduard
ulrich
The .htaccess file trick did it for me. Thanx
Christiaan Neijens
We changed hosting and ran into the internal server error, luckely renaming the htaccess file worked perfectly.
Thank you!
Martin
Hello there … that internal server error is a strong problem since 10 days I deactivated all plugins – so the wordpress installation worked again – BUT after activating ONE plugin (no matter which one) the error came back … can anyone give me advice?
WPBeginner Support
did you try switching back to default WordPress theme and then activating plugins? You can also try increasing memory size limit available to php.
If this does not solve the problem, then contact your web host.
Admin
jules
THANK YOU ! USED PHP.INI AND removed Jetpack!~ Shouting for joy as I learn I am not as old as I look !
Khym
Hello,
I tried to install a Child plugin in my Wordpress site and after that I encountered an Internal Server Error. Problem is, I can’t locate the installed plugin in my wp-content folder. What I get is an error.txt file with the below details:
PHP Parse error: syntax error, unexpected T_STRING in /home3/kennelsf/public_html/bad-credit-solutions-now/wp-content/themes/uvctheme/functions.php on line 53
I don’t understand if this error is somehow connected to the plugin that I installed but why can’t I see the plugin on my folder?
I really, really appreciate your help!
Thanks!
Editorial Staff
Try looking at what code you have in that line of your functions.php file.
Admin
Georgie
Thank you thank you! Followed your instructions about the htaccess file and that solved not only my Error 500 problem trying to login to my admin panel but another problem I was having with thumbnail images not loading properly using Clockstone theme from CMSMasters.
Cheryl
Thank you so much. I followed your directions for the 500 server error and the .htaccess.The steps worked for after I updated the Permalinks, which took a few tries since the page was loading so slow and the error page kept coming back up. Now all is fine and I also increased the php memory.
Kulwinder Singh
Thanks U very much .
Roxy
Genius! Thank you. I was getting the 500 internal error when selecting menus and customise links inside the admin area, including when trying to live preview for other themes.
I tried all of the steps one by one, and the one that worked was replacing wp-admin and wp-includes from a fresh install of Wordpress on my desktop.
Sorted it out completely! Many thanks indeed.
Now if anyone knows a good code for an accordion menu, that includes the page text in the drop down, please let me know!
Thanks
Roxy
Ellis
Thanks for a clear set of instructions. I worked through them and solved the problem. Great work.
Jahanzeb
Hey, changing the name of the htaccess is giving me 404 errors, and I cant access wp-admin to login, help!
Jahanzeb
Actually, every thing is fixed now, no more 404’s, just that I can’t login! Can anyone help me
Editorial Staff
Clear your cookies.
Admin
Sharad
Thanks a ton- disabling plugin worked for me
Srihari Thalla
Thanks
I forgot to update the Permalinks!!
Editorial Staff
Yup that’ll do it.
Admin
Nishant Shubham
I am too having a problem with this. It says :
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
It happened after I installed a plugin Hide Login. I clecked on Activate and all this started happening. It happens when I try to log in admin panel. Please help me.
Jelle
Rename the folder of the plugin via FTP, that will deactivate it!
Kate
Thanks so much for the Tipps.
I couldn’t get into my Admin Panal. After a few hours I fured out, that somehow my permissions on the wp-login.php file got set to 00… I switched them back and my problem was solved.
Cassy
Thank you very much. The ht.access rename worked for me.
Kailas Kale
Thank u very much for helping me to solve my problem….
Oscar
I followed your tips 1(.httacess), 2(php.ini) and 4(core files) and the problem still is.
If i deactived the plugins, ill need to configurate them later? (i meant, if they were Reset?)
Tip 5, my hosting provider havent gave me any solution yet since long time.
Just to say my blog is on a share server, do i need to chance to a dedicated server or change my hosting provider?
Justin
Thanks Syed, I added something to my .htaccess file and I got the 500 internal message. Renaming the file in cpanel worked and fixed the problem.
Thanks so much, I bookmarked this page for future reference.
Chris
Thank you for this tutorial!
You saved me!!!
I solved it by deactivating the plugins.
Best regards,
Chris
Dan Terry
I backed up the .htaccess file then deleted it off the wordpress main directory then went to settings and permalinks and clicked saved and it fixed it!
Lani
Thank you so much! I was in a stress. This is the last straw for me trying to manage my wp.org site on my own, I’m upgrading to a premium theme so I don’t have this stuff to deal with (I hope). Cheers
Cfouche
I deactivated my plugins and it worked! Spent so much time trying to fix it by adding more php memory, but that was all i needed to do.
Thanks!
Kimmo
I got this same error message and solved it by changing the character encoding of wp-config.php from UTF to ANSI.
Goran
Thanks, mate. The increased memory size fixed the problem. Now Google can index the website again!
Maciej
Thanks!
I only changed name of Htaccess file and that works!
andy
Nice article even I cannot find any solutions for Internal Server Error, but it really help me and enrich my WP knowledge. Thanks again!
Olatubosun
Thanks for the tip. It totally solved the problem I had at my blog.
Thanks again!!!
William Watt
Thank you!
Tadrash Shah
.htaccess was corrupted. I deleted it from my hosting FTP account and things were set to normal.
thanks a ton.
Diana
this worked for me as well!! Thank you so much!!
MundaneStudies
This didn’t fix the problem but it was extremely helpful & gave me a strategy, instead of spending hours reading forum posts that were all over the map. Thanks!
Ruth
I had this problem but it was my pages and posts that wouldn’t show and wp-admin and home were both fine.
I tried everything suggested here to no avail. My host suggested checking my error logs in cPanel and there I found it was one of the pages of my theme, single.php, was spitting out an error.
If you have a similar problem where the admin panel is fine – switch to another theme. If that fixes it you’ll need to either reupload your theme or check your error logs to see which file is causing the problem and just reupload that one.
Hope that helps someone!
Hikmat
Thanks you saved my day…..
Anton DeSiva
Thanks buddy, you really helped me out on this one. Looks like my access file got screwed up (I reckon I know the plugin that caused it too). Once again, thanks!!
marko
A really BIG THANK YOU I could fix this problem with your Help!
Mahali
Thank you very much my problem is fix because your post, re-uploading core file is my answer
oifif
Right in the pain! Complete! Clear!
its just Perfect!
Thx for sharing, and allow me to share the info..
regards,
/oifif
zozo2001
I got the Corrupt htaccess file error and i fixed it by renaming the file and generate blank one. but the issue that i am getting this error every 2 – 3 days and i am doing the same treatment.
any help one this please?
Editorial Staff
Contact your host to see why your .htaccess is getting corrupt so frequently.
Admin
yogesh
a very big thanks from to you i fixed my site problem…
Ege
Hi there, good article just want to expand upon it by sharing what I just went through. So I was getting a 500 error in chrome and firefox was just displaying a blank page.
I added this code:
ini_set(‘display_errors’, ‘1’);
right in the second line of my index.php(after “<?") and it showed me that the actual error was happening because of
require('./wp-blog-header.php');
in my index.php file. Turns out that my host changed the way they handle the file system, and wordpress got burned because of it. Removing the './' before it solved my problem.
Hope this helps someone.
Editorial Staff
Thank you very much for sharing this valuable information Ege. We really appreciate it, and others will too.
Admin
Johanna
Thank for the error tip, it saved my life! This is THE best way to find the error and solve it.
Amms
only thiis works for me.
zozo2001
Excellent post, first solution worked great for me.
You saved my day.
Sofie
Hi there,
When I tried to go onto my site yesterday I got the Internal Server Error. I went to the support forum of my host and found how to access my error logs, but … the button to access them wasn’t working.
I did a database restore, which made the site work again, but today someone notified me the site had been down again. It seems to go on and off without me changing anything.
I’ve now finally managed to get into my error logs and it lists 4 weird names that end on ‘-error.log’ AND the .htaccess.
So I’m guessing that’s corrupt.
However, when I tried to rename the .htaccess I got an error message saying that that filename didn’t exist and so the old name remained.
Any idea on how I can work around this?
I’ve already contacted my host multiple times and while they’re saying they’re looking into it, I’m guessing they aren’t really…
Editorial Staff
Sounds like a corrupt .htaccess. Try using the FTP to upload a blank .htaccess file.
Admin
Sofie
And how do I do that?:)
Dan
Corrupt htaccess file after I tried to update an event calendar plug-in. I had it fixed in two minutes AFTER finding your article. Whew!!! Thanks for lowering my blood pressure!!!
Leah
thx SO much, i had a corrupted htaccess..i almost had a heart attack, thx for the info
Manveet Singh
I get this error when I hit ‘publish’ on a new post a few times now.
It looks like deactivating plugins would be the best way for me, right?
Luis
How many and what plugins do you use?
Rajandran R
For a dedicated server with a quite high traffic site what is the ideal settings for PHP memory limit
Does 64MB does good?
Editorial Staff
Best to ask your hosting provider because it depends on the dedicated server specs.
Admin
Patrice Albertus
Thanks for this article. Error 500 in a common issue on WP. Unfortunately for is no real solution (except maybe paying for an expensive dedicated server with 2048Mo memory…). The plugin solution seems also to be relevant.
Mukesh Kumar
I already tried doing the php.ini memory=20MB solution but it did not work. I uploaded it under the wp-admin/ folder.
I’m not really sure what else to try. Help?
Shikeb Ali
I have faced this problem quite a few times, and re uploading core WP file solved problem for me twice and once it was .htaccess file was corrupt.
Thanks for information about PHP memory increase.
Editorial Staff
Anytime man. We often create these articles as a reference for when we run into the problems in the future (specially for our new staff).
Admin
Luis
This sounds like a disk failure.