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

We’ve been there—seeing that dreaded 500 internal server error pop up on your website can be scary. It’s one of those moments when your heart skips a beat, even though we’ve tackled it more times than we can count.

This error is one of the most common (and stubborn) issues WordPress users face. And the worst part? It’s a bit of a mystery, giving no real clues as to what went wrong. It just shows up like an unwanted guest and refuses to leave.

In this guide, we will walk you through the exact steps to fix the 500 internal server error in WordPress. Just follow along, and you’ll have your site back up and running smoothly in no time.

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

This can be incredibly frustrating for beginners. 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.

From our experience, a step-by-step approach makes dealing with such errors easier. We’ll guide you through addressing the common causes of the error, one by one, until they’re resolved.

Get Expert Help Anytime with On-Demand WordPress Support!

Dealing with an internal server error can be frustrating. Our On-Demand WordPress Support is here to help you fix technical issues quickly and effectively.

  • One-time payment for expert on-demand support
  • Fast turn-around times
  • Available 24/7

👉 Get Emergency WordPress Support Now! 🛠️

What Causes the Internal Server Error in WordPress?

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

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 used by WordPress to set up redirects.

One of the most common causes of 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.

Update permalinks to regenerate .htaccess file

WordPress will now try to update your .htaccess file or generate a new one. 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 be unable 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 need of 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 media library

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

Video Tutorial

Subscribe to WPBeginner

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 contact WordPress support.

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

677 CommentsLeave a Reply

  1. Jethro

    This worked! Thank you so much!

    • WPBeginner Support

      You’re welcome, glad our tutorial could help :)

      Admin

  2. Alex

    Amazing thanks so much :)

    • WPBeginner Support

      You’re welcome, glad you like our content :)

      Admin

  3. Gabriel Waju

    very helpful article…so glad WP Beginner exist…

    • WPBeginner Support

      Glad our articles can be helpful :)

      Admin

  4. Neil Iosson

    Phew. the .htaccess fix worked – I am very relieved after thinking I had just broken my previous website by adding Wordpress.

    • WPBeginner Support

      Glad our article could help :)

      Admin

  5. Sim Tebe

    Worked like magic! Thank you so much for sharing

    • WPBeginner Support

      You’re welcome, glad our guide could help :)

      Admin

  6. Duncan McCormack

    re deleting .htaccess
    So say…

    You have permalink rewrites on, giving friendly page names.

    So you do the rename thing, and then click Settingts, permanlinks, Save.

    I assume this will stuff your menu? (Easily fixed I suppose).

    To fix, I would have thought to re add the rewrite lines in .htacess and click the desired permalinks setting and save that?

    • WPBeginner Support

      By resaving the permalinks WordPress will recreate the htaccess file without the need for manually adding the information in the htaccess file.

      Admin

  7. Istiak Borsho

    Thanks A lot for sharing this Post… that problem was occurring back to back and I was unable to do anything…Not only This Problem a lot of problems is solved by watching and reading your posts and video… I could not stop myself to comment here and subscribe.

    • WPBeginner Support

      Thank you, glad our article could help :)

      Admin

  8. Wagner

    Thank you… deactivation of plugins solved the problem.

    • WPBeginner Support

      Glad our article could help and thanks for sharing what worked for you :)

      Admin

  9. Linda

    My homepage links are all returning 500 errors. My webhost says it’s because they don’t reference the WP subfolder under the domain name. I have code in my .htaccess that makes the site refer to it without the subfolder–written for me by the webhost, iirc. This hasn’t happened before. I changed themes recently–could it be that? Or is it the latest update? Pulling hair out over here!

    • WPBeginner Support

      If none of the methods in our article were able to fix the problem, you may want to try recreating the menu to recreate the links.

      Admin

  10. David Jones

    I moved a client site over from Singlehop to GoDaddy and for the most part it is fine. They were having problems with their old developer. Updated WordPress and plugins, got SSL going and everything looks great. I get a 500 error when I go to the site, not every time but sometimes. I use Wordfence for security. When I get the 500 error all I do is refresh the browser and the site comes up. It’s weird. Any thoughts on why this would happen intermittently and how to fix it?

    • WPBeginner Support

      You would want to reach out to the current host to see if there is a specific error they can see in their error logs.

      Admin

  11. Kyle

    You guys are the number one resource for everything WordPress in my book. Thanks for this useful post.

    • WPBeginner Support

      You’re welcome :)

      Admin

  12. Sandeep

    Hi,
    Very nice article.
    I tried your all the steps but still, I am getting 500 error. My menus are not working. Please help

    From
    Sandeep

    • WPBeginner Support

      You would want to reach out to your hosting provider for them to see if there is a specific reason in their error log.

      Admin

  13. marco

    thanks this saved my life!

    • WPBeginner Support

      Glad our guide could help :)

      Admin

  14. yikun

    Checking for Corrupt .htaccess File
    Installing a plugin caused me this issue,Thanks it worked.

    • WPBeginner Support

      Glad our article could help :)

      Admin

  15. Curtis Bishop

    Thanks !!!!

    • WPBeginner Support

      You’re welcome :)

      Admin

  16. PS

    [Sat Mar 09 13:04:16 2019] [warn-ioncube] mmap cache can’t open /home/yyyyyy/public_html/xxxxxxx/wp-includes/post.php – Permission denied (pid 3708972)

    This is the error I find in the wp admin error log. I tried all the above options, still it isn’t working.

    Please help

    • WPBeginner Support

      If you’re still receiving the 500 error, did your hosting provider let you know of any errors on their end?

      Admin

  17. despasito

    It was a .htaccess error. thank you.

    • WPBeginner Support

      You’re welcome, glad our article could help :)

      Admin

  18. Ronnie

    Thank you verry much, Site up and running again :)

    • WPBeginner Support

      You’re welcome, glad our guide could help :)

      Admin

  19. Britt

    Thank you so much for this! I am new to the Wordpress web world and this was extremely helpful in fixing my 500 error.

    • WPBeginner Support

      Glad it could help :)

      Admin

  20. Luis De Sousa

    Hi!
    max-execution-time is also a determining factor in the appearance of the 500 internal error

    • WPBeginner Support

      Thanks for the reminder for anyone still having this issue :)

      Admin

  21. Nicholas

    Increasing memory “define( ‘WP_MEMORY_LIMIT’, ‘256M’ );” worked for me

    • WPBeginner Support

      Glad our recommendation could help :)

      Admin

  22. Joce

    I got this error while updating my theme and it’s still in the http 500 error

  23. Alex Williams

    I was able to resolve the issue by changing my php version from 7.2 back to 5.4 which is what it probably was when I installed wordpress 3 or 4 years ago. Godaddy configures their serves to autoupdate a lotta stuff, including the php version and this can break an older wordpress website. As soon ass i downgraded the php version my wp-admin panel was accessible again!

    • WPBeginner Support

      We would normally recommend reaching out to your host before changing your PHP version and they can normally assist without the need to change the PHP version.

      Admin

  24. Jo

    Hi, I am getting the 500 Internal Server Error when I try to go on my admin page. I can look at my website go through the posts but can’t edit anything/add new posts etc.

    This happened as I was in the middle of installing a new theme.

  25. Jacqui

    Hi,
    I re-uploaded the core files and now my wordpress site is not displaying anything.
    Kindly let me know of a solution to use to solve this problem.

      • Marcus Nash

        Same here. At first it was only admin issue. Now the whole site is server error 500. Will try your other link.

        • WPBeginner Support

          If that article does not help then you can also reach out to your hosting provider to see if they see any specific reason.

  26. Jacqui

    Hi,
    I tried re-uploading the core files from a new wordpress download and now my site is not displaying anything.
    Kindly let me know of a solution to solve this problem.

  27. Raj

    Hi very good article

    • WPBeginner Support

      Thank you :)

      Admin

  28. Miki Chambiki

    After update to WordPress 5.0.2 my page showed the same error:
    (when logging in backend or accessing a password-protected article)

    Internal Server Error

    Solution:
    DEactivate PHP boost !!! And it works again ;-)

    (Provider: Strato, PHP version: 7.2)

    • WPBeginner Support

      Thanks for sharing your solution to the error :)

      Admin

  29. Tafadzwa Chingwe

    Thanks was fustrating for real, changed htaccess to htaccessold and worked like a charm.

    • WPBeginner Support

      Glad our article could help :)

      Admin

  30. Thisara

    Thank you very much, it was the plug ins in my case, once i deactivate it i could log in to the wp-admin, and it prompted to update the database before log in, it took only few seconds, and afterthat re activated the plug-ins and now everything works fine. thank you again…

  31. Josh

    Deactivating all the plugins by renaming the file worked for me. Thanks!

  32. Michal

    Thanks for this. In my case, apparently some antivirus software of my hosting provider identified some core files as viruses (I have no idea if true, maybe I was hacked) and changed their names to “.VIRUS” . Replacing the wp-include worked.

  33. Glenn Watson

    Thanks so much for this – the php.ini memory tip solved the problem, and it’s so simple.

  34. Moosa

    There was a problem with the plugins folder. So, when I renamed it the problem was solved.

    Thanks Alot.

  35. Nicolas V

    Thank you very much !!!
    very clear explanations.
    i still have an issue : impossible to edit a page , the edit page opens and after a few seconds i get a message error…I will investigate this now…Anybody had this problem ?

  36. Ali Raza

    Hi,Am too worried about my site, recently i made changes for adding network setup for multisite in my wordpress account using exampp and i made changes to wp-config.php and .htaccess without holding any backup. and now this changes struck me out from my site and admin panel, and error is showing ” 500 enternal error” or when i saw this error, i reback my changes using youtube tutorials, and i changes wp–config and .htaccess back to it’s initial states. but now not at all. I even can’t accessing to wordpress or my admin panel, or anyhing else. Error is showing “”Server internal Error”” Please help me Urgently, i have too short time, it’s my Project and i have to submit it within 2 days. please help me out Please, I’m looking forward to hear from you. Thanx you a lot

  37. David Martin

    In my case the problem was a child theme !! thx a lot

  38. Kamaljit Sandhu

    For me fix the permissions for WP-config.php file solve the issue. I accidentally set up file permission for WP-config 600 and the change into 664.

  39. Chhunleang Say

    I have got 500 internal server error after I activated new theme . Please help. I use WordPress

  40. drNurmemet

    thank you! my website all pages not working accept homepage. the admin page is working. One of my plugins is causing this mistake (plugin name: ads inserter). I deactivated it, the website is working.

  41. Terry

    This was very helpful. I had my domain forwarded, and then modified it to an add-on, so my htaccess file was attempting to route to a subdirectory that was no longer needed. Once I removed that, it worked perfectly. Thanks for pointing me in the right direction.

  42. Rajib Chowdhury

    Brilliant. Thanks A lot

  43. Cem Sayar

    In my case it was php 7 so i had to downgrade php to version 6

  44. Dominic

    May I just add an even simpler one to try first? I use Updraft to back up my site. It has simply filled up my quota. I deleted a load of older backups and it sprang to life.

  45. Alicja

    whereare all those files like .htacces ? should i have it omewhere on my computer? because i edit my website wfrom different computers.

  46. Mark

    Thanks! It worked by deactivating one plugin.

  47. Loupida

    This article solves my issue. Thx a lot.

  48. Jeff PInterParsons

    Thank you, thank you, thank you!!

  49. Micaela

    THANK YOU!!!

    This is the best WP website. You saved me TONS of headaches. Thanks so so much! Reuploading wp-admin and includes did the trick for me.
    You guys RULE!!!!

  50. prashanth

    I directed to this page from my theme providers support forum.

    I had the following issue.

    1. HTTP error while uploading an image to my blog post.

    2. When I tried to upload via Media library I got the “500 Internal error”

    You tips under “Increasing the PHP Memory Limit” sorted out the issue.
    I created the file as instructed and uploaded.

    Thanks.

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.