Saturday, October 17, 2026
Just Updated

How to Fix 500 Internal Server Error in WordPress (Step by Step)

A 500 Internal Server Error in WordPress almost always comes from a corrupted .htaccess file, a plugin conflict, or exceeded PHP resource limits. The good news is that fixing it usually takes under ten minutes once you identify which of those three is responsible. This guide walks you through each cause and its solution in a logical order, so you can get your site back online as quickly as possible.

In this article
  1. What Is a 500 Internal Server Error?
  2. How to Fix a 500 Internal Server Error in WordPress
  3. Quick Reference: Common 500 Error Triggers and Fixes
  4. When to Escalate to Your Hosting Provider
  5. Preventing 500 Errors in the Future

What Is a 500 Internal Server Error?

Unlike WordPress-specific errors that come with a helpful explanation, the 500 error is a raw server-level response. The server knows something went wrong, but it cannot tell you exactly what — so your browser just sees a blank page or a generic error message. Because WordPress itself never fully loads, the usual admin tools are unavailable, which is why you need to work through FTP or your hosting control panel.

Understanding what typically triggers this error makes troubleshooting far more systematic. The most common causes include:

7 Legal Mistakes That Can Cost Small Businesses Thousands of DollarsAlso read7 Legal Mistakes That Can Cost Small Businesses Thousands of Dollars
  • Installing or updating a plugin or theme that introduces a fatal PHP conflict
  • Manually editing the .htaccess file and introducing a syntax error
  • Hitting your host’s PHP memory or execution time limit
  • File permission issues on core WordPress files or directories
  • A corrupted wp-config.php file

Work through the steps below in order. Each one takes only a few minutes, and the majority of 500 errors are resolved by Step 3.

How to Fix a 500 Internal Server Error in WordPress

Step 1: Regenerate the .htaccess File

The .htaccess file controls how your server handles WordPress requests, including URL rewriting for pretty permalinks. A single misplaced character can make it unreadable, causing a site-wide 500 error.

Log into your hosting File Manager or FTP client and navigate to your WordPress root folder — this is the directory that contains wp-config.php. Find the file named .htaccess and rename it to .htaccess_old. This disables the current file without deleting it, so you can restore it if needed.

Now check whether the error has disappeared. If your site loads again, the .htaccess file was the culprit. To generate a clean replacement, log into your WordPress dashboard, go to Settings > Permalinks, and click Save Changes without changing anything. WordPress will automatically write a fresh, correctly formatted .htaccess file for you.

Step 2: Increase the PHP Memory Limit

When WordPress doesn’t have enough PHP memory to complete a request — for example, loading a resource-heavy page like a WooCommerce checkout — the server can respond with a 500 error rather than a clear out-of-memory message.

Open your wp-config.php file in a text editor and add the following line above the “That’s all, stop editing!” comment:

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

If you have direct server access, you can also raise the limit in your php.ini file:

  • memory_limit = 256M

Save the file, refresh your site, and see if the error is gone. If your hosting plan has a hard cap lower than 256M, you may need to contact your host to raise the server-side limit.

Step 3: Deactivate All Plugins

Plugin conflicts are one of the most frequent causes of 500 errors, especially after a WordPress core update or after installing a new plugin that clashes with an existing one. Because you may not be able to access your WordPress admin, you need to deactivate plugins at the file level.

Connect to your site via FTP or File Manager and navigate to /wp-content/. Rename the folder called plugins to something like plugins_disabled. WordPress will no longer find the plugins folder and will automatically deactivate all plugins.

Reload your website. If the 500 error is gone, a plugin was responsible. Rename the folder back to plugins, then go into it and rename individual plugin folders one at a time, reloading the site after each one, until the error returns. The last plugin you renamed is the one causing the problem. You can then leave it deactivated, look for an update, or contact the plugin developer.

Step 4: Re-upload WordPress Core Files

If the above steps haven’t resolved the issue, one or more of your WordPress core files may have become corrupted — this can happen after a failed update or a partial file transfer.

Download a fresh copy of WordPress from wordpress.org and extract the zip file on your computer. Using FTP, re-upload the wp-admin and wp-includes folders to your server, overwriting the existing versions. Do not touch the wp-content folder — this is where all your themes, plugins, and uploaded media live, and overwriting it would cause data loss.

Also re-upload the individual PHP files in the root directory (such as index.php, wp-login.php, and wp-settings.php), but leave your wp-config.php alone, as that file contains your database credentials.

Step 5: Check File and Folder Permissions

Incorrect file permissions can trigger a 500 error on certain hosting environments, particularly when the server refuses to execute files that appear to have insecure settings.

The correct permissions for a standard WordPress installation are 755 for folders and 644 for files. A common mistake is setting permissions to 777 (fully open), which some hosts block as a security measure, resulting in a 500 error.

You can change permissions in bulk through your File Manager’s built-in permission tool, or via FTP by right-clicking files and selecting “File Permissions.” Many cPanel-based hosts also provide a script to reset permissions automatically.

Step 6: Review Your Server Error Logs

If none of the above steps have resolved the error, the server error log is your most reliable diagnostic tool. It records exactly which file triggered the failure and often includes the specific line number and error type.

Access your error log through cPanel’s “Errors” tool, or ask your hosting provider to share the raw Apache or Nginx error log. Look for entries timestamped around the time the error first appeared. You’ll typically see something like “PHP Fatal error: Allowed memory size exhausted” or “syntax error in /wp-content/plugins/example/example.php on line 42” — both of which point directly to the fix.

Quick Reference: Common 500 Error Triggers and Fixes

Trigger Symptom Recommended Fix
Corrupted .htaccess Error appears site-wide, including wp-admin Regenerate via Permalinks settings
Plugin conflict Error started right after a plugin update Deactivate plugins via FTP one by one
PHP memory limit Error on specific pages only (e.g., checkout) Raise WP_MEMORY_LIMIT to 256M
Wrong file permissions Error on uploads or media pages Set folders to 755, files to 644
Corrupted core files Error persists after all other fixes Re-upload wp-admin & wp-includes

When to Escalate to Your Hosting Provider

Most 500 errors in WordPress are caused by something at the application layer — a plugin, a theme, or a configuration file — which means you can fix them yourself using the steps above. However, some errors originate at the server level and fall outside your control as a site owner.

  • If your error log shows a server-level timeout rather than a PHP error, your host’s resource limits may be set too low for your site’s needs. Contact them and ask to have the execution time limit raised temporarily while you investigate.
  • Shared hosting plans often enforce strict caps on CPU time and memory that cannot be overridden via wp-config.php or php.ini. If you’re consistently hitting these limits, it may be a sign that your site has outgrown shared hosting.
  • Managed WordPress hosts typically have support teams experienced with this exact error. If you share your debug.log file with them, they can usually identify and resolve the issue within minutes.

Before contacting support, make a note of when the error first appeared, what changes you made immediately before it (plugin update, theme change, code edit), and what steps you’ve already tried. This information will significantly speed up the diagnosis process.

Preventing 500 Errors in the Future

Once your site is back online, a few simple habits can dramatically reduce the chance of a 500 error recurring. Always update plugins and themes one at a time rather than in bulk, so you can immediately identify a problematic update. Keep a staging environment where you can test changes before applying them to your live site. And make sure you have a reliable automated backup system — if a 500 error ever strikes alongside database corruption, a recent backup is the fastest path to recovery.

For further reading and community support, the official WordPress.org Troubleshooting Guide covers a wide range of common errors, and the WordPress Support Forums are an excellent place to get help from experienced developers if you encounter an unusual variation of this error.

Alex Turner
Written by

Alex Turner

Alex Turner writes about technology, startups and the business side of the web. His articles break down new tools, software trends and growth tactics into simple, actionable guides for founders and small teams.