The 500 Internal Server Error is WordPress's least helpful message. It means the server hit a problem while running the site, but it does not say which part failed. The browser shows a blank page or a generic error, and the real cause is hidden in a log file. The steps below go from the quickest checks to the more involved ones, and they will usually point you to the culprit.
Quick Answer: Turn on WordPress debugging to reveal the actual error, then rename your plugins folder to see whether a plugin is the cause. If that does not work, switch to a default theme, reset the .htaccess file, raise the PHP memory limit and check the server error log. If none of that helps, contact your host with the error text from the log.
Why the error happens
The 500 error is a catch-all. WordPress usually produces it when a PHP script fails before the page can finish loading. Common triggers are a plugin or theme with a fatal error, a corrupted .htaccess file, a PHP memory limit that is too low for the page, a script that times out while calling an outside service, or a file with incorrect permissions.
Because the same error covers many causes, you need to work through them in a sensible order rather than guessing.
Step 1: Turn on debugging
Debugging makes WordPress show the error message instead of a blank page. Open the wp-config.php file in the WordPress root folder, which you can reach through your host's file manager or an FTP client. Find the line that reads define('WP_DEBUG', false); and change false to true.
To keep the error out of the public page and write it to a log file instead, add these lines above the line that says "That's all, stop editing":
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
WordPress will then write errors to wp-content/debug.log. Open that file and look for the most recent "Fatal error" line. It normally names the plugin or theme file responsible, which is the most useful clue you will get.
Turn debugging off again once you have fixed the problem, because debug logs can grow large and expose file paths.
Step 2: Deactivate plugins
If the log points to a plugin, rename its folder rather than trying to log in to the dashboard, which may be inaccessible. In your file manager, go to wp-content, rename the plugins folder to something like plugins-off, and reload the site. If the error disappears, the cause is a plugin.
Rename the folder back to plugins, then rename each plugin's folder individually until you find the one that breaks the site. Update or remove that plugin, or ask its developer for a fix.
Step 3: Switch to a default theme
If the plugins are fine, the theme may be at fault. Rename your active theme folder inside wp-content/themes. WordPress will fall back to a default theme such as one of the Twenty series if one is installed. If the site loads, the problem is in the theme, and a child theme or an update from the developer usually resolves it.
Step 4: Reset the .htaccess file
The .htaccess file controls URL rewriting on Apache servers. A bad edit, often from a plugin or a copied snippet, can cause the 500 error on every page. In the WordPress root folder, rename .htaccess to .htaccess-old and load the site. If it works, go to Settings, then Permalinks, and save the page to generate a fresh file.
If you are on a server that does not use Apache, this file may not exist. Your host's documentation will say which rules apply.
Step 5: Raise the PHP memory limit
A page that needs more memory than PHP allows will fail with a 500 error. Add this line to wp-config.php, above the "That's all" line:
define('WP_MEMORY_LIMIT', '256M');
Many hosts allow a higher value, but check the limit your plan provides first. If the error persists, the memory limit may be set at the server level, which you can change in your hosting control panel.
Step 6: Check the PHP version
Plugins and WordPress itself expect a supported PHP version. If your host has recently changed the PHP version for your account, a plugin may fail with a fatal error. Most hosting panels let you choose the PHP version per site. Switch to a version that current WordPress supports, then test the site.
Step 7: Check the server error log
The server keeps its own error log, separate from WordPress. Your hosting control panel usually has an option called Error Log or Logs under the site's settings. The entries show the time of each failure and often name the script or the resource that failed, which is useful when the problem is outside WordPress, such as a timeout calling an external API.
Step 8: Ask your host
If you have worked through the steps and the error remains, contact your host and send them the exact error text from the debug log or the server log, along with the time it happened. Support teams can see server-side limits, recent changes and resource usage that you cannot. A clear report gets a faster answer than "my site is broken." If you are still choosing a host, the WordPress hosting providers guide compares the options.
Reinstalling WordPress as a last resort
Reinstalling WordPress core can fix damaged core files, but do it carefully. Download a fresh copy of WordPress from wordpress.org, then upload and replace only the wp-admin and wp-includes folders and the core files in the root folder. Do not overwrite wp-content, which holds your themes, plugins and uploads. Keep a full backup before you start.
Still not working?
If the site is still down after these steps, the cause may be outside WordPress. Check that the database is reachable, since a database connection error is a different message but can sit alongside a 500 error in some setups. Check disk space on the hosting account, because a full disk can stop PHP from writing and cause failures. If you run a store or a membership site, make sure no recent code change went live without testing.
For general upkeep that reduces this kind of failure, how to maintain your WordPress website covers the habits that keep plugins and themes from breaking the site. For a site that is slow as well as erroring, why WordPress rankings slip and five strategies to fix them helps you prioritise the next fixes. The Interserver knowledge base article on 500 errors is a useful host-side reference if you want a second view.
Did one of these steps fix your site? Tell us in the comments which one it was, and the error text if you saw it.

