Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Fix the 500 Internal Server Error in WordPress

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.

How to 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.

Example of a WordPress website showing internal server error

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

Subscribe to WPBeginner

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.

Editing .htaccess file in WordPress

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:

  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 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.

Deactivate all WordPress plugins

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.

Download WordPress

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’.

Upload fresh WordPress files

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’.

Overwrite files

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 how to fix them.

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.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit – a collection of WordPress related products and resources that every professional should have!

Reader Interactions

657 CommentsLeave a Reply

  1. What if it’s NOT the .htaccess file? Can we then change the filename back .htaccess??

    What if it’s NOT the plugins? Can we simply change the plugins folder name back to what it was??

    These are details we should know about.

    Thanks!

  2. Thankyou so much, I had installed a plugin which had somehow corrupted the .htaccess file, renamed it to .htacces_old as per the advice on this page, and all’s back working again, if you cant find the .htaccess file on your server, it could be hidden, cpanel has an option to look for hidden files.

    thanks guys

  3. When all the files in your “wp-content” are empty, you always get the server (both locally and remotely). Took me longer time before recognising this.

    I was moving the an existing wordpress engine alognside many other things, Unfortunately the wp-contents and it’s respective folders were all empty.

    Finally, Happy when I solve this.

  4. Thanks! Great tutorial. Turned out for me that, when I was unactivated the plugins, I got another error-message saying i had some corrupt @media print-code in the functions.php. Took that away and got my page back :D

  5. Make sure index.php has permissions of 644. Somehow mine has 777 when transferred from one server to another.

  6. I must have spent 4 hours trying everything I found online. In the end, turns out I was running an old version of PHP. When I updated it in my cPanel, the 500 error was gone.

  7. Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, webmaster@ and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

    how to solve this error?

  8. My problem was actually a corrupt wp theme rather than a corrupt plugin.

    To solve I renamed the corrupt theme (Oxygen) (which gave me a white screen) than named Twenty Sixteen “oxygen” so that my site would use Twenty Sixteen (a working theme) as my theme. Than I switched using dashboard to Twenty Fourteen (my second favorite installed theme) than again used my file editor to rename Twenty Sixteen back to “twentysixteen” & Oxygen to “oxygen.corrupt”.

    I think my theme did not download properly, making it corrupt.

    Thanks for pointing me in the right direction!

  9. Thank you so much for so complet information! :)

    i have a .htaccess problem.. solved.. now working as charm..

  10. 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.

  11. 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 gtmetrix.com and analyze it with no issues.
    Please help.
    Every computer I use PC, Macs and Chromebooks all show internal server errors, but gtmetrix.com and GoDaddy says everything is fine.

    One of the sites is

    Thanks in advance

  12. 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

  13. 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 example.com/api/ – it is showing 500 internal server error.

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

  14. 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)

  15. 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.

  16. 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.

    Thanks

  17. 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.

  18. 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 !

    • 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.

  19. 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.

  20. 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.

  21. 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.

  22. 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.

    Rod

  23. 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!

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

      Hope it helped

  24. 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.

  25. 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.

  26. 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.

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

  28. 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?

  29. 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

  30. 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?

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

Leave a Reply to John Cancel reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.