WordPress Troubleshooting
Troubleshooting the WordPress 500 Internal Server Error
A 500 error is the server's generic 'something went wrong' response — here's how to narrow it down from .htaccess to plugin conflicts to corrupted core files.
4
Main causes: .htaccess, plugin, memory, core files
.htaccess
First and fastest file to check
NVMe
SSD storage for fast file checks and edits
24/7
Human support for stubborn 500 errors
In short
A WordPress 500 internal server error means the server encountered a problem it can't describe more specifically, which makes it broader and vaguer than errors like the database connection message. The most common causes, worth checking in order, are a corrupted .htaccess file, a plugin or theme conflict, an exhausted PHP memory limit, or corrupted WordPress core files themselves.
Because the error message gives almost no detail on its own, resolving it means working through these four causes methodically — starting with regenerating .htaccess, since it's the fastest check and resolves a large share of cases on its own.
The 500 error is WordPress's (and really the web server's) equivalent of a shrug — it's a generic catch-all for server-side failures that don't fit a more specific error code, which is exactly why it can feel harder to troubleshoot than something like a white screen with a named PHP error. It can appear suddenly after a plugin update, immediately after editing a file, or seemingly at random after a period of normal operation.
The fix isn't random, though — a fairly small set of causes accounts for nearly every 500 error on WordPress, and checking them in a specific order (cheapest and fastest checks first) resolves most cases within a few minutes rather than requiring a full site rebuild.
Step 1: Regenerate the .htaccess File
The .htaccess file controls URL rewriting and permalink structure, and a corrupted or malformed version of it is one of the single most common 500 error causes in WordPress. Via FTP or File Manager, rename the existing .htaccess file (to something like .htaccess-old) rather than deleting it outright, then log in to wp-admin and go to Settings > Permalinks. Without changing anything, click Save Changes — this forces WordPress to generate a brand new, correctly formatted .htaccess file.
If the site loads normally after this, the corrupted .htaccess was the cause, and you're done. If you can't reach wp-admin at all because the 500 error blocks it too, create a basic default .htaccess manually via File Manager with WordPress's standard rewrite rules, which is usually enough to restore basic access while you investigate further.
Step 2: Deactivate Plugins to Isolate a Conflict
If regenerating .htaccess didn't resolve it, a plugin conflict is the next most likely cause, especially if the error appeared right after installing or updating one. If wp-admin is reachable, deactivate all plugins from the Plugins screen and reload the site; if it isn't, rename the /wp-content/plugins/ folder via FTP or File Manager to force-deactivate everything without needing dashboard access.
Reactivate plugins one at a time, checking the site after each, until the 500 error returns — that plugin is the conflict. Check for an available update to that specific plugin before reactivating it permanently, since many 500 errors trace back to a plugin that hasn't caught up with a recent WordPress or PHP version change.
Step 3: Raise the PHP Memory Limit
A PHP process that runs out of allotted memory can surface as a 500 error rather than the more specific 'allowed memory size exhausted' message, particularly depending on server configuration. Add define('WP_MEMORY_LIMIT', '256M'); to wp-config.php, above the 'That's all, stop editing!' line, to raise WordPress's internal ceiling. If the error continues, the server's own PHP memory limit — configurable through your hosting panel's PHP settings — may need raising as well, since WordPress's internal setting can't exceed what the server itself allows.
This cause is worth suspecting specifically if the 500 error coincides with a resource-heavy action: importing a large amount of content, running a backup or migration plugin, or a traffic spike hitting a page with heavy queries. A one-time memory bump can mask the symptom temporarily, but if it recurs under similar conditions, the underlying limit needs a permanent increase rather than repeated manual fixes.
Step 4: Reinstall Corrupted WordPress Core Files
If none of the above resolves the error, corrupted WordPress core files — from an interrupted update, a failed file transfer, or unusual server activity — are the remaining likely cause. Download a fresh copy of WordPress matching your current version from wordpress.org, then overwrite the /wp-admin/ and /wp-includes/ folders and all core files in the root directory via FTP or File Manager, being careful not to touch /wp-content/, wp-config.php, or the .htaccess file you may have just regenerated, since those hold your actual site and its settings.
This step replaces only WordPress's own core code, leaving your themes, plugins, uploads and database entirely untouched, which makes it safe to attempt even without deep technical confidence. If the 500 error clears after this, the original cause was corrupted core files; if it doesn't, the cause likely sits at the server level and is worth escalating to hosting support directly.

A Generic Error, a Specific Sequence of Fixes
The 500 error looks vague, but working through .htaccess, plugins, memory limits and core files in order catches nearly every case without guesswork.
Hosting Cheap's cPanel-style panel gives direct File Manager and FTP access for every step here, on NVMe SSD storage that keeps file checks and edits fast during troubleshooting.
- File Manager and FTP access for .htaccess, plugin and core file fixes
- PHP configuration settings for adjusting server-side memory limits
- Daily backups as a fallback restore point if a fix isn't quickly found
- 24/7 human support for a second opinion on a stubborn 500 error
Why Hosting Cheap
What you get
File Manager and FTP access
Regenerate .htaccess, isolate plugin conflicts, and reinstall core files directly on the server.
PHP configuration control
Raise the server's own PHP memory limit through the hosting panel when WordPress's internal setting isn't enough.
NVMe SSD storage
File checks, edits and core file reinstalls complete quickly rather than adding to downtime.
Daily backups
A recent restore point exists if the 500 error's cause isn't quickly identifiable.
Free managed migration
Move a site with recurring 500 errors to hosting with more stable server configuration.
24/7 human support
Get a second opinion checking server-side logs when the cause isn't visible from WordPress alone.
How It Works
Get set up in a few steps
Regenerate .htaccess first
Rename the existing file and resave permalinks in wp-admin to generate a fresh, correctly formatted version.
Isolate a plugin or theme conflict
Deactivate all plugins, then reactivate one at a time, checking the site after each to find the conflict.
Raise memory limits, then reinstall core files
Increase WP_MEMORY_LIMIT and the server's PHP limit if needed, then replace core files if the error persists.
Included
Everything you need, on every plan
- .htaccess file renamed and regenerated via Settings > Permalinks
- All plugins deactivated (via dashboard or renamed folder) to test for a conflict
- Plugins reactivated one at a time to isolate the specific conflicting one
- WP_MEMORY_LIMIT raised in wp-config.php if memory exhaustion is suspected
- Server-side PHP memory limit checked through the hosting panel if needed
- Fresh WordPress core files downloaded and used to overwrite wp-admin and wp-includes
- wp-content, wp-config.php and .htaccess left untouched during core file reinstall
- A recent backup available as a fallback if the cause remains unresolved
FAQ
Frequently asked questions
What causes a 500 internal server error in WordPress?
The most common causes are a corrupted .htaccess file, a plugin or theme conflict, an exhausted PHP memory limit, or corrupted WordPress core files. Checking each in that order resolves most cases without needing a full site rebuild.
How do I fix a WordPress 500 error caused by .htaccess?
Rename the existing .htaccess file via FTP or File Manager, then go to Settings > Permalinks in wp-admin and click Save Changes without altering anything. This forces WordPress to generate a fresh, correctly formatted .htaccess file.
How do I find which plugin is causing a 500 error?
Deactivate all plugins at once (via the dashboard or by renaming the /wp-content/plugins/ folder if wp-admin is unreachable), confirm the error clears, then reactivate plugins one at a time until it returns. The plugin active when the error reappears is the conflict.
Can a 500 error be caused by not enough PHP memory?
Yes, a PHP process running out of its allotted memory can surface as a generic 500 error depending on server configuration, rather than a more specific memory message. Raising WP_MEMORY_LIMIT in wp-config.php, and the server's own PHP memory limit if needed, addresses this.
Is it safe to reinstall WordPress core files to fix a 500 error?
Yes, replacing core files with a fresh download from wordpress.org only touches WordPress's own code in wp-admin, wp-includes and the root directory — it leaves wp-content (themes, plugins, uploads) and your database completely untouched. It's a low-risk step worth trying if earlier steps don't resolve the error.
Why did I get a 500 error right after updating a plugin or WordPress itself?
This usually points to a plugin conflict with the new WordPress version, or an update that didn't complete fully due to a timeout or interrupted file transfer. Deactivating plugins to isolate the conflict, or reinstalling core files if the update itself seems incomplete, resolves most of these cases.
Ready for Hosting That Makes Fixes Faster?
Get managed WordPress hosting with File Manager access and 24/7 support, from $4.19/mo.
Get Started