Blog · WebJi® India

WordPress 500 Internal Server Error: How to Fix It

Quick answer: A 500 internal server error in WordPress means PHP died before it could build the page. The usual causes are a bad plugin, a broken .htaccess file, or a memory limit the error log names. Rename the plugins folder, then .htaccess, and read the log before you raise any limit.
✓ In business since 2005✓ INR + GST billing✓ 24/7 Email Support — avg reply < 60 min
Indian freelancer's desk with a laptop showing a website, potted plant and coffee in warm window light — 500 internal server error wordpress

What a WordPress 500 error means

A 500 is the server reporting that PHP stopped with a fatal error before it could build the page. Unlike a 404, the address can be correct and the request still fails; unlike a timeout, the process ended on an error rather than on the clock.

Server logs call it a PHP fatal error and usually name the file and line. That line is the fastest evidence you have, and it decides whether the cause is a plugin, a theme, a memory limit or the account itself.

Indian freelancer's desk with a laptop showing a website, potted plant and coffee in warm window light — 500 internal server error wordpress

How to disable plugins without the dashboard

  1. Open File Manager and go to wp-content.
  2. Rename plugins to plugins-off. Reload the site in a private window.
  3. If the site returns, rename the folder back to plugins, then rename each plugin folder until the crash returns. Leave that one renamed and update or remove it.
  4. If the site stays on 500, the plugin test is finished. Move to .htaccess.

The same trick works for the active theme: rename that theme folder so WordPress falls back to a default theme, if one is installed.

How to replace a broken .htaccess file

Rename public_html/.htaccess to .htaccess-old and reload the site. If the home page returns, that file was the fault: open Settings → Permalinks and click Save Changes so WordPress writes a clean copy.

This works on Apache and LiteSpeed. Nginx ignores .htaccess, so renaming it changes nothing there and the fault sits in the server block instead.

How to raise the PHP memory limit for WordPress

Add define( 'WP_MEMORY_LIMIT', '256M' ); to wp-config.php above the line that says happy publishing, or raise memory_limit in the panel's PHP settings. Set the figure the log line implies, not the largest number the form accepts.

define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

The second constant covers wp-admin, which loads more code than the front end and often fails first. If the panel caps memory below the value you set, the log keeps reporting the lower figure and the host has to raise the account ceiling.

Why a WordPress 500 appears right after an update

A plugin, theme or PHP version change is the usual trigger, because the new code calls a function or PHP version the site no longer has. Roll back that one change first, then read the fatal line before updating anything else.

If you cannot reach wp-admin, rename the updated plugin's folder through the file manager, restore the previous version from a backup, and leave the rest of the site alone until it loads. Bulk-updating ten plugins at once turns a five-minute fix into an afternoon of guessing.

How to read the PHP fatal error behind a 500

Turn on WP_DEBUG and WP_DEBUG_LOG in wp-config.php, trigger the crash again, then open wp-content/debug.log for the file and line that failed. The host's own error_log carries the same fatal, sometimes with more detail.

The WordPress error log location guide shows where those files sit on cPanel and LiteSpeed, and how to read them without editing code. Read the line before you change any limit or delete any file.

How to confirm the WordPress 500 is fixed

Load the home page, an inner page and wp-admin in a private window, then check that the log has stopped gaining new fatal lines. Cleared browser cache hides nothing here, so a page that still fails is still failing.

A page that returns 200 but looks broken is a different fault, usually a missing asset or a cache entry, not a resolved 500. On WebJi® WordPress hosting the account error log is readable from cPanel, and support can confirm whether the fatal came from the site or the server.

Frequently Asked Questions

How do I fix a 500 internal server error in WordPress?

Rename wp-content/plugins to plugins-off and reload the site. If it returns, rename the folder back and switch plugins on one at a time. If it does not, rename .htaccess and resave permalinks, then read the log before raising memory.

Does a 500 error mean the whole site is down?

Only the requests that reach the failing code break, which is usually every page but can be one section or wp-admin alone. Other files on the account still load, and the site recovers as soon as the fatal is fixed.

Why did my WordPress site show 500 right after an update?

The updated plugin, theme or PHP version is calling code the site no longer has. Roll back that single change, read the fatal line in the log, and update again only after the site loads normally.

How do I increase the PHP memory limit in WordPress?

Add define( 'WP_MEMORY_LIMIT', '256M' ); to wp-config.php, and define( 'WP_MAX_MEMORY_LIMIT', '512M' ); for the admin area. If the panel caps PHP memory below that, the host has to raise the account limit.

Where is the WordPress 500 error log?

cPanel Metrics → Errors, or a file named error_log in the site folder, shows the PHP fatal. WordPress writes its own wp-content/debug.log only after WP_DEBUG_LOG is enabled in wp-config.php.

Is a 500 error caused by my hosting?

Sometimes. A memory or process limit on the account produces a 500 that no plugin change fixes, and the log names the limit rather than a plugin file. If a static HTML file loads while WordPress fails, the fault is in the site, not the server.

Need help with this?

WebJi® support does it for you — free. Talk to our Jaipur team →