Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
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 »

Comments

  1. Ian Robinson says:

    I really, really appreciate you putting this video up. Thank you.

  2. SAMUEL says:

    Since i set up my account for both wordpress and Cpanel, i discovered that my domain name on cpanel was not spelt correctly(probably my error) but i have been trying to change it but could not. i need to know the implication of this and how to correct it.my site has been running fine until recently,could it be the cause.

  3. Morse Gates says:

    I encountered this internal error (500) error when i added this line to my .htaccess
    max_input_vars = 1540; but as soon as I remove it , it works. I need to increase my Max_Input_vars from 1000
    Please help.

    • morse gates says:

      Just additional info. Godaddy asked me to create and use .user.ini to add this, but phpinfo still shows it at 1000 after the change. Its why I decided to use the .htaccess but that send my site to an internal error 500 status.

  4. Samseen says:

    Thank you, renaming the .htaccess file works for me.

  5. Ammar says:

    Haylo!

    I had this issue today and I figured out the problem was with my file/folder permissions.

    I had tried setting all my folders, sub-folder, and file permissions to 777 because I was having major issues uploading images.

    This caused the internal server error for me. Switching everything back to 755 fixed it for me, though I’m assuming that simply applying 755 onto the wp-admin folder would have done the job!

    Hope that helps someone!

  6. Kumar says:

    Hi i’m facing different type of problem. When i try to load my website it shows ”The mydomain.com page isn’t working” and “mydomain.com is currently unable to handle this request” also “HTTP ERROR 500” (in small font).
    Even i’m not able to login in wp admin panel too. what to do? Please help.
    I changed the .htaccess file also i thought, may be its happened because of broken config.php file, so i delete it. And when i load my website its start showing the setup configuration setting.
    i setp up again, but when its come to login part, same thing happened.
    Please help!

  7. piyush saini says:

    you are really awesome sir thanks for the same

  8. zigii says:

    thanks! very very helpful resource I resolved my site :)

  9. Matt says:

    Mine was none of the above. But I saw in my error logs that wordfence-waf.php had a error in the paths. Renaming wordfence-waf.php in the root folder fixed the issue.

  10. Keyboard Banger says:

    Thanks a lot! helped me regain access to my blog.

  11. Hugo Henriquez says:

    you can solve the problem by updating the wordpress to the latest version by transferring the “core” files, but before disable all plugins renaming the folder “plugins”

  12. H.T. says:

    We were getting an “Internal Server 500” error when going to the WP Admin page.

    In our case, it was the .htaccess file being corrupt.

    Note, though, that deleting .htaccess did NOT fix the problem — in fact, deleting it caused the index page to then have a PHP error, when it had been working fine before. (And that was due to a WP Super Cache error, it seemed — it wasn’t finding the file it was looking for.)

    We had ¦ in place of #, and ¤ in place of $ in our .htaccess, for some reason. Fixing those fixed the WP Admin login problem.

    Hope it helps someone.

  13. Tim D. says:

    You rock. How and .htaccess file gets corrupted I’ll never know, but THANK YOU.

  14. Melly P. says:

    I found an interesting reason for an internal server error after checking my host logs- my wordpress install had group writeable permissions. I had forgotten that I went crazy on my permissions when trying to solve an issue that was being caused by the host. When I changed the CHMOD setting to 755, it was working again. my admin folder is not in the root folder, I wonder if this is why I could still see the website and not be able to access the admin.

  15. Riyaz Alam says:

    Hi,
    as per your suggestion in this post I tried to Re-uploading Core Files(WP-ADMIN & WP-INCLUDES) to fix the 500 error in my website. But now, I am getting again the 500 error and when I contacted my Hosting provider(Hostgator) they send me this log (We have checked and we found there is issue with “akismet”. Please find the log below.

    [26-May-2016 04:19:04 UTC] PHP Fatal error: Class ‘WP_Widget’ not found in /home/makei3v5/public_html/example.com/wp-content/plugins/akismet/class.akismet-widget.php on line 5) , Now I am helpless, what should I do? I have done the step accurately as per the above guidance.

    Please help me out.
    Thanks, Riyaz

    • WPBeginner Support says:

      Try deleting and then re-installing Akismet.

      • Riyaz says:

        Hi,
        Now my site is fixed, but that was not because of deleting and then re-installing Akismet. I had to update the whole WordPress files to get it fixed. Thanks anyways.

  16. David says:

    Thanks, it was really usefull!

  17. Nazar says:

    thank you so much author , this was life saviour , job saviour as well.. thanks again

  18. Priyanka says:

    Thanks for your guideline…I have deactivated all the plugins, but it still shows the same error.

    Then I deactivate my theme and it works fine. I realized that theme can create this type of error.

  19. WLEXT says:

    Hello,

    What if this problems appears randomly?
    Sometimes when I open my website main page, some times when I bulk edit posts. It’s just happens randomly as far as I know, could the problem be that the hosting servers are loaded? because I’m using shared web hosting, I would like to know that if you could answer me?

    I don’t want to migrate to another host if the problem is some plug-in in my site.
    Please answer me.

    Thanks.

    • Heather says:

      I would like to know this as well. I have the same issue. It happens sometimes, sometimes not. It can be from the admin panel or from viewing the site directly. I’m also using a very cheap shared hosting service and am wondering if it’s possible this is coming from “their end”.

  20. Geert Spekken says:

    This article was a true life saver! Or a mental health saver, at least. Turns out a plugin was messing everything up, and thanks to this article I’ve been able to solve it. So many thanks from a relieved WP-beginner (since 2014…)!

  21. Silvia Huerta says:

    Hi, but my problem is that I cannot enter even to the dashboard, when I try also says internal sever error, so I cannot do nothing. Doesn’t work nothing. I am in panic.

  22. Tarun says:

    After reading the above mentioned solutions, I went to wp-content/plugins through ftp and sorted the plugins list as last modified and deleted the most recent modified plugin. Problem solved for me.
    Thanks

  23. Terry says:

    In case you are not on a linux server and your hosting is done on IIS (Microsoft Platform) instead, you may have corrupted the web.config file which is used instead of an .htaccess file.

    Most servers I use are linux, so I just ran into this problem today on a Microsoft Server. FTP into your site and fix your web.config file.

    T.

    • Jesse says:

      If you’re hosting WordPress on a IIS (Microsoft Platform) instead of a linux server and have problems updating your WordPress, you need to install this plugin “WP Maximum Execution Time Exceeded’

      However the default execution time of the above plugin is 300 ms which you need to increase to 500 or 600 ms to make it work.

    • Aaron says:

      Thanks Terry. This was exactly my problem.

  24. Dennis says:

    The issues started right after adding this to my function.php file in my child theme:

    /*** Remove Query String from Static Resources ***/
    function remove_cssjs_ver( $src ) {
    if( strpos( $src, ‘?ver=’ ) )
    $src = remove_query_arg( ‘ver’, $src );
    return $src;
    }
    add_filter( ‘style_loader_src’, ‘remove_cssjs_ver’, 10, 2 );
    add_filter( ‘script_loader_src’, ‘remove_cssjs_ver’, 10, 2 );

  25. Haytham says:

    Thanks, really helpfu :)

  26. ashish kumbhar says:

    Thanks, really helpful..

  27. Yasser Ismail says:

    Thank you very much, you saved me from re installing my site

    changing the PLUGINS was the solution and i re installed the faulty plugin

    wish you all the best

    Yasser

  28. Chris L says:

    I was getting the 500 Internal Server error when trying to access the ‘Customize’ Menu (button located at the top when viewing your site). It turned out to be a plugin…

    The .htacces and php.ini methods didn’t work, in my case, uploading the php.ini file made me unable to access wp-admin until php.ini was deleted.

    I apologize I can’t give the name of the faulty plugin, I was in a hurry at the time and needed it to work asap…It was a plugin that added widgets to the SiteOrigin PageBuilder plugin.

  29. Mateo Castano says:

    Hello guys,

    I could access to my wordpress admin panel again deactivating all my plugins from database,

    Then I was receiving a problem with an specific pluging, I recommend you to check what pluging is causing issues, in my case was woocommerce and my theme, both installed I was getting an error message about Memory Exceeded, I didn’t find a solution for this error, now I had to separate my page in two wordpress installation, one with all information, and the other with the virtual store,

    If anyone find raise of Fatal error: memory exceeded, please let a comment, Thaks for your support guys.

    Bye

  30. Peter Posse says:

    Hallo,
    many thanks for that tutorial and all the comments here.
    As my hosting is also with Strato I tried the recommandation from Karo A – and it works.
    After disabling the cache of PHP Boost at Strato no more Internal Server Error 500 occured.
    Might be this cache is running out of memory as I use also Slimstat statistics.
    Karo

  31. Karo A says:

    Hi,
    on Strato Websites with PHP 7.0 Power Boost on,wordpress with eg. Jetpack I ve got the 500 server error message.
    After checking the Server error log at Strato I found an error message in the log that the PHP handler (CGI) aborted.

    After changing the PHP handler (CGI) in the Strato Interface to PHP 7 WITHOUT Power Boost everything works fine!
    Best regards
    Karo

  32. Reinardt says:

    Thanks for this, nothing worked but it at least gave me ideas to troubleshoot with. I renamed the theme in the same way to rename the plugins folder eg. themename_deactivate and it worked, I could login to my site again. Still troubleshooting why the theme is acting up all of a sudden.

  33. Gustavo Alves says:

    Hello, unfortunately my problem continues even after following all his steps.
    Would have any idea what could be?

  34. Markus says:

    Thank you sooo much!!!!!

  35. Roman says:

    Everything tried but my problem not solved.
    I only get NetworkError: 500 Internal Server Error – when I try to login to my site. The browser goes to blank page and I get that error in console.

    Please help

  36. Babatunde says:

    Useful information you’ve got here. Thank you! My site is back up! Kudos!

  37. Prajjwal says:

    Thank you……… very much I’ve regenerate .htaccess file and now my site is working properly thanks again for your helpful solution.

  38. James says:

    Re-uploading Core Files worked for me. Thanks

  39. Raine says:

    Very helpful guide! I had to re-upload core files to get my pages to work.

  40. Andrew Cook says:

    Cheers man! Was completely stuck. Very clear and concise instructions. (y) Karma love

  41. yandi novriandi says:

    my problem not solved on

  42. Mohammed Faisal says:

    Many thanks, I got my site running again

  43. shehzad says:

    Great Article. You saved my work. Thanks for this :)

  44. ITfee says:

    Great guide! Thank you guys. I just needed to resave my .htaccess file – unbelieveable but true.

  45. Jesper Lindebjerg says:

    By update using InfiniteWP my site broke down. I tried all above without luck… But in my chase it was a Theme missing. I had to re upload the Mother Theme to get my site back;)

  46. Amanda says:

    Oh…THANK YOU…THANK YOU SO MUCH!!! That was such a quick fix I’m getting teary-eyed.

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.