July 17, 2026 · Guides

WordPress 500 Internal Server Error: How to Fix It

The 500 internal server error is WordPress’s least helpful error message. Something went wrong on the server, and instead of telling you what, you get a generic page that says almost nothing. No plugin name, no file, no line number. Just a wall.

Site still broken? Skip the troubleshooting and get emergency WordPress support now. A developer responds within 6 hours, flat $67.

Behind that vague wording, though, is a familiar short list of causes, and most of them are things you can check. This guide explains what a WordPress 500 internal server error is, why it happens, and how to work through the fixes in order, from the safe and simple to the point where it’s smarter to hand it over.

If your screen is blank rather than showing a 500 message, that’s a slightly different problem; see our guide to the white screen of death. For any other crash type, the full crashed-site guide covers them all.

What a 500 internal server error means

A 500 internal server error is a server-side HTTP status. It means the web server tried to fulfil the request but hit a problem it couldn’t handle, and couldn’t be more specific about it. It’s the server’s version of “something broke, and I can’t explain it.”

Because it’s generic by design, the message itself won’t tell you the cause. The real detail lives in your server’s error log, which we’ll get to. That log is the difference between guessing and knowing.

Why WordPress throws a 500 error

The common causes, roughly in the order worth checking:

A corrupted .htaccess file. This small config file controls how your server handles requests. A bad rule, often left behind by a plugin, can trigger a 500 across the whole site.

Exhausted PHP memory. If your site runs out of the memory your hosting allows, the server can return a 500 instead of loading the page.

A plugin or theme conflict. A buggy plugin or theme, or a bad update, can produce a 500 the same way it can produce a white screen.

A corrupted core file. A failed update or an interrupted upload can damage a WordPress core file.

A PHP version issue. Code written for one PHP version can throw server errors on another after a host upgrade.

First, rule out the simple stuff

Reload the page a couple of times, and try it in an incognito window. A 500 caused by a brief server hiccup or a timed-out request can vanish on its own. Clear your caches too. If the error only showed for you and clearing the cache fixed it, you’re done.

If it’s consistent for everyone, work through the steps below.

How to fix the 500 internal server error, step by step

1. Check your server error log first. This is the step most guides bury, and it’s the most useful. Your hosting control panel has an error log that records what actually failed, often naming the exact file or plugin. Reading it first can save you every other step, so start there if you can find it.

2. Regenerate your .htaccess file. Since a corrupted .htaccess is a leading cause, this is a high-value fix. Through your host’s file manager or FTP, find .htaccess in your site’s root folder and rename it to something like .htaccess-old. Then reload your site. If it works, log into WordPress, go to Settings then Permalinks, and click Save without changing anything to generate a fresh, clean .htaccess.

3. Increase the PHP memory limit. If the log points at memory, raise the limit by adding a line to wp-config.php that sets WP_MEMORY_LIMIT to 256M. This edits a core file, so make a backup copy first.

4. Deactivate your plugins. If the site is still down, suspect a plugin. From wp-admin, deactivate all plugins and reactivate them one at a time. If you can’t reach the dashboard, rename the wp-content/plugins folder through your file manager to switch them all off at once.

5. Switch to a default theme. Rule out the theme by renaming its folder so WordPress falls back to a default theme. If the 500 clears, the theme was the cause.

6. Re-upload core WordPress files. If nothing above works, a core file may be corrupted. Downloading a fresh copy of WordPress and re-uploading the wp-admin and wp-includes folders, but not wp-content, replaces the core without touching your content. This is more involved and a reasonable point to bring in help.

Where the real answer usually is: the error log

The error log is the fastest route to a fix. A 500 error is deliberately vague on the screen, but your server writes the real reason to an error log the moment it happens. Most hosts expose this in the control panel, sometimes as a file called error_log in your site’s folder. It will often name the file and line, or the plugin, behind the error. If you only do one technical thing, read that log.

When to stop and get help

The 500 error can be a two-minute .htaccess fix or a genuinely tricky server problem, and you don’t always know which until you’re in it. Hand it over when:

  • The error log points to something you don’t recognise or can’t act on.
  • Re-uploading core files is the remaining option and that’s unfamiliar ground.
  • You’ve cycled through plugins, theme, .htaccess, and memory with no change.
  • The error came with signs of a hack.

At that point the site needs someone who reads server logs for a living. Ongoing WordPress support turns a stubborn 500 into someone else’s afternoon.

How to prevent 500 errors

  • Test updates on a staging site before they touch your live one.
  • Keep off-site backups so a corrupted file or database is a quick restore.
  • Stay on a supported PHP version and give your site enough memory.
  • Be cautious with plugins that write to .htaccess, and remove ones you no longer use.

As with most WordPress emergencies, steady maintenance is what keeps a 500 from becoming a regular visitor.

Frequently asked questions

What causes a 500 internal server error in WordPress?

Most often a corrupted .htaccess file, exhausted PHP memory, or a plugin or theme conflict, and sometimes a corrupted core file or a PHP version mismatch. The message is generic, so the real cause is usually found in your server’s error log.

How do I fix a 500 internal server error?

Check your host’s error log first, then regenerate your .htaccess file by renaming it and re-saving your permalinks. If that doesn’t help, raise the PHP memory limit, deactivate plugins, and switch to a default theme. Re-uploading core files is the last resort.

Where do I find the server error log?

In your hosting control panel, usually under logs or metrics, or as an error_log file in your site’s root folder via the file manager. It records the specific reason behind the 500, often naming the file or plugin at fault.

Is a 500 error the same as the white screen of death?

Not quite. A 500 is a server-level error with its own status page; the white screen is a blank page from a fatal PHP error. Their causes overlap (plugins, themes, memory), but a 500 more often involves .htaccess or server configuration.

Can I fix a 500 error without a developer?

Often yes. Regenerating .htaccess, raising the memory limit, and toggling plugins and themes are all doable. Reading server logs and re-uploading core files sit at the edge of DIY, and anything hinting at a hack should go straight to a professional.

Get your 500 error fixed risk-free with a 7-day money-back guarantee →