Are you seeing 500 internal server error in WordPress?
Internal server error is one of the most common WordPress errors. Since 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 internal server error in WordPress.

What Causes Internal Server Error in WordPress?
Internal server error is not specific to WordPress. It can happen with any website running on a web server. Due to the generic nature of this error, it does not tell the developer anything.
Asking how to fix an internal server error is like asking your doctor how to fix the pain without telling them where the pain is.

Internal server error in WordPress is often caused by plugin or theme functions. Other possible causes of internal server error in WordPress that we know of are: corrupted .htaccess file and PHP memory limit.
We have also heard internal server error only showing up when you are trying to access the admin area while the rest of the site works fine.
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 don’t like the video or need more instructions, then continue reading.
Checking for Corrupt .htaccess File
The first thing you should do when troubleshooting the internal server error in WordPress is check for the corrupted .htaccess file.
You can do so by renaming your main .htaccess file to something like .htaccess_old. To rename the .htaccess file, you will need to login to your site using FTP or File Manager app in your hosting account’s cPanel dashboard.
Once you connected, the .htaccess file will be located in the same directory where you will see folders like wp-content, wp-admin, and wp-includes.

Once you have renamed the .htaccess file, try visiting your site to see if this solved the problem. If it did, then give yourself a pat on the back because you fixed the internal server error.
Before you move on with other things, make sure that you go to Settings » Permalinks page in WordPress admin area and click the save button without making any changes. This will generate a new .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 internal server error can happen if you are exhausting your PHP memory limit. Use our tutorial on how to increase PHP memory limit in WordPress to fix that.
If you are seeing the internal server error only when you try to login to your WordPress admin or uploading an image in your wp-admin, then you should increase the memory limit by following these steps:
- Create a blank text file called php.ini
- Paste this code in there: memory=64MB
- Save the file
- Upload it into your /wp-admin/ folder using FTP
Several users have said that doing the above fixed the admin side problem for them.
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, then you are in for some more troubleshooting.
Deactivate all Plugins
If none of the above solutions worked for you, then this error is most likely being caused by a specific plugin. It is also possible that it is a combination of plugins that are not playing nice with each other.
Sadly, there is no easy way to find this out. You have to deactivate all WordPress plugins at once.
Follow the instructions in our guide on how to deactivate all WordPress plugins without WP-Admin.

If disabling all plugins fixed the error, then you know it is one of the plugins that is causing the error.
Simply go to the WordPress admin area and click on ‘Plugins’. Now you need to reactivate one plugin at a time until you find the one that caused the issue. Get rid of that plugin, and report the error to the plugin author.
Re-uploading Core Files
If the plugin option didn’t fix the internal server error, then it is worth re-uploading the wp-admin and wp-includes folder from a fresh WordPress install.
This will NOT remove any of your information, but it may solve the problem in case any file was corrupted.
First you will need to visit the WordPress.org website and click on the Download button.

This will install WordPress zip file to your computer. You need to extract the zip file and 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 wp-admin, wp-includes, wp-content folders inside it.
In the left column open the WordPress folder on your computer. Now you need to select wp-includes and wp-admin folders and then right-click and select ‘Upload’.

Your FTP client will now transfer those folder to your server. It will ask you whether you would like to overwrite the files. Select ‘Overwrite’ and then select ‘Always use this action’.

Your FTP client will now replace your older WordPress files with newer fresh copies. If your WordPress files were corrupted, then this step will fix the internal server error for you.
Ask your Hosting Provider
If all methods fail to fix 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 beginners guide on troubleshooting WordPress.
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.
Ryan says
I get the same Internal Server Error happening every couple of weeks now.
Each time it’s an issue with the .htaccess file, it’s an easy fix to get the site up and running thanks to the info you provided above but is there anything I can do that will prevent the error re-occurring?
Thanks.
carl says
Thanks dude, you saved my beans and saved me from some real hassle. Super Kudos
Anil says
Any advice for intermittent 500 errors?
WHITEFEATHER HUNTER says
I tried renaming the htaccess file to htaccess_old like you said, and it disappeared! Now I get 404 errors every time I try to load the website’s various pages.
My original problem was indeed the plugins – deactivating them brought my website back online. However, NOW I have this 404 problem.
Also, I cannot find a Settings option in FileZilla – can you please help?
Thanks!
Chad Warren says
The reason you are receiving 404 errors is because you have renamed your .htaccess file The .htaccess file contains the rewrite code to make your links pretty. ie: http://www.example.com/about instead of http://www.example.com/?p=259
The simplest way to correct this is to log into the WP admin and go to Settings >> Permalinks Make sure you have the proper permalink option selected and then Save. This will recreate the the proper rewrite peramaters within .htaccess
Previsha says
Thank you so much, Changing the .htaccess file worked.
Norman Fellows says
Hi Editorial Staff!
Checking for the corrupt .htaccess file solution worked for me. Thank you.
I had been doing a lot of work on the site including updating Jetpack. Not sure what the culprit was but I was completely locked out…
Matthew says
Pretty useful! Good job Syed.
aiyeboy says
thanks but whenever i rename the htaccess the site comes up and goes down after 1 minute again and this as been keeping my website offline for days now….helpppp
WPBeginner Support says
Why would you rename htaccess file? Delete any .htaccess file you have renamed including the original .htaccess file.
Admin
aiyeboy says
you mean i should delete my htaccess file , but it automatically comes back.
WPBeginner Support says
Yes it does, if your .htaccess file had some problem then deleting it should have solved it.
Owolabi says
You Guys are great ! I always find solution to my problems here. once again tank you and keep the good work up.
Cheers!
pushkar says
Nothing of the above worked. It seems the problem was with my wordpress Theme. I changed to another theme and the website is back to normal. This link shows how to change the theme without a working admin http://wordpress.shadowlantern.com/change-wordpress-theme-in-phpmyadmin/
WPBeginner Support says
You can also change your theme by deleting all themes and only leaving the theme that you want to use in /wp-content/themes directory.
Admin
viksit singh says
Really work’s thanks dude
It’s good Nice post Having a great knowledge about that…
Please Help i want a hosting service which is cheep giv me domain and Support
Thanks
Jayson T Cote says
I wanted to add another situation that may cause Internal Server errors and can be easily remedied.
Check your php.ini file usually located in your root directory on your web hosting server.
I recently updated our server from PHP version 5.3.x to 5.4.x The update changed a few PHP options which were set differently in the local php.ini file. We made the same changes to the website’s local php.ini file as we did on the server and eliminated the Internal Server error.
Take caution, you can try renaming the php.ini file (php.ini.old) and reload your website to see if it makes a difference. Looking at the servers error logs will determine the exact PHP option in question that will need to be edited in your local php.ini file.
Bill Cruz says
Thank you based god! renaming my .htaccess file and forcing a new one to be created resolved my blank webpage! I reset my mySQL database password, and updated the password on the wp-config.php file, but that still didn’t fix it, but this method did. Thanks.
Mikkel Lindblom says
Thank you! Allways remember to check the .htaccess file
Mert Can says
Hi,
I would like to ask you, how can I edit this error file (Internal Server Error)? Because it’s showing there my e-mail address. I am using linux Debian 7.
Thanks,
Best Regards,
Vyacheslav says
Thank you for such a good article. This set of fixes is really handy to keep them all at fingertips.
My problem was the .htaccess file, but not the one in the root folder. It was rather the one in my /wp-admin folder. It came about that I protected /wp-admin folder with a password by means of host provider panel. It created the .htaccess file inside my /wp-admin folder. I also added some code into the file too.
Later I turned such a password protection of the folder off, so the code added by host provider panel itself was taken from the .htaccess file automatically. Meanwhile the code added by me still remained in the file. This piece of code caused the problem leading to Internal Server Error 500.
I just removed the .htaccess file due to its lack of necessity and it did the trick.
Vijay Sharma says
Yes, it works for me to get the idea,
Solutions process I did
1. Define Php memory limit in “wp-config.php”
2. Deactivate all plugins
3. Update permalinks structure
4. Activate plugin one by one
NatalieDawn says
Hey,
I have loads of problems with 503 error. My host told me it’s a problem with index.php file. Don’t know, how to solve it, HELP PLEASE! (I’m really desperate now
).
Asha Singh says
Can i fix by uploading manual file or need to change any hosting file of ny site . because it has same issue several times at my end.
Thanks for info.
WPBeginner Support says
Yes you can try uploading fresh copies of files to your server overwriting any existing files you might have. Please backup first.
Admin
Paul says
yes I went through all the steps and as always my luck get the hardest, reinstalled via ftp job done!
Piers says
Hooray, the .htaccess thing did the trick. Thanks so much for the valuable tips.
Yogesh says
goooooooooooood…….Thanks bro
illahi says
very informatice article i love it
Paul says
None of the above worked for me – however, that’s because of what was causing my issue – so I thought they wouldn’t but tried them anyway.
However, I’ve dealt with heaps of WordPress sites so wasn’t too worried when I came across the issue.
For me, the error appeared when trying to access admin (the site itself loads) and it wasn’t the hosting as it was a site on my temp hosting platform and all other sites are fine.
The solution though is very simple (for what caused my issue),
I knew it happened just after changing the permalink structure, and I had accidently clicked the ‘Custom Structure’. (I was meant to use one of the others for this site). In my case this didn’t carry over to the htaccess file and removing the file didn’t work either.
Fix:
You’ll need access to phpMyAdmin. Locate the database used for your install. Locate the wp_options table and find the permalink_structure row (around 30 or so). You can edit the permalink there back to one of the others.
Next, edit the htaccess file with this to include the proper rewrite rules:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
After that clear your browser cache and refresh – also try getting in through a different browser.
This is one of many solutions – it works for me to reset permalinks.
khandy says
Thank you!
The php.ini file saved me.
Have had this problem since introducing random header images to the Graphene theme. If this happens again later today (before I’ve got the error logs from my host) will this work again or do I need to up the number?
Bobbie Blakely says
Hi Thank you for all of your help. I have a 500error, internal server error. I changed the plugin name to plugin.deactivate, that didn’t change the error. I tried to change the name for .htaccess file but it says that I can’t because the folder is empty. I have been having trouble for three days. I fix one thing and I get another error. Today I uploaded my wp backup files via FTP. Upon completion is when I got the 500 error. I would be grateful for any help. Thank you
Bobbie
WPBeginner Support says
Bobbie, try this. Download your /wp-content/plugins and /wp-content/themes folders to your computer. Then delete the ones from your server and create new empty directories with the same names. From your website’s root directory delete your .htaccess file (You can later regenerate it again from settings -> permalinks.
Admin
poemaderoca says
I disabled my plugins but didn’t help so decided to rename .htaccess file and this solved my problem. Thanks for the tutorial.
Stuart says
Thank you. A real saver!! A corrupted .htaccess file was the answer
chris says
seriously quick and painless! thanks!
Sascha says
Thanks for this. Helped me a lot!
Tim says
Thank you!. It was the .htaccess file that was the issue! The issue occurred after installing and activating the eCommerce shop.
I have not got a clue how renaming that file fixed it but it did! So thanks again!
Anton says
Renaming the file .htaccess file worked. Thank you!!!!
Noerila says
Wow.. great article !
its works for me..
thanks, man..
Chris says
Thanks so much! Changed the name of the htaccess file and my 500 error disappeared!
Erik von Werlhof says
Whew!
Had this problem pop up last night and thought I would be toast! I tried the solution as outlined above and it worked!
Much thanks,
Erik
Hossam says
unfortunately NONE of the above worked for me, but I think I’ve another issue related to this O.o
my problem is: my website worked fine, but when trying to edit any plugin’s settings or adding a new data to it, here is the “page not found” appears to me!! NOTE that I’m using %postname% as permalinks, and when changed it to “default” then try again to edit any plugin, here is ” Internal Server Error” appears O.o
I’m confused, please help
thanks in advance
sebastian okelly says
Excellent article. This is a really useful site for those who get lost in the Codex. Thanks.
Remington Phillips says
Thank you! For me changing .htaccess to “.htaccess_old” worked.
Deckey says
Hi,
I still have the problem with the Internal Error.
I’ve tried all your ways (PHPmemory, htaccess, plugins deactivated…) And still doesn’t work.
If I change htaccess, the Internal Error change message and there’s another:
“Not Found
The requested URL /about/ was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache Server at http://www.gdbautomotive.com Port 80″
How can I do?
Maybe is better for me to do the website again from the start?
Because I’ve done the passage from localhost to remote server…
Maybe if I restart everything immediately on the web is better and it will work?
I’m quiet desperate and I don’t know how to do other things….
Thank you so much,
Deckey
WPBeginner Support says
Before doing that try the last option mentioned in the article and ask your web host for support.
Admin
Krishanu Choudhury says
Hello i run A blog which has preety good alexa ranking.i currently use MArkabihost for hosting my website and use wordpress script.now i have decided to move to better hosting service so i would you suggest you a good hosting service whcih is cheap and better And i want to know the ways to backup from Markabi to current hosting service
WPBeginner Support says
Take a look at our hosting guide, how to choose the best WordPress hosting.
Admin
payal says
how can i solve error in which the web page show that contact adminstrator?
Terhie says
Hi, I’d like to thank you for your help. There are many pages with ‘error 505’ solving, but yours was clear and simple, and that’s what makes the difference.
My problem was just a little bit different. Internal Server Error appeared only when I tried to get to admin panel via Android WordPress application. Everything else was fine, and I could login to admin panel via browser no matter what OS or browser I used.
My hosting provider declined existence of any logs (yeah…), but thanks to your site I’ve found that one of my plugins cause this error.
Thanks a lot!
Walter says
Hi. When i delete my access file my pages works. But then i refreshing my permalinks causes it again. So it is a cycle.
WPBeginner Support says
There can be other reasons like for example your WordPress Hosting provider may not have mod_rewrite enabled (unlikely but not unheard of). If you are using a custom permalink structure defined by using your own tags try switching to month or date based and see if this resolves the problem. If it does, then this means that your custom tags were not in correct format. You can also try creating your .htaccess file manually. It should have this code only:
# 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
Admin
Nicole says
PHP memory increase worked. THANK YOU!
harryjkt says
Hi,
i got correct solution from your site..
Thanks
Trent says
Ok, so this one is not one this page yet! I was moving from one cPanel Server to another cPanel Server. I did use the /scripts/pkgacct $user as well as the transfer accounts options, both gave me Internal Error 500. After several hours I found this page and tried everything except reinstalling WordPress.
Well the culprit was actually the PHP.INI file. I downloaded the php source binaries and uploaded the php.ini-production file. I then deleted the php.ini file and renamed the php.ini-production to php.ini. Everything worked well.
Hopefully it helps!
Dave says
Thanks…. it was a memory issue for me. I was only getting the error though on one plug-in. The rest of the site was working fine. Might put that in there somewhere too as it might be useful for somebody else.
Thanks.
Puneinvest says
Hi,
Nice Article. I follow all process. But problem not solve.
When I check my error log –
PHP Parse error: syntax error, unexpected ‘}’ in …/themes/techmaish/index.php on line 1
Just replace index.php to server
Now my problem solve.
Again thanks Your post is great
Christopher says
I love sites like this. Thank you for a clear, concise, and well laid out tutorial/troubleshooting post. Well done Sir.
Daniela says
THANK YOU!!! I made all the changes, htaccess, increased memory size…
Then called the hosting company… and I was told that ALL my sites were infected by a virus!!!
So I went back to this post and did this one step I did not do which was deactivating all plugins. That did the trick!
It was Jetpack …..
Sam says
Thanks it was .htaccess file doing that all. The file was uploaded with my site mistakenly Thanks again.