Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
WordPress Plugins
View all Guides

How to Fix the Internal Server Error in WordPress

Last updated on by
Special WordPress Hosting offer for WPBeginner Readers
How to Fix the Internal Server Error in WordPress

If you have been surfing the web for more than a year, then you probably have seen the HTTP 500 Internal Server Error at least a few times. Internal Server Error is one of the common WordPress errors that can put a WordPress beginner in panic mode. Panic is the worst reaction you can have. Take a deep breath and know that others before you have had this issue as well. We have fixed errors like the internal server error, error establishing database connection, white screen of death, and others many times for our users. We can assure you that they are all fixable. It just requires a little bit of patience. In this article, we will show you how to fix the internal server error in WordPress by compiling a list of all possible solutions in one place.

Internal Server Error in WordPress

Why do you get Internal Server Error in WordPress?

Internal server error is not specific to WordPress, and it can happen with anything else running on your server as well. 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. Having that said, internal server error in WordPress is often caused by plugin and/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 administrator area while the rest of the site works fine.

Lets 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 the FTP. Once you are in, 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 loading 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 and click the save button. This will generate a new .htaccess file for you with proper rewrite rules to ensure that your post pages do not return a 404.

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 this 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:

  1. Create a blank text file called php.ini
  2. Paste this code in there: memory=64MB
  3. Save the file
  4. 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 fix the problem for you, then you have fixed the problem temporarily. The reason why we say this is because there has to be something 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 hard-core trouble shooting.

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 following tutorial 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 through and 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.

Ask your Hosting Provider

If nothing works, then you need to get in touch with your hosting provider. By looking at the server logs, they should be able to get to the bottom of things.

These are all the possible solutions that may fix the internal server error problem in WordPress. Did any of the above solutions fixed the problem for you? If so, then please let us know in the comments. Did you encounter the internal server error issue in the past? how did you fix it? If you know of a fix that is not listed in the article above, then please contribute in the comments below. We will make sure to keep the article up to date with any new advice from the users.

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »


  1. Den says:

    I always check .htaccess file first…

  2. Will Paro says:

    Is it possible to have an Internal Server Error only on select computers, but not others?
    That is the issue I’m dealing with right now.
    I have 6 sites all hosted through one account via GoDaddy. All are showing an Internal Server Error. They were fine this morning, but now nothing.
    Problem is that GoDaddy says that they see the sites just fine.
    I can pull the site up in and analyze it with no issues.
    Please help.
    Every computer I use PC, Macs and Chromebooks all show internal server errors, but and GoDaddy says everything is fine.

    One of the sites is

    Thanks in advance

  3. Jesu says:

    You save my life!!

    Thanks a lot from Spain!

  4. antony agnel says:

    Phew…thanks a lot guys!

    A new guy here…installed ‘bulletproof security’ plugin on my wordpress site & got an Error 500!

    Was shit scared…& finally found out about your site and this article – finally fixed it by applying your tip to rename to .htaccess file to .htaccess_old!

    Once again, thank you so much – you guys rock!! :D

  5. hendra says:

    Hi Guys

    I have a questions in regards of 500 internal server error, i experienced the problem with a plugins [JSON API] when i type – it is showing 500 internal server error.

    any advises on how to solve this problem? much appreciated before.

  6. Linda says:

    Thank you!
    In my case, it was the theme that was broken (my fault for tinkering around), not a plugin. I renamed the theme folder .mytheme-deactivate like in your plugin example, and hallelujah, I could access my site again! (I simply activated a different theme, but I could probably uninstall and re-install the original theme if I wanted to)

  7. Aviroop Chowdhury says:

    Disabling solved my issue. Thanks.

  8. Mike says:

    Sometimes this is a bug in your own PHP code.

    For this it’s best to use a binary chop ‘echo’ method. That is add a simple echo ‘fred1’; exit; into your code starting at the top of the index.php. If you see ‘fred1’ displayed when you visit your site then you know it’s a PHP bug and not any of the other reasons. (Note I used a .htaccess online validator to check the syntax of my .htaccess file too, in order to rule that out).

    Once ‘fred1’ is displayed now move it halfway down the index.php file (useful to increment the integer each time too, e.g. fred2, fred3 etc). If the server error occurs then you know you need to move the statement up. If fred1 etc is printed then you need to move it further down the code. If you get to an include or require statement then you then delve into that file in the same way.

    I found the offending PHP file in under 10 minutes. You should then use php -l whateverfile.php to find offending line in that file and also to know what the syntax error is. If ‘php -l’ doesn’t give you the syntax error then you should read this:

    The ‘php -l’ would need to be done by remote logging into your hosting account. If you can’t do this then as this article says, contacting your hosting support can be useful to find the php log file.

  9. Darrin says:

    You’re a life-saver! Renaming my plugins directory worked. Thank you!

  10. Peter Ishola says:

    I have tried all the options given in this article but it’s still the same. the error message appears on both the admin and the web pages of my site. I’d appreciate more options to solve this problem. The error message is:

    500 – Internal server error.
    There is a problem with the resource you are looking for, and it cannot be displayed.


  11. Kristoff says:

    I am running a large WooCommerce store and was receiving 500 internal server error on most front end pages & WP admin login. The store resides on a dedicated cloud server and had been running fast without fault for a few months. Tried ht access remedy firstly, but nothing changed, php memory should not have been a problem as I had increased this on install & I did not think WP ftp core files were corrupted, so looked elsewhere. Ran putty to connect to dedicate linux server and command line was showing huge CPU usage for mysql – 90%. Previously in my WP development experience sql errors or high usage are database related, so via a combination of sql workbench to kill connections & php myadmin to repair database tables (I only repaired wp_options in this instance) I was able to fix the internal server problem. My point on all of this is – even though problem was flagged as internal server error, it was a database table repair (after table analysis) which cleared the error.

  12. Saheed says:

    Thanks a lot, deactivating plugins solved my issue

  13. Dan says:

    Hey Guys ,

    I have this problem right now with some site and it looks like it is because server is overloaded and website is on shared hosting, so keep an eye on that !

    • Janus says:

      Thanks i think you are right, i tried all above solutions but nothing helped, and i have pinge my site to a lot of search engines today so can be robots from there that have made the error.

  14. Julian says:

    Thank you! Deactivating the plugins vía PhpMyAdmin worked for me!

  15. Monayam Ahmad says:

    Not work for me. I face this problem when I want to customize my theme. Everything goes well. But to do ‘customize’ I get this error. I don’t why.

  16. Ben says:

    Thank you very much for this very helpful article !
    The htaccess renaming worked for me ! Yeah !

  17. Joe says:

    Thank you so much! I was encountering endless Internal Server Errors for about 36 painful hours, and deleting/reuploading my theme via FTP then renaming the .htaccess file SAVED ME SO MUCH!
    You are a life saver.

  18. oladayo says:

    Thank you very much. it was the option of re-uploading the wp-admin and include folders that saved me after about 3weeks of troubleshooting.

  19. Rod Salm says:

    For me, it was the permissions setting for the entire directory. It needed to be 750. Soon as I changed that in the File Manager in cPanel it was back up.

    I didn’t figure that out on my own.


  20. Giorgio says:

    Thank you so much! You save me from an heart attack…
    Simply I have renamed, via FTP, the .htaccess in .htaccess_old, and WP goes on.

    This is the new .htaccess, created as you suggested:

    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress

    This is the .htaccess that I find in my FTP and renamed in .htaccess_old:

    ## BEGIN WordPress<
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress

    I don’t know what had modify the file. Someone have an answer?
    Thank you!

    • Donny says:

      I think it is a # problem, because your old file has 2 # and the new 1 # in the beginning.

      Hope it helped

  21. Oderinde Taiwo Martins says:

    I just want to say a big thank you to you guys. You saved my day with this article. I’m bookmarking this website now as I know I will have to come back and learn more from your resources. Thanks a bunch.

  22. Rionize says:

    tkank’s guys every thing is on .htaccess file and pemalink in word press check it out!!!

  23. Petrus Rex says:

    I had this issue after a fresh install of WordPress. I would get this error specifically when accessing the plugins from my dashboard it turned out to be a corrupt .htaccess file but had to be handled server side by my web host. I’m running on Arvixe.

  24. Ivan Aliku says:

    I must give kudos to the moderators and content developers of this blog. I’ve not regreted knowing this website for one bit. The .htaccess solved the problem for me with ease. Keep up the good work.

  25. Being Khan says:

    I can’t rename it even.

  26. Usman Aslam says:

    Thanks a lot, it was due to a bad plugin I couldn’t login, Wouldn’t have been possible without reading this. Great work … !

  27. Larah31 says:

    Thanks man.. You’re the best

  28. Cory says:

    Thanks, renaming .htaccess to .htaccess.old did the trick :).

  29. Mitch says:

    I’ve got a weird one. My Internal Server Errors only happen on “Posts”, and Not on “Pages”. The host just updated the PHP version as well as the memory limit, and I re-uploaded the wp-admin and wp-admin files. No luck. Any other ideas?

  30. josh says:

    thanks this was helpful

  31. mark says:

    .htaccess did the thing for me. Thanks!

  32. Juan mejia says:

    Thanks!!!! htaccess in my case.

  33. Cachi says:

    Thanks, It solved in my case. Just delete de .htaccess , reload, and a new .htaccess file was generated and the site works !

    Thank you again

  34. Rochelle says:

    I have been in touch with my hosting provider two times and they have no idea what it is. They switched databases, thought it was hacked, and the other guy couldn’t figure out why I was having problems at all.

    Someone pointed me to your article (thank heavens) I did the htaccess file change and it helped it for two minutes. Then I did the php memory thing and that helped for a few minutes as well, then back to the internal server error. I’m currently working on trying to figure out if it’s a plugin. If that doesn’t help… then I’ll do the core files. And then after that… I have no idea. I guess I’ll try my hosting provider again.

    Would switching hosts be of any help at all?

  35. Adela says:

    Thank you so much for so complet information! :)
    It was a plugin problem for me, impossible to find without your help!

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.