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

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

661 CommentsLeave a Reply

  1. I was also facing the problem. As said above it was because of a plugin(“Contact Info Widget”) which was not working fine. So I deleted the plugin files from FileManager and now its solved. Thanks for the useful tips.

  2. I have Tried All the Points still I haven’t Got the solution,
    I have renamed the .htaccess file, plugin folder, gave permission 755 to 777, increased memory limit in the wp-config file but the site is still showing error. below is the screenshot.

  3. Thank you so much! Wasted 2 hours with Hostgator for them to give me the wrong info smh. All I had to do was follow your steps to delete the plugins through my cpanel. I went from there to figure out which plugin was corrupt.

  4. i have got 500 internal error only on orders tab of woo-commerce.
    unable to see the orders.
    kindly help amd guide me how to resolve it

  5. Hello, I tried to follow your instruction on How to Check Your Maximum File Upload Size Limit in WordPress? But his totally crashed my website and now I cant even access it. Please URGENTLY advise how I am to fix this problem……

  6. You can also check your PHP version, our hosting provider pr-actively changed the default PHP version and WordPress and plugins didn’t support that. After upgrading WordPress and all the plug-ins, the site runs as normal again!

    (only my ADMIN page didn’t work anymore)

    Best regards

  7. having some issues with my website if I click on any post it just refresh my page, even if I enter a post url it’s still the same please help me out

  8. My Web Is not solved 500 error
    This page isn’t working
    Currently unable to handle this request.
    HTTP ERROR 500
    erorr log shoing this messege wp-settings.php on line 166

  9. Great info, thanks! The third option worked for me which was kind of expected because I lost my admin panel after updating some plugins.

  10. After I did everything here my site was still not working so I called my hosting provider and after a while we figured out that it I could finish my migration by manually setting the base-url in the .sql and then going into to the permalinks part en saving it. This fixed it all. I’ve noticed 1 time before that re-saving the permalinks sometimes helps overcome errors. I hope this is useful for some people.

  11. I have tried everything they recommend and it does not work. When activating any theme, it gives error 500. I can not generate the .htaccess because my server works with nginx. I have consulted the guide that recommends wordpress but I can not make it work. The site worked until I wanted to update the theme.

  12. Very first step on the video worked – corrupt .htaccess file.
    I thought I was going to be redesigning the site. Thank you folks!

  13. First issue was a theme caused the 500. Went into FTP and removed it and all was good. I really liked the theme and thought it might have simply been a memory issue (as the site was working just not the admin sections) so I changed the php.ini file under admin to memory=128MB. Now nothing works. :( help?

    • have you tried to upgrade the memory to 256MB and increase the upload limit files to 50M ? that might be help you.

  14. I understand everything exept one thing…
    Where can i find all the stuff to connect to ftp (adress, log and pw)
    I am using wordpress on godaddy hosting and since a plug in update crashes i can acces the site and the wp-admin section as well.

    Thank you

    • Hello Yanick,

      Usually when you sign up for hosting account you get all this information in an email. If you can’t find it, please contact your hosting provider and they will be able to find it for you.


  15. I am getting 500 internal server error while accessing /admin url on virtual host in my local machine. Though my previous site was working fine on XAMPP in windows. Any suggestions..

  16. what if your using starfield technologies from godaddy i have this problem i worked so dam haddddddddddddddd on this site it all happend when i udated a plugin help please

  17. So…. for beginners who have no idea what ftp is or where to find that or how you would find a .htaccess file… I am already lost at step 1.

  18. Hi editorial staff,

    Who so ever you are…

    I just want to hug you and say a million thanks

    to save my blog!!!

    God bless you

    Love you…

    Please provide your email… to say personal thanks

  19. Thank you so much… the problem was with the htaccess. renaming htaccess couldn’t work so i went to settings>permelinks and simply saved without making any changes and it worked perfect.
    God bless you

  20. Currently, my website cannot be reached. It has an connection refusal error. I cannot even login to the WordPress Admin dashboard. Does anyone have any solutions?

  21. What can be the cause of internal server error. If it works fine with hostgator shared server. And same website shows internal server error in Godaddy shared delux server.

  22. Thanks for providing this information. I started troubleshooting, then realized another site on the same host was getting the same message. Turns out it was a DB server issue on the host’s end!

  23. This page isn’t working is currently unable to handle this request.
    HTTP ERROR 500 this is the error message i get when i load the subdomain url, i cant access anything.

    I have tried to edit, delete, reinstall htaccess, still no result, there is no theme, or plugin to even disable, since i havent even access wordpress setup page.

    pls assist

  24. This page isn’t working is currently unable to handle this request.
    HTTP ERROR 500

    I have a prestashop site on my main domain, recently created a subdomain, after installing WordPress, this is the error message i get when i load the subdomain url, i cant access anything.

    I have tried to edit, delete, reinstall htaccess, still no result, there is no theme, or plugin to even disable, since i havent even access wordpress setup page.

    pls assist

  25. Hello, I contacted my hosting server provider and this error log was sent to me, cause i was getting 500 internal server error message. “PHP Fatal error: Uncaught Error: Call to undefined function wp_start_scraping_edited_file_errors() in /home/politic6/public_html/wp-settings.php:297
    Stack trace:

    0 /home/politic6/public_html/wp-config.php(90): require_once()
    1 /home/politic6/public_html/wp-load.php(37): require_once(‘/home/politic6/…’)
    2 /home/politic6/public_html/wp-blog-header.php(13): require_once(‘/home/politic6/…’)
    3 /home/politic6/public_html/index.php(17): require(‘/home/politic6/…’)
    thrown in /home/politic6/public_html/wp-settings.php on line 297”


  26. Normally the first fix, recreating the htaccess file always does the trick for me, but this time I had to go completely down the list of fixes. After beating my head into a wall several times, ONLY thing that worked was to reinstall core files, create new htaccess files AND once I got into wp-admin page re-run the WordPress updater again. THEN everything was finally restored. THANK YOU for the well written, life saving checklist!!!!

  27. The most easy way to resolve the 500 internal server error is make debugging on from wp_config.php i.e WP_DEBUG true

    • Wow thanks
      // Enable WP_DEBUG mode
      define( ‘WP_DEBUG’, true );
      this solved it for me as I was able to track the error and fix within minute

  28. This is one of the great article, this really help me out to solve my problem on my wordpress site great.
    Well appreciated.

  29. Thanks a lot. As I am new was very shoked due to this problem. But after following your guide line I got help. Thanks.

  30. I recently experieinced this problem. I edited function.php file and added ?> in the end to end php tag. That caused this error. if it helps someone!
    Thank you!

    • I did all the steps in this blog post but nothing worked. I saw your comment, and decided to re-upload my functions.php file (I also re-wrote the php tag). My website is now working again. Thank you so much for this helpful tip :)

  31. Thanks a lot! Saved me from going into panic. My site was getting huge number of malicious login attempts and I turned up security on high. After few hours I got notification of this error and website not loading.

    I was about to open a ticket but found this post and Voila htaccess solution worked! Thanks again!

  32. Thanks for the article. In my case the error was caused by `short_open_tags` set to `Off` in php.ini. Setting it to `On` solved the issue. I guess some plugins use `<?` or `<?=` tags. Cheers :-)

  33. It’s working thank you :)

    I migrated to a VPS.
    I got an issue when I want to change the setting on any plugins, end up with error 500. But if I checked at htop, the server resources is not reach the limit, I’m using 4GB VPS 2core Linode, so it’s more that enough for small site like mine.

    The php.ini trick works well, now I never got any error 500 anymore :)

Leave a Reply to Nazar 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.