Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

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.

It is a bit tricky because 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.

Usually, the error is triggered before WordPress can load and the server cannot get enough information about what stopped it.

To understand more, see our article on how WordPress works behind the scenes.

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. It not only helps you quickly back up your website, but you can also store your backups on the cloud, and most importantly, you can restore your website from backup.

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 doesn’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’, then select ‘Always use this action’ and check the ‘Apply to current queue only’ checkbox.

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.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

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

678 CommentsLeave a Reply

  1. Syed Balkhi

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Kim

    Thanks. It was a corrupted .htaccess file.

  3. Friedemann Wetter

    nothing but “Re-uploading Core Files” solved it!
    I used a copy of a similar page that had no problems!
    Thanks!

  4. Jeffrey Hayes

    Your article did help me solve the issue. The problem seem to start when I tried to add new pages and/or post. After reading your article I first went into my file manager in my hosting control panel and tired to change the name of htaccess file but file manager would not allow me to do this so I went back into wordpress and deactivated ALL my plugins and then I could add pages and post with no error messages so I then reactivated one plugin at a time and each would add post/page until I found the plugin that was causing the problem so WP is running great again thanks to you, I am very new to WP as I always develop my websites in Dreamweaver.

    • WPBeginner Support

      Hi Jaffery,

      Glad to hear that you find WPBeginner helpful. :) Don’t forget to follow us on Facebook for more WordPress tips and tutorials.

      Admin

  5. Diego

    I was having trouble with this and i tried every solution here.
    Nothing worked , then i looked in the folder where wp-config , wp-mail is and i found a file named erro_log.
    I looked and found two of my pages inside the theme was giving error i just upload again via ftp the files and Boom!
    All working again.

    • Sophie

      Thanks for posting this. Your reply solved my problem as well. I had forgotten a ‘,’ in php file.

      Thank you for saving me the time of deactivating all of my plugins!

    • Aathira

      Thank you for saving my life.

  6. Dave Sumner

    inre: Re-uploading the core files includes/admin… am I overwriting the existing files or do I have do something first like re-name the old files before ftp’ing the new core files in. I’ve searched everywhere, but I don’t think I’ve seen an answer stated definitively on that.

    Thanks.

  7. Rico Bravo

    I went through every step and I couldn’t fix the error. So, I deleted the child theme and re-set the permalinks to Post name – It worked. Thanks for the tutorial…

  8. Aseem Rastogi

    Deactivating all plugins worked for me..
    thank you

  9. Fredy pandia

    thanks wpbeginner
    you really made my day
    changging .httaccess to the basic help my site up and run again

    basic wordpress .httacess
    # BEGIN WordPress

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

    # END WordPress

  10. John

    I renamed the Plugins folder to Plugins.de
    i logged into my site, it listed all my plugins but said they were not present.
    I logged out of my site.
    I then renamed the folder back to Plugins. I logged into my site, all the plugins were there but not activated. i activated the plugins 1 at a time until i found the corrupted plugin. i then deleted that plugin, reloaded it, activated it and now all works perfectly.

  11. Joshua lynch

    Hello, I am new to a company and they had a third party create and run their wordpress, now ive somehow accidentally managed to change the URL of the site to something else rather that what was purchased and added to the business website using the url from a host, I think they use Fast host, but I get a 500 internal error now and I cannot log into the account and when you go to the web page it come up without a theme or anythning. Please Advise as I need this sitem up and running again asap!

  12. Frank

    You saved my life! Thanks.

  13. Daniel

    I renamed my htacces and it worked but my problem is it toke back the Maximum upload file size which increased before to its default plz help

  14. David

    I had an issue where none of these things worked for me. For some reason, whenever I clicked “save” in the general settings or when clicking “save” in the permalinks settings, it would send me into a 500 server error loop. The only way to fix this was to upload a new “clean” version of an .htaccess file I had from another site running a similar setup. Same host, etc. Clicking save would trigger a change in the .htaccess file and basically corrupt it. In speaking with Bluehost tech support (like the 7th or 8th time) I finally found a stud tech support and he addressed the issue by disabling something called the “endurance cache plugin.” If you are on Bluehost and face the same issue, have your support try this. It could save you both hours!

  15. João Nunes

    Thanks a lot, it solved my problem.

  16. Will

    Deactivating plugins and then Activating them solved it for me thanks. One tip for you video is to slow down on each item I had to pause and rewind like 3 times lol ;)

  17. cr_mck

    Thank you so much for posting this help tutorial. It was a corrupt plugin that caused the problem. I changed the plugin folder name and managed to get back in and turn them back on one-by-one.

  18. Jose Cabral

    Re-uploading Core Files solved my issues

  19. Maurice

    I was updating a plugin and then I got the 500 internal server error. I watched the video above and I am a internet technology moron. In the video the author is on a screen I have no idea how to get to or what it even is. Please help.

    Maurice

  20. Kat

    Useful but since I’m such a newbie and still learning Wordpress, I am stuck. I can’t even seem to log in because of the 500 internal server error. Do you know what I should do?

  21. Shuaib

    you save my life

  22. Carlos

    Thanks a lot for this. It helped me solve the issue.

  23. Neneh

    Deactivating the plugins worked for me, thanks

  24. Atin

    i tried all the above solutions but none worked correctly .

    Here is my situtation;
    1. frontend not working (I need solution for this)
    2. backend login works fine

    • James

      Same problem here. Clean WP installation works fine. Restoring DB and files from local server to hosting – front page’s blank screen, admin panel is available.

      Have you already solved your problem, Atin?

      • Kate

        Have you tried resaving the Permalink structure under Settings? This can help restore a corrupted .htaccess file, which I’ve found causes a lot of those broken-front-end, working-back-end problems.

    • Charlotte

      I’m the opposite, front end working, haven’t even been able to get back end working at all since making it live through wp-admin! Tried everything!!

  25. Ang

    GREAT! Thanks x all, your save my day! :)

  26. Tulay

    Thanks! you re the hero of the day and saved me! have an awesome day just for that!

  27. Mac

    Thanks a lot it works for me. You save my day! Cheers!

  28. Lindsay

    Thank you for this article! It helped me resolve issues with my site quickly rather than having to rely on tech support that takes days!

  29. SJ

    Thank you,

    In my case, I found the theme is causing the error. After deleting, it works.

    How to fix this, This is a premium theme which can’t be downloaded from wordpress directly.

    This theme is perfectly working on my another site which is controlled by vestacp.

    But, This server is managed by CWP. So, Centos web panel security may be the reason for this http 500 error??

    Please help

    Thanks

  30. Celian

    Thanks you very much for theses advices, it worked perfectly !

  31. Larry Halpern

    After updating Wordpress to 4.7.2, I’m getting the 404 error (“The requested URL / was not found on this server”). My host said to go to the settings tab and saved them – no luck. I’ve deactivated the plug-ins – no luck. This hasn’t happened in 7 years. Any thoughts?

  32. Kris

    Just to say thanks for this information, concise and fortunately for me the first step fixed it!

  33. Andrea

    Ignore my last comment. I figured out what I did. I now just am unsure on how to figure out which plugin it was that messed me up. lol

  34. Andrea

    I just followed these steps as I had an Error 500. I can now get back into Wordpress admin (thank you), but none of my plug-ins are back. I could add them all again, but I have NO IDEA what I had. Any advice on how to get them back? This happened once before and it all came back fine when I deactivated. I’m a complete novice, so I’m guessing I hit something wrong. Thanks.

  35. Mohak M

    I encountered this error while restoring via a backupbuddy zip file. I uploaded the zip and importbuddy.php script in the root directory via FileZilla and ran the script. However, during the process, i got this error. Any idea how to fix this issue?
    Thanks.

  36. JPS Nagi

    Thank you ! Thank you ! Thank you ! Thank you !

    My hosting company was not helpful. I am just a simple guy who was happy with Wordpress. The tech support on the phone was annoyed, and rude.
    Finally got this to work … it was the htaccess thing.

    I need to find new hosting company … any recommendations ?

  37. Med Toledo

    Thanks a lot for this TIP, I did as suggested and wordked as a charm. I renamed the .htacces file, just wondering if that file is needed or the server generates a new one?

    • WPBeginner Support

      WordPress regenerates it automatically if it doesn’t find one. You can also regenerate it by visit Settings » Permalinks page in your WordPress admin area. Simply click on the save changes button without making any changes.

      Admin

  38. Jimy Lincoln

    Thank you very much for this video. It helped when my hosting company was not available.

  39. Phoebe

    I am getting the HTTP 500 error when I try to access the admin site. The site itself seems to be working as normal though. This has happened after I updated to WP 4.7. Any suggestions?

    • Scott

      I just had this exact issue and here is how I solved it.

      1. Rename the plugin folder via ftp. i.e. plugin-test.
      2. Visit the website’s admin page
      2.a. When prompted, update the database
      3. Make sure you can go in and out of the sites admin page like normal.
      4. Rename the plugin folder back to original name.

      That fixed the issue for me.

  40. Manjunath

    Thanks! Its unbelievable post about fixing internal server error. I was frustrated about this error and finally fixed it by this post and i like all The posts written here.

  41. Yulia

    Thank you so much for such a simple and useful explanation!

  42. Melissa

    I am getting the http error 500 message when I try to log into the admin site and am unable to access it. The site itself works fine though. I was upgrading the site to the latest version of WP. Can anyone help?

  43. Suzanne Turner

    I’m unable to access the dashboard for my site so I don’t know how I can perform the above checks.

  44. rachel

    Life saver thank you. Mine was caused by a plugin which I deleted from the hosting control panel and all was well again.

  45. S.S.

    Thanks so much for this article (and for all your great articles!) As a new wordpress developer, you just saved me hours of stressing!!

  46. Ian Rhodes

    I run several sites and have run into a strange problem. I can access one site, but not the admin. On another I can’t access the site or admin. Another site is unaffected.For the problem sites I get error 500.

    When I spoke to my service provider, the weird thing is that the CAN access the login screen that I can’t.

    I’ve tried your suggestions to no avail and am still unable to get to my dashboard :(

  47. Ugyen Zangmo

    It fixed my problem. Thank you so much

  48. Dan

    This would be helpful if I could get into the site to begin with, but that’s the problem I’m having. Unable to log in and getting a INTERNAL SERVER ERROR 500

  49. Kira San

    I think when the site exceeds the disk quota, this error will pop up.

  50. Miruna B.

    Hello,

    Thanks for the article. After trying everything you suggested, I managed to get my site back up, however now it seems I am experiencing a new issue. I cannot install, download, update anything… it just says Unpacking or downloading and nothing happens.

    Is there anything I can do? :(

    Best!

  51. Francesco Mazzini

    Thanks! Really hopeful. I had a 500 Internal Server Error, spent a lot of time looking for solutions in the web, and at least you were the only one who gave the right answer. now it goes! The site is , showed only the home page and not the others, but reading your answers and applying them and now is on again. Great!
    Thanks again!!!

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