21+ years in hosting · Jaipur, India · INR billing with 18% GST · 24/7 email support
Blog · WebJi® India

WordPress 500 Internal Server Error: How to Fix It

Quick answer

A WordPress 500 internal server error means PHP crashed before it could build the page. The usual causes are a bad plugin, a broken .htaccess file or exhausted memory. Rename the plugins folder, then .htaccess, and read the error log before raising any limit. WordPress 5.2+ also emails the admin a recovery-mode link.

For WordPress site owners facing a 500 or critical error screen who need to find the failing plugin, file or limit and bring the site back.

✓ In business since 2005
✓ INR + GST billing
✓ 24/7 Email Support — avg reply < 60 min
GuideWebJi®
knowledge
Read time
4 min
Sections
8
Updated
14 Nov 2026
Written by
WebJi® team

What does a WordPress 500 internal server error mean?

A WordPress 500 error means PHP stopped with a fatal error, or the server refused to run it, before the page could be built. Unlike a 404, the address is correct; unlike a timeout, the process ended on an error rather than the clock.

Since WordPress 5.2, many fatal errors show "There has been a critical error on this website" instead of a bare 500, and WordPress emails the site admin a recovery-mode link that opens wp-admin with the faulty plugin or theme paused. Check that inbox first. Either way, the server's error log usually names the file and line, which decides whether the cause is a plugin, a theme, a memory limit or the account.

Common WordPress 500 causes and the first fix for each
CauseLog clueFirst fix
Broken or incompatible pluginFatal error in wp-content/plugins/…Rename the plugin folder
Theme errorFatal error in wp-content/themes/…Rename the active theme folder
Corrupt .htaccess"Invalid command" or rewrite errors in the server logRename .htaccess, resave permalinks
Memory exhausted"Allowed memory size of … bytes exhausted"Raise WP_MEMORY_LIMIT or the PHP limit
PHP version change"Call to undefined function" after an upgradeUpdate the plugin, or return to the previous PHP version

How do you disable plugins without the dashboard?

Rename the wp-content/plugins folder over SFTP or the file manager; WordPress then loads with every plugin deactivated, which shows at once whether a plugin caused the crash.

  1. Open the file manager or an SFTP client and go to wp-content.
  2. Rename plugins to plugins-off and reload the site in a private window.
  3. If the site returns, rename the folder back to plugins, then rename individual plugin folders one at a time until the crash returns. Keep that one disabled and update or replace it.
  4. If the site still shows 500, plugins are cleared; move to .htaccess.

The same trick works for the active theme: rename its folder and WordPress falls back to an installed default theme such as Twenty Twenty-Five, if one exists. With WP-CLI: wp plugin deactivate --all.

How do you replace a broken .htaccess file?

Rename .htaccess in the web root to .htaccess-old and reload; if the site returns, go to Settings › Permalinks and click Save Changes so WordPress writes a clean copy.

This applies to Apache and LiteSpeed. Nginx ignores .htaccess, so on Nginx the fault, if it is configuration, sits in the server block. The default rewrite block WordPress expects is shown in the WordPress 404 fix guide.

How do you read the PHP fatal error behind a 500?

Turn on WordPress's debug log in wp-config.php, trigger the error once, then read wp-content/debug.log for the file and line that failed. Keep errors out of the page itself so visitors never see paths.

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

Add these above the line /* That's all, stop editing! Happy publishing. */, reproduce the error, then set WP_DEBUG back to false when finished. The host's own PHP error log carries the same fatal, sometimes with more detail; where each file lives is covered in WordPress error log location.

How do you raise the PHP memory limit for WordPress?

Only when the log says "Allowed memory size … exhausted": add WP_MEMORY_LIMIT to wp-config.php, or raise memory_limit in the control panel's PHP settings, to the level the error implies.

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

The second constant covers wp-admin, which loads more code and often fails first. WordPress cannot exceed the server's PHP ceiling; if the log keeps reporting the lower figure, the host has to raise the account limit. Raising memory hides a leak rather than fixing it, so look at which plugin was running when memory ran out. More detail is in increase the WordPress memory limit.

Why does a 500 appear right after an update?

A plugin, theme or PHP version update is the usual trigger, because the new code calls a function, class or PHP feature the rest of the site does not have. Roll back that one change first, then read the fatal line before updating anything else.

If wp-admin is unreachable, rename the updated plugin's folder, restore its previous version from a backup, and leave everything else alone until the site loads. Updating ten plugins at once turns a five-minute fix into an afternoon of guessing; a staging site lets you test updates first.

How do you confirm the 500 error is fixed?

Load the home page, an inner page and wp-admin in a private window, then confirm the error log has stopped gaining new fatal lines. A page that returns 200 but looks broken is a different problem, usually a missing asset or stale cache.

If a static HTML file on the same account loads while WordPress still fails, the fault is in the site; if the static file also fails, the server or account is at fault. On WebJi® WordPress hosting, the account error log is available in the control panel, and support at support@webji.services can confirm whether the fatal came from the site or a server limit.

FAQ

Frequently asked questions

Does a 500 error mean the whole site is down?

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

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 instead of a plugin file. Test with a static HTML file: if it loads, the fault is in WordPress.

What is WordPress recovery mode?

Introduced in WordPress 5.2, it detects a fatal error, emails the admin address a special login link, and lets you into wp-admin with the faulty plugin or theme paused so you can deactivate or update it. The link expires after a short time.

Can file permissions cause a 500?

Yes, on some servers. Files should normally be 644 and folders 755; a PHP file set to 777 or owned by the wrong user can be refused by the server. Fix permissions rather than loosening them further.

Checked against WordPress developer documentation, 15 November 2026 · Reviewed by the WebJi® team, Jaipur.

WebJi® since 2005

Ready to get started with WebJi®?

Join 12,000+ businesses across India and overseas. INR pricing, 18% GST shown before payment and 24/7 email support in Hindi and English — average first reply under 60 minutes.