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 get the same Internal Server Error happening every couple of weeks now.

    Each time it’s an issue with the .htaccess file, it’s an easy fix to get the site up and running thanks to the info you provided above but is there anything I can do that will prevent the error re-occurring?


  2. I tried renaming the htaccess file to htaccess_old like you said, and it disappeared! Now I get 404 errors every time I try to load the website’s various pages.

    My original problem was indeed the plugins – deactivating them brought my website back online. However, NOW I have this 404 problem.

    Also, I cannot find a Settings option in FileZilla – can you please help?


    • The reason you are receiving 404 errors is because you have renamed your .htaccess file The .htaccess file contains the rewrite code to make your links pretty. ie: instead of

      The simplest way to correct this is to log into the WP admin and go to Settings >> Permalinks Make sure you have the proper permalink option selected and then Save. This will recreate the the proper rewrite peramaters within .htaccess

  3. Hi Editorial Staff!

    Checking for the corrupt .htaccess file solution worked for me. Thank you.

    I had been doing a lot of work on the site including updating Jetpack. Not sure what the culprit was but I was completely locked out…

  4. thanks but whenever i rename the htaccess the site comes up and goes down after 1 minute again and this as been keeping my website offline for days now….helpppp

  5. You Guys are great ! I always find solution to my problems here. once again tank you and keep the good work up.


  6. Really work’s thanks dude
    It’s good Nice post Having a great knowledge about that…
    Please Help i want a hosting service which is cheep giv me domain and Support

  7. I wanted to add another situation that may cause Internal Server errors and can be easily remedied.

    Check your php.ini file usually located in your root directory on your web hosting server.

    I recently updated our server from PHP version 5.3.x to 5.4.x The update changed a few PHP options which were set differently in the local php.ini file. We made the same changes to the website’s local php.ini file as we did on the server and eliminated the Internal Server error.

    Take caution, you can try renaming the php.ini file (php.ini.old) and reload your website to see if it makes a difference. Looking at the servers error logs will determine the exact PHP option in question that will need to be edited in your local php.ini file.

  8. Thank you based god! renaming my .htaccess file and forcing a new one to be created resolved my blank webpage! I reset my mySQL database password, and updated the password on the wp-config.php file, but that still didn’t fix it, but this method did. Thanks.

  9. Hi,

    I would like to ask you, how can I edit this error file (Internal Server Error)? Because it’s showing there my e-mail address. I am using linux Debian 7.


    Best Regards,

  10. Thank you for such a good article. This set of fixes is really handy to keep them all at fingertips.

    My problem was the .htaccess file, but not the one in the root folder. It was rather the one in my /wp-admin folder. It came about that I protected /wp-admin folder with a password by means of host provider panel. It created the .htaccess file inside my /wp-admin folder. I also added some code into the file too.

    Later I turned such a password protection of the folder off, so the code added by host provider panel itself was taken from the .htaccess file automatically. Meanwhile the code added by me still remained in the file. This piece of code caused the problem leading to Internal Server Error 500.

    I just removed the .htaccess file due to its lack of necessity and it did the trick.

  11. Yes, it works for me to get the idea,

    Solutions process I did
    1. Define Php memory limit in “wp-config.php”
    2. Deactivate all plugins
    3. Update permalinks structure
    4. Activate plugin one by one

  12. Hey,

    I have loads of problems with 503 error. My host told me it’s a problem with index.php file. Don’t know, how to solve it, HELP PLEASE! (I’m really desperate now ;) ).

  13. Can i fix by uploading manual file or need to change any hosting file of ny site . because it has same issue several times at my end.

    Thanks for info.

  14. yes I went through all the steps and as always my luck get the hardest, reinstalled via ftp job done!

  15. None of the above worked for me – however, that’s because of what was causing my issue – so I thought they wouldn’t but tried them anyway.

    However, I’ve dealt with heaps of WordPress sites so wasn’t too worried when I came across the issue.

    For me, the error appeared when trying to access admin (the site itself loads) and it wasn’t the hosting as it was a site on my temp hosting platform and all other sites are fine.

    The solution though is very simple (for what caused my issue),
    I knew it happened just after changing the permalink structure, and I had accidently clicked the ‘Custom Structure’. (I was meant to use one of the others for this site). In my case this didn’t carry over to the htaccess file and removing the file didn’t work either.

    You’ll need access to phpMyAdmin. Locate the database used for your install. Locate the wp_options table and find the permalink_structure row (around 30 or so). You can edit the permalink there back to one of the others.

    Next, edit the htaccess file with this to include the proper rewrite rules:
    # BEGIN WordPress

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

    # END WordPress

    After that clear your browser cache and refresh – also try getting in through a different browser.

    This is one of many solutions – it works for me to reset permalinks.

  16. Thank you!

    The php.ini file saved me.

    Have had this problem since introducing random header images to the Graphene theme. If this happens again later today (before I’ve got the error logs from my host) will this work again or do I need to up the number?

  17. Hi Thank you for all of your help. I have a 500error, internal server error. I changed the plugin name to plugin.deactivate, that didn’t change the error. I tried to change the name for .htaccess file but it says that I can’t because the folder is empty. I have been having trouble for three days. I fix one thing and I get another error. Today I uploaded my wp backup files via FTP. Upon completion is when I got the 500 error. I would be grateful for any help. Thank you

    • Bobbie, try this. Download your /wp-content/plugins and /wp-content/themes folders to your computer. Then delete the ones from your server and create new empty directories with the same names. From your website’s root directory delete your .htaccess file (You can later regenerate it again from settings -> permalinks.


  18. I disabled my plugins but didn’t help so decided to rename .htaccess file and this solved my problem. Thanks for the tutorial.

  19. Thank you!. It was the .htaccess file that was the issue! The issue occurred after installing and activating the eCommerce shop.

    I have not got a clue how renaming that file fixed it but it did! So thanks again!

  20. Whew!

    Had this problem pop up last night and thought I would be toast! I tried the solution as outlined above and it worked!

    Much thanks,


  21. unfortunately NONE of the above worked for me, but I think I’ve another issue related to this O.o
    my problem is: my website worked fine, but when trying to edit any plugin’s settings or adding a new data to it, here is the “page not found” appears to me!! NOTE that I’m using %postname% as permalinks, and when changed it to “default” then try again to edit any plugin, here is ” Internal Server Error” appears O.o
    I’m confused, please help
    thanks in advance

  22. Excellent article. This is a really useful site for those who get lost in the Codex. Thanks.

  23. Hi,
    I still have the problem with the Internal Error.
    I’ve tried all your ways (PHPmemory, htaccess, plugins deactivated…) And still doesn’t work.
    If I change htaccess, the Internal Error change message and there’s another:

    “Not Found
    The requested URL /about/ was not found on this server.
    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
    Apache Server at Port 80″

    How can I do?
    Maybe is better for me to do the website again from the start?
    Because I’ve done the passage from localhost to remote server…
    Maybe if I restart everything immediately on the web is better and it will work?

    I’m quiet desperate and I don’t know how to do other things….

    Thank you so much,


  24. Hello i run A blog which has preety good alexa ranking.i currently use MArkabihost for hosting my website and use wordpress i have decided to move to better hosting service so i would you suggest you a good hosting service whcih is cheap and better And i want to know the ways to backup from Markabi to current hosting service

  25. Hi, I’d like to thank you for your help. There are many pages with ‘error 505’ solving, but yours was clear and simple, and that’s what makes the difference.

    My problem was just a little bit different. Internal Server Error appeared only when I tried to get to admin panel via Android WordPress application. Everything else was fine, and I could login to admin panel via browser no matter what OS or browser I used.

    My hosting provider declined existence of any logs (yeah…), but thanks to your site I’ve found that one of my plugins cause this error.

    Thanks a lot!

  26. Hi. When i delete my access file my pages works. But then i refreshing my permalinks causes it again. So it is a cycle.

    • There can be other reasons like for example your WordPress Hosting provider may not have mod_rewrite enabled (unlikely but not unheard of). If you are using a custom permalink structure defined by using your own tags try switching to month or date based and see if this resolves the problem. If it does, then this means that your custom tags were not in correct format. You can also try creating your .htaccess file manually. It should have this code only:

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


    • Ok, so this one is not one this page yet! I was moving from one cPanel Server to another cPanel Server. I did use the /scripts/pkgacct $user as well as the transfer accounts options, both gave me Internal Error 500. After several hours I found this page and tried everything except reinstalling WordPress.
      Well the culprit was actually the PHP.INI file. I downloaded the php source binaries and uploaded the php.ini-production file. I then deleted the php.ini file and renamed the php.ini-production to php.ini. Everything worked well.
      Hopefully it helps!

  27. Thanks…. it was a memory issue for me. I was only getting the error though on one plug-in. The rest of the site was working fine. Might put that in there somewhere too as it might be useful for somebody else.


  28. Hi,
    Nice Article. I follow all process. But problem not solve.
    When I check my error log –
    PHP Parse error: syntax error, unexpected ‘}’ in …/themes/techmaish/index.php on line 1

    Just replace index.php to server

    Now my problem solve.

    Again thanks Your post is great

  29. I love sites like this. Thank you for a clear, concise, and well laid out tutorial/troubleshooting post. Well done Sir.

  30. THANK YOU!!! I made all the changes, htaccess, increased memory size…
    Then called the hosting company… and I was told that ALL my sites were infected by a virus!!!

    So I went back to this post and did this one step I did not do which was deactivating all plugins. That did the trick!
    It was Jetpack …..

  31. Thanks it was .htaccess file doing that all. The file was uploaded with my site mistakenly Thanks again.

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