500

500 Internal Server Error in WordPress

Fix a WordPress 500 error by checking plugins, themes, PHP memory, debug logs, .htaccess, permissions, and recent changes.

Start here

Quick Answer

Start with the PHP error log and recent WordPress changes. If wp-admin is unavailable, disable plugins safely from the filesystem, switch to a default theme only when needed, regenerate permalinks, and verify memory limits and file permissions.

WordPress-specific diagnosis

A WordPress 500 often comes from a PHP fatal error, a plugin/theme conflict, a broken .htaccess rewrite, exhausted memory, or a mismatch after a PHP version change. If wp-admin is unavailable, start with the plugin isolation guide instead of repeatedly reloading the broken page.

Debug safely

When you can edit files, add debug logging above the line that says to stop editing in wp-config.php, then remove or disable public display after you capture the error.

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Managed hosting vs VPS checks

On managed hosting, collect the URL, timestamp, plugin/theme changed, PHP version, and the latest PHP error log line for support. On a VPS, also check web server logs, PHP-FPM status, disk space, and recent deploys. If database credentials changed during migration, use the wp-config.php database settings guide.

Diagnosis

Symptoms

  • Public pages or wp-admin return 500, white screen, or a generic host error.
  • The error started after a plugin, theme, PHP version, permalink, or file permission change.
  • PHP logs mention fatal errors, memory exhaustion, syntax errors, or missing files.

Common causes

  • Plugin or theme fatal error.
  • Broken .htaccess or rewrite rules.
  • PHP memory limit, extension, or version mismatch.
  • Incorrect file permissions or missing WordPress core files.
  • Database errors surfacing as application failures.

Diagnostic Checklist

  1. Capture the failing URL, timestamp, and exact response code.
  2. Open PHP and hosting error logs before changing files.
  3. Disable plugins safely if logs point at plugin code or wp-admin is unavailable.
  4. Check .htaccess, permalinks, memory limits, and recent deploys.

Fixes

Find the first PHP fatal error

  • 10 minutes
  • Risk: low
  • Developer
  • WordPress, PHP

Use the first fatal error line to avoid blind plugin or theme changes.

  1. Open host, PHP, and WordPress debug logs.
  2. Search the timestamp of the failed request.
  3. Identify the first fatal error, file path, plugin/theme, and line number.
  4. Apply the smallest fix: disable the failing plugin, restore a file, or roll back the update.
Expected result

The 500 is tied to a specific PHP component or configuration.

If it failed

If logs are not available, isolate plugins and themes with a backup in place.

Verify

Reload the failing URL and confirm the fatal error no longer appears.

Rollback

Restore disabled components that were not responsible.

Was this fix useful?

Disable plugins without wp-admin

  • 10 minutes
  • Risk: medium
  • Site owner
  • WordPress

Recover access when a plugin prevents the site or dashboard from loading.

  1. Back up the current plugin folder list.
  2. Rename wp-content/plugins to plugins.disabled.
  3. Test the site and wp-admin.
  4. Rename it back and isolate plugins one by one if the site recovers.
Expected result

The site loads or the failing plugin is isolated.

If it failed

If disabling plugins does not help, restore the folder name and check theme, PHP, and rewrite errors.

Verify

Confirm public pages and wp-admin both respond.

Rollback

Return unaffected plugins to their original state.

Was this fix useful?

Platform notes

On nginx hosts, a severe WordPress PHP failure may surface as 500 or 502 depending on where the response fails. Use the exact status code and logs to choose the right path.

FAQ

Can I fix a WordPress 500 from wp-admin?

Sometimes. If wp-admin also fails, use filesystem or hosting tools instead of relying on the dashboard.

Should I increase PHP memory first?

Only when logs show memory exhaustion. Otherwise it can hide the real plugin or theme failure.

Review notes

Last reviewed
2026-05-05
Reviewed by
FaultForge Editorial Team, Web operations reviewer
Tested on

WordPress plugin/theme isolation, PHP error log review, wp-config.php checks, nginx/PHP-FPM gateway checks, and managed-hosting escalation paths.

Sources