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

How to Fix the 500 Internal Server Error in WordPress

Are you seeing a 500 internal server error in WordPress?

The 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 the 500 internal server error in WordPress.

Fixing the internal server error in WordPress

Here is a quick overview of the topics we will cover in this article:

What Is the 500 Internal Server Error?

The 500 internal server error is a common web server error. It is not specific to WordPress and can happen with any website.

The 500 in the error message is technically an HTTP error code. Looking up this code will only show its standard description:

500 Internal Server Error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.

This is a generic catch-all error message, which means that the server was unable to assign a better, more helpful error message when it encountered the issue.

The error page looks different depending on which web server software (Nginx or Apache) your website uses and which browser you use.

Here is how the Apache error page may look:

Internal server error page on Apache

It may look different if you are using Nginx and Google Chrome.

It will also look different if Google Chrome is unable to find an error page to display:

Google Chrome http 500 error

For beginners, this can be incredibly frustrating. No clue or message will point them in the right direction to quickly fix it.

Asking how to fix an internal server error is like asking your doctor how to fix the pain you are experiencing without telling them where the pain is.

However, if you know the common causes that trigger this error, then you can try fixing them one by one to resolve the error without breaking anything.

What Causes the Internal Server Error in WordPress?

Internal server error in WordPress is often caused by a corrupt .htaccess file, poorly coded plugins, or your active WordPress theme.

Other possible causes of the internal server error in WordPress are PHP memory limit or corrupt core WordPress files.

In some conditions, the internal server error may only show up when you are trying to access the WordPress 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 prefer written instructions, then just continue reading.

Fixing the 500 Internal Server Error in WordPress

Before you begin troubleshooting, make sure that you have a complete WordPress backup of your website on hand.

If you have access to the WordPress admin area, then you can use a WordPress backup plugin to create a complete backup of your website. We recommend using Duplicator to handle this.

On the other hand, if you don’t have access to the WordPress admin area, then you can manually create a WordPress backup using phpMyAdmin and an FTP client.

After that, you can follow the following steps to troubleshoot and fix the internal server error on your website.

Clear WordPress and Browser Cache

Browsers and your WordPress caching plugins can sometimes mistakenly store a cached copy of an error page.

The easiest way to fix this is by first clearing your browser cache.

Clear cache

After that, if you have access to the WordPress admin area of your website, then you can empty the WordPress cache by visiting your caching plugin’s settings page.

For details, see our tutorial on how to clear WordPress cache.

Checking for Corrupt .htaccess File

The .htaccess file is a server configuration file that is also used by WordPress to set up redirects.

One of the most common causes of the internal server error is the corrupt .htaccess file.

The easiest way to fix this is by simply visiting the Settings » Permalinks page in the WordPress admin area and then clicking on the ‘Save Changes’ button without making any changes at all.

Update permalinks to regenerate .htaccess file

WordPress will now try to update your .htaccess file or generate a new one for you. You can now visit your website to see if this has resolved the internal server error.

If you can still see the error, then you need to make sure that WordPress was able to generate or write to the .htaccess file.

Sometimes, due to file and directory permissions, WordPress may not be able to create or write to your .htaccess file.

You can now try to replace the .htaccess file manually. First, you need to log in to your website using FTP or the File Manager app under your hosting account control panel.

Next, you need to rename your main .htaccess file to something like .htaccess_old. This lets you keep the file as a backup, but WordPress won’t recognize it.

To rename the .htaccess file, you will need to log in to your site using FTP or the File Manager app in your hosting account’s cPanel dashboard.

Once you are connected, the .htaccess file will be located in the same directory where you will see folders like wp-content, wp-admin, and wp-includes.

Simply right-click on the .htaccess file and rename it to .htaccess_old.

Rename .htaccess file

Next, you need to create a new .htaccess file.

Inside your site’s root folder, right-click and then select the ‘Create new file’ option in your FTP client or File Manager app.

Create new htaccess file

Name this new file .htaccess and click ‘OK’ to save it.

Now, this .htaccess file is currently empty, and you need to add default WordPress rewrite rules to it.

Simply right-click on the file and then select ‘View/Edit’ in your FTP client or File Manager app.

Edit .htaccess file

The empty file will open in a plain text editor like Notepad or TextEdit.

Now, you need to copy and paste the following code inside it:

# 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]
</IfModule>
# END WordPress

This code is the default rule set used by WordPress. Don’t forget to save your changes and upload the file back to the server.

You can now visit your website to see if this has resolved the internal server error.

If it did, then give yourself a pat on the back because you fixed the internal server error.

Important: Before you move on with other things, make sure that you go to the Settings » Permalinks page in the WordPress admin area and click the Save button without making any changes. This will regenerate the .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, the internal server error can happen if a script consumes all the PHP memory limit.

The easiest way to increase the PHP memory limit is by editing the wp-config.php file. Be careful when you do this if you are a beginner. You want to follow these instructions carefully because even small mistakes in WordPress core files can break your site.

To begin, simply connect to your WordPress website using an FTP client or the File Manager app under your hosting account control panel.

You’ll find the wp-config.php file inside the main folder of your website. Right-click on it and select ‘Download.’ This will ensure that you have a file backup in case something goes wrong.

When you’ve saved that, you can right-click on it and select ‘View/Edit.’

Edit wp-config file

Inside the wp-config.php file, you need to add the following code just above the line that reads, ‘That’s all, stop editing! Happy publishing’:

define( 'WP_MEMORY_LIMIT', '256M' );

For more details, see our tutorial on how to increase the PHP memory limit in WordPress.

Note: If 256M doesn’t solve the problem, then try increasing it to 512M.

If you see the internal server error only when you try to log in to your WordPress admin or upload an image in your wp-admin, then you should increase the memory limit by following these steps:

  1. Create a blank text file on your computer and name it php.ini
  2. Paste this code in there: memory=256MB
  3. Save the file
  4. Upload it into your /wp-admin/ folder using FTP

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, you are in for more troubleshooting.

Deactivate All WordPress Plugins

If none of the above solutions worked for you, then this error is most likely being caused by a specific plugin installed on your website.

It is also possible that it is a combination of plugins that are not playing nice with each other.

If you can access the WordPress admin area of your website, then you can simply go to the plugins page and deactivate all WordPress plugins.

Deactivate all plugins

However, if you are unable to access the WordPress admin area, then you can deactivate all WordPress plugins using FTP.

Simply connect to your WordPress website using an FTP client or the file manager app under your hosting account control panel.

Once connected, navigate to the /wp-content/ folder and rename the plugins folder to plugins.deactivated.

Plugins deactivated via FTP

WordPress looks for plugins in the plugins folder. If the plugins folder is not found, it will automatically deactivate all plugins.

You can now try visiting your website to see if this resolved the internal server error on your website.

To restore all your plugins, you can simply rename the ‘plugins.deactivated’ folder back to plugins.

Your plugins will now be restored, but they will still be deactivated.

You can now activate plugins individually and visit your website to figure out which plugin is causing the internal server error.

For more details, see our guide on how to deactivate all WordPress plugins without WP-Admin.

If deactivating all plugins didn’t fix the internal server error on your website, then continue reading.

Switch to a Default WordPress Theme

One possible cause of the internal server error could be some code in your WordPress theme.

To determine if this is the case, you need to switch your theme to a default WordPress theme.

If you have access to the WordPress admin area, then go to the Appearance » Themes page. If you have a default theme already installed, then you can simply click on the Activate button to switch the theme.

Activate a default theme

If you don’t have a default theme installed, you can click on the ‘Add New’ button at the top and install a default theme (Twenty Twenty-Three, Twenty Twenty-Two, and so on).

If you don’t have access to the WordPress admin area, you can still switch to a default theme.

Simply connect to your WordPress website using an FTP client and navigate to the /wp-content/ folder.

Right-click to select the themes folder and download it to your computer as a backup.

Download theme folder

Next, you need to delete the themes folder from your website. Once it is deleted, go ahead and create a new themes folder.

Your new themes folder will be completely empty, which means you don’t have any WordPress themes installed at the moment.

Next, you need to visit the WordPress themes directory and download a default WordPress theme to your computer.

Download a default theme

Your browser will then download the theme as a zip file to your computer.

Locate the file on your computer and then unzip it. Windows users can unzip the file by right-clicking on it and then selecting ‘Extract All’. Mac users can double-click on the zip file to extract it.

Extract theme files

You’ll now see a folder containing your WordPress theme.

Switch back to your FTP client or File Manager up and upload this folder to the empty themes folder.

Upload theme folder

Once uploaded, WordPress will automatically start using the default theme.

You can now visit your website to see if this resolved the internal server error.

If this didn’t work, then you can reupload your WordPress themes from the backup or switch back to the theme you were using.

Don’t worry. There are still a few more things you can do to fix the error.

Re-Uploading Core Files

If the plugin and theme options didn’t fix the internal server error, then it is worth re-uploading the /wp-admin/ and /wp-includes/ folders from a fresh WordPress install.

This will NOT remove any of your information, but it may solve the problem in case any file is corrupted.

First, you will need to visit the WordPress.org website and click on the ‘Download’ button.

Download WordPress

This will download the WordPress zip file to your computer.

Go ahead and extract the zip file. Inside it, you will find a wordpress folder.

WordPress folder extracted

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 the wp-admin, wp-includes, and wp-content folders inside it.

In the left column, open the WordPress folder on your computer.

Now you need to select all files inside the wordpress folder and upload them to your website.

Upload core WordPress files

Your FTP client will now transfer those folders 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 WordPress core files

Your FTP client will now replace your older WordPress files with new, fresh copies.

If your WordPress files were corrupted, then this step will fix the internal server error for you.

Enable Debug Logs in WordPress

WordPress comes with a built-in system to keep logs for debugging.

You can turn it on by using the WP Debugging plugin. For more details, see our guide on how to install a WordPress plugin.

Once activated, the plugin will turn on debugging logs on your WordPress website.

If you don’t have access to the admin area of your WordPress website, then you can turn on debugging by adding the following code to your wp-config.php file:

define( 'WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true); 

Once you have turned on debug logs, you can view these logs by using an FTP client and navigating to the /wp-content/ folder.

Debug log

You can open the debug log file in a text editor, and it will show you a list of errors and warnings that occur on your website.

Some errors and warnings can be harmless incidents that may not need fixing. However, if you are seeing an internal server error on your website, then these may point you in the right direction.

Ask Your Hosting Provider

If all methods fail to fix the 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 guide on how to choose the best web hosting provider.

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. Here's our editorial process.

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

667 CommentsLeave a Reply

  1. I encountered the following error :

    Error 500 – Internal Server Error

    An error was encountered while processing your request. Typically this is a temporary condition. Please contact the web site owner for further assistance.

    So I talked to my hosting support and they suggest me the following procedure :

    ” Your cPanel account was set to use the PHP version 5.2, and it needed to be updated to the PHP 5.4 version. ”

    Thanks ………. I worked for me ….
    I am using inmotionhosting .

  2. Thank you! Great advice even a non-techie volunteer can follow. The htaccess file was the main fix, but I could see by the logs that memory was creating a continual problem, so fixed that while I was at it.

  3. I have not been in the situation where I have had to test my plugins by disabling them all yet, but if I had to test them all I would try this method to try and reduce the number of tests required after deactivating them all:

    1. I would reactivate 50% of them. If the problem recurred I would know the problem plugin was in the reactivated group else it would be in the deactivated group.
    2. If the problem was caused by the reactivated group I would deactivate 50% of them and retest else I would reactivate 50% of the other group that had not yet been reactivated and retest.
    3. At this point I would know which group of 25% of all my plugins contained the faulty plugin and change the activation state of 50% of that group and retest.
    4. At this point I would know which group of 12.5% of all my plugins contained the faulty plugin.

    If I had 32 plugins the percentages above would divide them up very neatly into groups of 16, 8, 4, 2 and 1. It’s more likely that I would have to divide them into groups of unequal sizes but that doesn’t detract from the basic concept of reducing the number of tests to only 5 instead of 32.

    If the problem proved to be with the only plugin I had not reactivated by this method then I would obviously carry out a sixth test with that plugin alone. If it proves that there is only a problem when it is activated along with other plugins then the scene would get complicated.

  4. it was w3 total cache plugin that caused error on my site, I renamed the cache folder but it didn’t changed any thing, then there were some other files that were written like w3 advanced cache.php something like that, I renamed EVERY FILE that had w3 cache or Even cache written on it worked but i accidentally deleted my .htaccess file, i had copied the content of the file safely, so i created new .htaccess file and uploaded it on the server, everything got fixed.

    I hope this solution helps some one else who has this problem.

    Than ks

  5. hello

    i changed my theme to a tube video them named ” detube”
    but after changing i am receiving a huge number of internal error 500 in Google webmaster( more then 800 error daily) and sometimes when i browsing my website don’t load and show me ” bandwidth limit resource” and also i receiving about 15 warning regarding to sitemap in Google webmaster
    before changing theme i didn’t have any issues
    can anyone help me? what can i do? i am losing my Google visitors

  6. Thousand likes . .htaccess was problem and i just did it as shown in the video and the problem is solved

  7. Internal Server Error mostly happens in Free Hosting. When I upgraded to premium, everything was on track.

  8. Bravo!
    “Checking for Corrupt .htaccess File” This section helped me solve the issue, Thanks for the post :)

  9. Hi. Thank you for sharing this, I have recently experienced a 500 internal server error on my website but I re-uploaded wp-admin and wp-includes from fresh install, now everything is working in a good condition. Thank you.

  10. The problem with my site is that sometimes it loads correctly and sometimes it shows 500 internal server error. Can you please tell me the reason for this?

  11. So, I have a really weird internal 500 error happening. My homepage loads up fine but whenever I click a link in the nav bar to go to another page the internal error pops up. I ran through this list of fixes and can’t seem to figure it out. Also my hosting provider doesn’t have a clue any ideas?

  12. Thank you for this. My dashboard crashed midway through a Wordfence Security update. I tried for over 3 hours to fix it but could not get into my dashboard. (500 http error in IE, white screen in firefox)

    I was about to get my host to do a restore from last night and lose a day’s work until I found this page. I used FileZilla renamed the plugins folder on the serer to “plugins-frs” and was able to get into my dashboard with all 14 plugins deactivated. I then renamed the folder back to “plugins” and was able to activate them one at a time. They retained all of their settings, no problem.

    I manually downloaded and uploaded the latest version of the Wordfence Security plugin that started my problems and activated the new version without issue.

    I need to move to Newfoundland and become a cod fisherman before I go insane!

    Sheff

  13. What is a FTP?
    And how to log in to my site using the FTP?
    Do you mean log in to my Godaddy domain? or worldpress?

    • FTP = File transfer protocol.

      to login with ftp (in Godaddy Cpanel) you should go to your control panel and then go to FTP options and create new ftp by selecting ‘public_html’ directory and then login with any ftp clients like Filezilla.

      host: ftp. yourdomain. com
      username and password: as your specified while creating FTP user.
      port: leave blank or 21.

    • FTP means file transfer protocol. It helps you transfer and edit files on your server.
      FTP software for instance are Filezilla, CuteFTP.

  14. Thanks you. I’ve used this technique multiple times on the same site. How can an .htcaccess file get corrupted? Is there anything that can be done to prevent it?

      • Thanks – I just thought to check here for your reply. The permission on the file is set to 644, but it keeps happening. It always works to rename the site and reload it, but often the client has to tell me his site is down before I know to go fix it for him. It looks like this is an issue in many WordPres forum threads as well.

        • Some plugins access the .htaccess and if there is a disruption to their function while doing so can introduce errors into the .htaccess coding.

      • Thank you. My solution for this recurring problem was to find all instances of “flush_rewrite_rules” and pass in “false,” so that the .htaccess file is not rewritten in the plugin code. https://codex.wordpress.org/Function_Reference/flush_rewrite_rules
        I could not disable the plugin, since it is WooCommerce and that’s the whole basis for the site. This seems to be a pretty good fix for the situation I’m in.

  15. Thank you for the tips, as I successfully recovered my site using these suggestions. A corrupt hta access file was the issue. Using FileZilla (highly recommended FTP Client) I was able to disable my plugin folder, then disable the hta access file.

  16. What do I do when I can’t even enter the WP Admin without getting this error??
    I can sign in fine and see those options, but the moment I want to enter the Admin panel, it gives me this error. I can’t even look up themes, customizer, etc because it involves the WP Admin menu.

    What Do I Do?
    Please Help
    PS: I’ve never had issues with my site, but the WP Admin.

  17. Thank you! This was so helpful. When I added _deactivate to my plugins folder, I got a different error message that had to do with one plugin in particular. So, I went in and added _deactivate to individual plugins until I found the one that was the problem.

  18. Just had an issue with this and thought I’d pass along my findings… looking in the root folder, a second .htaccess file had appeared overnight and created the 500 Internal error.

    I simply removed the new .htaccess file (where it came from I don’t know), and all is back to normal.

  19. This is the best WordPress help site around hands down! Love it so much! Guides are simple and everything always works for me first try. Thanks wpbeginner :)

  20. This is a very informative and simple to understand tutorial for WP Beginners like me. I am using WordPress for last 5 years but as a blogger. Recently I had to install and look after couple of WordPress sites. Now 10 days back first WordPress site went down with 500 internal server error. I searched for the solution and landed on this page and did first step i-e renamed .htaccess file and problem was solved. Now again today the second site went down :) OMG !!!!! But again I visited this page to check for the solution.Now I have done all the steps explained on this page and nothing worked for me :( I have contacted the hosting provider and they are looking into problem for me. I will come back to share the solution once they rectify the problem. Thank you

  21. After trying everything (.htaccess, fresh install of wp-include/wp-admin, deactivate plugins…) I finally solve this problem doing this:

    1) Create a new folder in your wp directory.
    2) Move all files to this new directory.
    3) Move them back to the original folder.
    4) Ta-da!

    I know it sounds stupid but it worked for me.

  22. Thanks for saving my ass guys, just got a new job and got thrown into fixing the website (despite not part of my job description) and wow, those pesky plugins! As deemyboy says: BACKUP that wp-content folder!!!!!!!

  23. Thank you so much for this guide! At least I was able to start somewhere while I wait for my hosting to check it. In my case, it was not any of the ones listed but a large error log on the home directory (it was 2GB) that did it. But when I re-uploaded the core files, I decided to delete it and it worked.

  24. Hi, I have tried all those sollutions above, but none worked for me. Im getting kind of desperated. Im new to WP.. I was changing some Settings (in the wp-admin link) and when I hit save, the 500 error came up. Idk what to do :(

  25. I uploaded the php.ini file to my /wp-admin/ folder. But now I am confused how can i know if 500 interneral server error is fixed or not ? because the error was coming simultaneously not all the time. Please help.

  26. I know I got the internal service error because I was tinkering with my .htaccess file right before it occurred. Tried to log in using FTP clients (FileZilla and WinSCP) but I kept getting a connection error timeout. Just emailed my hosting provider. Hopefully, my provider will be able to help me with this.

  27. Hi Silvia and thanks for this! I changed the permissions of the two files in wp-admin that were causing problems to 775 (from 664) and this solved then issue. And I don’t know why this happened too! It happened out of the blue. Mystery!

  28. I tried all the above steps and finally when contacted My host provider iPage it was rectified. They told the problem is with file permissons and they rectified. This should have been my First step

  29. I got back into my WP-Admin by renaming .htaccess but when I did settings>permalink>save as you recommend, I got locked out of admin again. Now renaming .htaccess does nothing. Any ideas?

  30. I’ve had this problem so many times and I feel comfortable sharing my advise on this as an 500 Error expert. Sometimes the problem was solved by changing the htaccess file, but it was a temporary solution. As it’s pointed out in the article, 500 service errror is mostly caused by PHP memory limit and unfortunately adding a php.ini file is not going to cut it. Most hosting companies set Php limit to 128MB, including Dreampress, and if you exceed that limit, your hosting provider will momentarily cut the connection to your website. My advise for you people who has this problem is this. Install P3 Plugin and designate the memory-hogging plugins. If they’re not essential, remove them. Also, changing your host provider to a boutique one instead of Bluehost or Hostgator will get your better customer service and higher product quality.

  31. If you cannot find your .htaccess file, then you can always create a new blank file in a text editor. Name this file .htaccess and upload it to your website’s root directory using an FTP client.

  32. i still have a problem with this. i cant find my .htaccess file, and i have been locked out of admin. the whole site can’t be viewed. please help me

  33. i’ve tried all these, and it still doesnt work!! i cant find my .htaccess file and i cannot generate it because i’m locked out of admin, HELP PLEASE!!!

  34. Very helpful, but one more thing, mostly its due to w3 total cache plugin, if you have that you can rename cache plugin folder through FTP and then try, my site was fixed this way

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