🎉 Free WordPress fix for our first 50 sites — in exchange for an honest review. Claim a spot →

How to Fix the WordPress 500 Internal Server Error

The short answer A 500 internal server error on WordPress is a generic message that means the server hit a problem it couldn't resolve, so it stopped before loading your page. The cause is almost always one of a handful of known issues: a corrupt .htaccess file, an exhausted PHP memory limit, or a plugin, theme, or core file that's misbehaving. Your content and database are almost certainly fine and recoverable, so don't panic. The error is hiding the real reason, and once you surface it, the fix is usually straightforward.

What you're seeing

  • A blank white page or a plain "500 Internal Server Error" / "HTTP ERROR 500" message with no WordPress styling.
  • The wp-admin dashboard is also down, not just the front end, so you can't log in to investigate.
  • The error appears on every page, or only after you installed/updated a plugin, theme, or WordPress core.
  • The site loads intermittently, or only some pages fail (often a sign of a memory or timeout limit).
  • Other apps on the same server still work, which points the problem at this WordPress install specifically.

What causes it

Corrupt or misconfigured .htaccess

The .htaccess file controls how the server handles URLs and rewrites, and a single bad line will throw a 500 on every page. This often happens after a plugin edits it, a permalink change, or a botched migration. It's the most common cause and, fortunately, one of the safest to fix.

Exhausted PHP memory limit

WordPress, your theme, and plugins each consume memory, and when they exceed the limit your host allows, the page dies with a 500. Page builders, backup plugins, and image-heavy operations are frequent triggers. Raising the limit, or finding the plugin that's eating it, resolves this.

A plugin or theme conflict

A poorly coded, outdated, or incompatible plugin or theme can crash the PHP process, especially right after an update. Two plugins trying to do the same thing can also collide. Because the error takes down wp-admin too, you often have to disable the culprit over FTP rather than from the dashboard.

A corrupt WordPress core file

If a core file was damaged during an interrupted update, a failed transfer, or disk issues, WordPress can fail to boot and return a 500. This is less common but very fixable by replacing the core files with clean copies, which leaves your content and database untouched.

Server configuration or resource limits

The wrong PHP version, a low max_execution_time, file permission problems, or a server hitting its CPU/process limits can all surface as a 500. These live above WordPress, in the hosting environment. Your host's error log is usually the fastest way to confirm a server-side cause.

A broken or incomplete update

An update to WordPress, a plugin, or a theme that was interrupted partway through can leave files in an inconsistent state. The site was fine an hour ago and is now throwing a 500 right after you clicked "update." Rolling the component back, or completing the update cleanly, fixes it.

How to fix it yourself

These steps are safe for non-experts in order, but always take a full backup of your files and database first so you can undo anything.

  1. Back up before you touch anything

    Download a copy of your site files (via FTP or your host's file manager) and export your database before making changes. This is your safety net, so if a step makes things worse, you can restore in minutes. Never skip this, even though the temptation under pressure is real.

  2. Regenerate the .htaccess file

    Using FTP or your host's file manager, rename .htaccess in your site's root to .htaccess_old, then reload the site. If it comes back, the file was the problem; log in to wp-admin and go to Settings > Permalinks and click Save to generate a fresh, clean one. Don't delete the old file until you've confirmed the fix.

  3. Raise the PHP memory limit

    Edit wp-config.php and add the line define('WP_MEMORY_LIMIT', '256M'); just above the "That's all, stop editing" comment. If the 500 clears, memory was the constraint. If your host caps memory below this, the value won't take and you'll need to ask them or move on to the next step.

  4. Deactivate plugins without the dashboard

    Because wp-admin is often down too, use FTP to rename the wp-content/plugins folder to plugins_old, which deactivates every plugin at once. If the site loads, rename it back, then disable plugins one at a time (rename each subfolder) to find the culprit. Reactivate the rest once you've identified it.

  5. Read the server error log

    Turn on debugging by setting define('WP_DEBUG', true); and define('WP_DEBUG_LOG', true); in wp-config.php, then reproduce the error and open wp-content/debug.log, or check your host's error_log. The exact file and line number named there is the real cause behind the generic 500. Turn WP_DEBUG back off when you're done so errors aren't shown to visitors.

Rather not risk it? We'll fix it for you.

If you've worked the safe steps and the 500 is still there, or wp-admin and FTP feel out of your depth, that's a sensible point to hand it to us. Mend's senior engineers take a full backup first, find the actual cause in your server logs rather than guessing, fix it, and document exactly what was wrong and what we changed. Our Emergency Rescue is a flat $299 and backed by a money-back guarantee, so getting your site back online carries no risk.

Backup-first Documented fix Money-back guarantee
$299
Emergency Rescue · flat
Rescue my site →

Frequently asked

Will I lose my content or data fixing a 500 error?
Almost never. A 500 error is about code or server execution, not your database, so your posts, pages, and settings are sitting safely untouched. As long as you back up before making changes, the fix is fully reversible.
Why can't I log in to wp-admin during a 500 error?
The same problem that crashes your front end usually crashes the admin area, because both run through the same WordPress core and plugins. That's why many fixes are done over FTP or your host's file manager instead of the dashboard. Once the underlying cause is resolved, wp-admin comes back with it.
How do I find the real cause behind the generic 500 message?
The 500 page is intentionally vague, but your server's error log isn't. Enable WP_DEBUG in wp-config.php or open your host's error_log, and you'll see the exact file and line that failed. That single line turns guesswork into a targeted fix.
Is it safe to edit wp-config.php or .htaccess myself?
Yes, as long as you back up the original file first and change only the lines described. Both are plain text files, and renaming or restoring a backup undoes any mistake. If editing core configuration files makes you uneasy, that's a fair reason to let an engineer handle it.
How fast can Mend fix a 500 error on my site?
Most 500 errors are diagnosed and fixed in well under an hour once we're in, because the causes are well understood and we go straight to the logs. Our Emergency Rescue is $299, backup-first, fully documented, and money-back guaranteed. You get your site back and a clear record of what went wrong.