New: professional WordPress services from the team behind your theme

Tutorial Troubleshooting Level: Beginner 30 Minutes

How to Fix the 500 Internal Server Error in WordPress (11 Proven Fixes)

Learn how to fix the 500 internal server error in WordPress step by step, even if you can’t log in: error logs, .htaccess, PHP memory, plugins, themes and more.

How to fix the 500 internal server error in WordPress: step-by-step fixes that work even when you cannot log in

Seeing a “500 Internal Server Error” on your WordPress site is alarming. One minute your site works, the next every visitor sees a blank page or a short error message, and sometimes you’re locked out of the dashboard too. The good news is that the internal server error in WordPress is almost always fixable in a few minutes once you know where to look.

In this tutorial, we’ll explain what the 500 internal server error means, what usually causes it in WordPress, and how to fix it step by step. Each fix works even if you can’t log in to WordPress, using your host’s File Manager or an FTP client. We’ve ordered the fixes from the quickest and most common to the more involved, so work through them in order and stop as soon as your site is back.

What is the 500 internal server error?

The 500 internal server error is a general message that means something went wrong on the server, but the server can’t say exactly what. It isn’t specific to WordPress. Any website can show it, and the problem is on the server side, not with the visitor’s browser or internet connection.

You might see it in different ways depending on your server and browser:

  • “500 Internal Server Error”
  • “HTTP Error 500”
  • “This page isn’t working. example.com is currently unable to handle this request.”
  • A completely blank white page
  • “There has been a critical error on this website” (WordPress’s own message for fatal PHP errors, which often appears alongside a 500 status)

Because the message is so vague, fixing the internal server error in WordPress is really about finding the cause. The steps below help you narrow it down quickly.

What causes the internal server error in WordPress?

In our experience supporting WordPress sites, the 500 error almost always comes from one of these:

CauseWhat happensFix
Corrupt .htaccess fileBroken rewrite rules stop the server processing requestsRename it and generate a fresh one
PHP memory limit reachedA plugin or theme needs more memory than allowedIncrease the PHP memory limit
Faulty pluginA plugin update or conflict causes a fatal PHP errorDeactivate plugins and test one by one
Broken themeTheme code fails after an update or editSwitch to a default theme
Incompatible PHP versionYour host upgrades PHP and old code breaksChange the PHP version in your hosting panel
TimeoutsA long task exceeds the maximum execution timeIncrease limits or fix the slow task
Wrong file permissionsThe server can’t read or run filesReset permissions to 644 and 755
Corrupted core filesA failed update damages WordPress filesRe-upload fresh core files
Common causes of the internal server error in WordPress and how to fix each one: .htaccess, PHP memory, plugins, theme, PHP version, timeouts, file permissions and core files

Before you start: back up your site

Some of these fixes involve editing or replacing files, so take a backup first if you can.

  • If you can log in to WordPress, run a full backup with your backup plugin, or create a backup from your hosting control panel.
  • If you can’t log in, use your host’s backup tool, or download your files with your host’s File Manager or an FTP client, and export your database with phpMyAdmin.

If your host keeps daily backups, check when the latest one was made. If the internal server error started after a recent change, restoring yesterday’s backup can be the fastest fix of all. For a step-by-step recovery plan, see our tutorial on what to do when a WordPress update breaks your site.

How to connect to your site files

Most fixes below need access to your WordPress files. You can use either:

  • Your host’s File Manager, found in cPanel, hPanel or your host’s dashboard. This works in your browser with nothing to install.
  • An FTP or SFTP client such as FileZilla, using the FTP details from your hosting account.

Your WordPress files live in your site’s root folder, usually called public_html. It’s the folder that contains wp-admin, wp-content, wp-includes and wp-config.php.

WordPress files you'll work with to fix the internal server error: .htaccess, wp-config.php, wp-content/plugins, wp-content/themes and wp-content/debug.log in the site's root folder

How to fix the internal server error in WordPress

Work through these fixes in order. After each one, reload your site to see if the internal server error is gone.

Internal server error troubleshooting flow: back up, clear cache, check the error log, fix .htaccess, raise PHP memory, test plugins, switch theme, check PHP version, reset permissions, re-upload core files, then contact your host

Fix 1: Reload the page and clear your cache

Sometimes an internal server error is temporary, caused by a short server overload or a process that was restarting. Wait a minute, then reload the page.

If the internal server error persists, clear your caches so you’re not seeing an old copy of the internal server error:

  • Browser cache: hard-reload the page with Ctrl+Shift+R on Windows or Cmd+Shift+R on Mac, or try a private window.
  • WordPress caching plugin: clear the cache from the plugin’s settings if you can reach the dashboard.
  • Server or CDN cache: clear the cache in your hosting panel or CDN, such as Cloudflare.

Fix 2: Check the error log to find the cause

Instead of guessing, look for the exact cause of the internal server error. It can save you trying every fix below.

Check your server error log. Most hosts show error logs in the hosting panel, often under “Logs” or “Error log”. Look for entries with a timestamp matching when the internal server error started. A line mentioning a specific plugin or theme folder tells you exactly where the problem is.

Turn on WordPress debug logging. Open wp-config.php in your File Manager and add these lines above the line that says /* That's all, stop editing! */:

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

Reload your site, then open wp-content/debug.log. Look for lines starting with “PHP Fatal error”. They name the file causing the problem. The WordPress debugging documentation explains these settings in more detail.

Important: when you’ve fixed the internal server error, set WP_DEBUG back to false and delete debug.log, because the log can reveal information about your site.

Check your email too. WordPress’s recovery mode often emails the site administrator a link to log in safely, along with the name of the plugin or theme that caused the fatal error.

Fix 3: Fix a corrupt .htaccess file

On Apache and LiteSpeed servers, a broken .htaccess file is one of the most common causes of the internal server error in WordPress. It can be damaged by a plugin, a manual edit or a failed update.

  1. In your File Manager, open your site’s root folder. If you can’t see .htaccess, turn on “Show hidden files”, because it starts with a dot.
  2. Rename .htaccess to .htaccess_old. This keeps a copy while stopping the server using it.
  3. Reload your site. If it loads, the .htaccess file was the problem.
  4. Log in to WordPress, go to Settings » Permalinks and click Save Changes without changing anything. WordPress creates a fresh, clean .htaccess file.

If you can’t reach the dashboard, create a new file called .htaccess in the root folder and add WordPress’s default rules:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

If your old .htaccess file contained rules from security or caching plugins, you can re-save those plugins’ settings later to add their rules back. Also check for extra .htaccess files in folders such as wp-content or wp-content/uploads, which some security plugins add.

Fix 4: Increase the PHP memory limit

If a plugin or theme needs more memory than your server allows, PHP stops and the server returns an internal server error. This often shows up when uploading images, running an import or using the dashboard.

Open wp-config.php and add this line above /* That's all, stop editing! */:

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

If the internal server error only happens in the dashboard, you can also add a higher limit for the admin area:

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

Save the file and reload your site. Note that WordPress can’t go above the maximum your hosting plan allows. If you still see memory errors, raise the PHP memory_limit in your hosting panel’s PHP settings, or ask your host to increase it.

Increasing memory fixes the symptom. If the internal server error came back after a plugin update or a new plugin, it’s worth finding which one is using so much memory, using the next fix.

Fix 5: Deactivate all plugins

A faulty plugin, or a conflict between two plugins, is one of the top causes of the WordPress internal server error, especially straight after an update.

If you can log in, go to Plugins » Installed Plugins, select all plugins, choose Deactivate from the bulk actions menu and click Apply. If the internal server error disappears, reactivate plugins one at a time, reloading your site after each, until the error returns. The last plugin you activated is the cause.

If you can’t log in:

  1. In your File Manager, open wp-content.
  2. Rename the plugins folder to plugins_off. WordPress can’t find your plugins, so it deactivates them all.
  3. Reload your site. If it loads, a plugin was the cause.
  4. Rename plugins_off back to plugins. Your plugins are still installed but inactive.
  5. Log in and reactivate plugins one by one to find the faulty one.

To test a single plugin you suspect, rename just that plugin’s folder inside wp-content/plugins instead. Once you find the faulty plugin, keep it deactivated, update it, roll back to the previous version, or contact its developer.

Fix 6: Switch to a default theme

If plugins aren’t behind the internal server error, your theme might be, particularly after a theme update or a code edit in functions.php.

If you can log in, go to Appearance » Themes and activate a default WordPress theme such as Twenty Twenty-Five.

If you can’t log in, open wp-content/themes and rename your active theme’s folder, for example from mytheme to mytheme_off. WordPress falls back to a default theme if one is installed. If no default theme is installed, upload one from WordPress.org into the themes folder.

If the error goes away, the theme is the cause. Undo any recent code changes, update the theme, or contact the theme developer. If you use a WPInterface theme, our support team will help you find the problem.

Fix 7: Check your PHP version

When a host upgrades the server’s PHP version, older plugins or themes that haven’t been updated can break and cause an internal server error. Very old PHP versions can also stop newer plugins working.

  1. Open the PHP settings in your hosting panel, often called “PHP Configuration” or “Select PHP version”.
  2. Note the current version, then switch to the version WordPress recommends, or temporarily back to the previous version if the error started right after a PHP change.
  3. Reload your site.

Long term, it’s best to update any plugin or theme that doesn’t support current PHP versions, rather than staying on an old, unsupported version. You can see WordPress’s current PHP recommendations on WordPress.org.

Fix 8: Fix timeouts and execution limits

If the internal server error appears only during long tasks, such as importing content, running a backup or processing a large upload, the server may be stopping the process because it ran too long.

  • Increase max_execution_time in your hosting panel’s PHP settings, for example to 300 seconds.
  • Split big imports into smaller batches.
  • Schedule heavy tasks such as backups for quiet times of day.

If timeouts happen often, your hosting plan may not have enough resources for your site.

Fix 9: Reset file and folder permissions

If files can’t be read or run by the server, WordPress can’t load. Wrong permissions sometimes happen after a migration or a manual upload.

The standard WordPress permissions are:

  • Folders: 755
  • Files: 644
  • wp-config.php: 640 or 600 on many hosts, for extra security

Most File Managers let you change permissions by right-clicking a file or folder and choosing “Permissions” or “Change permissions”. If many files are wrong, ask your host to reset them for you, which is quicker and safer than changing them one by one.

Fix 10: Re-upload WordPress core files

If a WordPress update was interrupted, core files can be damaged. Replacing them with fresh copies doesn’t touch your content, themes, plugins or uploads.

  1. Download the latest version of WordPress from WordPress.org and unzip it on your computer.
  2. Delete the wp-content folder from the unzipped files, so you don’t overwrite your own content.
  3. Upload the wp-admin and wp-includes folders and the remaining root files to your site’s root folder, choosing to overwrite existing files.
  4. Don’t replace your existing wp-config.php file.

Reload your site. If a damaged core file was the cause, the internal server error will be gone.

Fix 11: Contact your hosting provider

If none of these fixes work, the problem may be on the server itself, such as a misconfiguration, a resource limit or a server outage. Contact your host’s support team and tell them:

  • When the error started.
  • What you changed just before, such as an update, a new plugin or a PHP change.
  • Which fixes you’ve already tried.

Hosts can see detailed server logs that explain an internal server error, which you might not have access to, and they can often spot the cause straight away.

How to prevent the internal server error

Once your site is back, a few habits make the internal server error in WordPress far less likely to return:

  • Keep automatic backups stored off-site, so you can roll back quickly.
  • Update plugins and themes regularly, and test big updates on a staging site first.
  • Use well-maintained plugins and themes that support current PHP versions.
  • Remove plugins you don’t use, which reduces the chance of conflicts.
  • Avoid editing live theme files. Use a child theme or a code snippets plugin instead.
  • Choose good hosting with enough memory and support for current PHP. See our guide to the best WordPress hosting.
  • Monitor your site so you know as soon as it goes down.
How to prevent the internal server error in WordPress: off-site backups, regular updates with staging, maintained plugins, remove unused plugins, use a child theme, good hosting and uptime monitoring

Need help fixing the error right now?

If your site is down and you’d rather have an expert fix it, the WPInterface team can help:

  • VIP Support: one priority ticket for $29 that skips the queue and goes straight to a senior engineer. It’s the fastest way to get a 500 error fixed.
  • Malware Removal and Security Hardening: if a hack or injected code is causing the error, we clean your site by hand and close the security hole.
  • WordPress Care Plans: weekly updates, daily off-site backups and monitoring, so problems are caught before visitors see them.
  • WordPress Migration: if your host can’t give your site the resources it needs, we move it to a better one without downtime.

Frequently asked questions

What is the most common cause of the internal server error in WordPress?

The most common causes are a corrupt .htaccess file, a faulty plugin and an exhausted PHP memory limit. Checking your error log first usually tells you which one it is.

Will fixing the 500 error delete my content?

No. None of the fixes in this tutorial delete your posts, pages or media. Renaming files and folders is reversible, and re-uploading core files doesn’t touch wp-content. Taking a backup first keeps you completely safe.

Can a plugin cause a 500 internal server error?

Yes. A plugin update, a bug or a conflict between two plugins can cause a fatal PHP error that the server reports as a 500 error. Deactivating all plugins, then reactivating them one by one, finds the cause.

Why do I only see the error in the WordPress dashboard?

When the error only appears in the admin area, it’s often caused by the PHP memory limit, because the dashboard usually needs more memory than the front end. Try increasing the memory limit with WP_MAX_MEMORY_LIMIT.

How do I fix the error if I can’t log in to WordPress?

Use your host’s File Manager or an FTP client. You can rename .htaccess, rename the plugins folder or your theme folder, and edit wp-config.php without logging in to WordPress.

Is the 500 error bad for SEO?

A short outage won’t hurt your rankings, but if search engines repeatedly see an internal server error over several days, they may crawl your site less often and eventually drop pages. Fixing the error quickly protects your traffic.

Can a hacked site cause a 500 error?

Yes. Malicious code injected into .htaccess, theme or plugin files can break your site. If you find unfamiliar code or files, get your site cleaned properly rather than just deleting the error.

Conclusion

The internal server error in WordPress looks serious, but it usually has a simple cause. Start by checking your error log, then fix the .htaccess file, increase the PHP memory limit, and test your plugins and theme. Most sites are back online within a few minutes. If you’re stuck or your site is critical to your business, our VIP Support team can fix it for you.

Reactions

How did this make you feel?

Be the first to react

One reaction per visitor. Tap again to change or remove it.

Keep reading

Browse all resources

Discussion

Leave a reply

Your email address stays private. Required fields are marked *