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

  2. Keyboard Banger says:

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

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

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

  5. Tim D. says:

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

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

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

  8. David says:

    Thanks, it was really usefull!

  9. Nazar says:

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

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

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

  12. 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…)!

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

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

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

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

  17. Haytham says:

    Thanks, really helpfu :)

  18. ashish kumbhar says:

    Thanks, really helpful..

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

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

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

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

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

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

  25. Gustavo Alves says:

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

  26. Markus says:

    Thank you sooo much!!!!!

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

  28. Babatunde says:

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

  29. Prajjwal says:

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

  30. James says:

    Re-uploading Core Files worked for me. Thanks

  31. Raine says:

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

  32. Andrew Cook says:

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

  33. yandi novriandi says:

    my problem not solved on

  34. Mohammed Faisal says:

    Many thanks, I got my site running again

  35. shehzad says:

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

  36. ITfee says:

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

  37. 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;)

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