The 500 Internal Server Error is one of the most alarming things to see on a WordPress site. Your homepage, admin dashboard, and every page return nothing but an error message, with no explanation of what broke. The server crashed before WordPress could produce any output, so all you get is a generic error code and a blank screen.
The cause is almost always one of a few familiar suspects: a misbehaving plugin, a corrupted .htaccess file, a PHP memory limit your site has outgrown, or a theme conflict. If you’ve been following the step-by-step guide to building a WordPress website, you’ll likely have everything you need to fix this without needing your host’s support chat.
Before changing anything, check your error logs. The log often names the exact file or function that triggered the crash — and that can reduce a 30-minute diagnostic process to a single targeted fix.
Quick Answer
Rename your plugins folder via FTP to deactivate all plugins at once, then reset your .htaccess file, then add define('WP_MEMORY_LIMIT', '256M'); to wp-config.php. One of those three steps resolves the majority of 500 errors. If none of them work, contact your hosting provider with your error log details.
Why This Error Takes Down Your Whole Site
Most WordPress errors affect a single page or feature. The 500 error is different — it typically takes down the entire site, including the admin dashboard. Visitors see an error page and leave. Google’s crawler returns empty-handed. If the site stays down for hours, it can affect your search rankings.
The error is generic by design — it fires at the server level before WordPress can produce any meaningful output. You can find what actually caused it in your server’s error logs, or by systematically eliminating the common culprits. WordPress’s own documentation on common WordPress errors covers all the main types you’re likely to encounter.
Step-by-Step: How to Fix the 500 Internal Server Error in WordPress
Step 1 — Check Your Error Logs First
Open your hosting control panel and find the error log. In cPanel, it’s under Metrics > Error Log. You can also connect via FTP and look for an error_log file in your WordPress root directory or inside /wp-content/.
Open the log and read the most recent entries. They often name the specific plugin file, theme file, or PHP function that triggered the crash. If the log points to a specific file, start there — you may be able to skip the remaining steps entirely.
Step 2 — Deactivate All Plugins via FTP
If you can’t access your WordPress admin, you can’t use the Plugins screen. Connect via FTP (FileZilla or your host’s file manager), navigate to wp-content/, and rename the plugins folder to plugins-disabled.
Reload your site. If the 500 error clears, a plugin was the cause. Rename the folder back to plugins, then reactivate your plugins one at a time — testing after each — until the error returns. That’s your problem plugin. Delete it, replace it, or contact the developer. Keeping all plugins current is one of the most effective ways to prevent errors like this — the full process for updating WordPress safely covers what to check before and after every update.
Step 3 — Switch to a Default Theme
If disabling plugins didn’t fix it, the active theme may be the cause. Still via FTP, navigate to wp-content/themes/ and rename your active theme folder to something like my-theme-disabled. WordPress will automatically fall back to a bundled default theme such as Twenty Twenty-Four.
Reload the site. If the error clears, update your theme or switch to a different one. If you’d made custom edits directly to the theme files, this is a good prompt to move those changes into a child theme — direct edits to a parent theme are overwritten on every update.
Step 4 — Increase Your PHP Memory Limit
If WordPress runs out of PHP memory, the server throws a 500 error. This happens more often on sites with many plugins, large uploads, or high traffic. Open wp-config.php via FTP or your host’s file editor and add this line above the comment that says /* That's all, stop editing! */:
define('WP_MEMORY_LIMIT', '256M');
Save the file and reload your site. If the error clears, memory exhaustion was the cause. Your hosting plan may also have a server-level cap that overrides this setting — your host can raise it from their end if needed. How to Increase the PHP Memory Limit in WordPress walks through all available methods, including changes via php.ini and .htaccess.
Step 5 — Reset Your .htaccess File
A corrupted .htaccess file can trigger a 500 error, particularly after a WordPress update or a permalink change. Via FTP, find .htaccess in your WordPress root directory. It may be hidden — enable “Show hidden files” in your FTP client’s settings.
Rename it to .htaccess-old (do not delete it). Then log into your WordPress dashboard and go to Settings > Permalinks — click Save Changes without modifying anything. WordPress will generate a fresh .htaccess file automatically.
Step 6 — Contact Your Hosting Provider
If none of the steps above resolved the error, the problem may be at the server level rather than in your WordPress installation. Your hosting provider has access to server-side logs and infrastructure details you can’t reach from your end.
Contact their support with as much detail as possible: when the error started, what changed on the site beforehand, and any relevant entries from your error log. Most hosts can identify and resolve server-level 500 errors quickly.
Practical Tips
Always keep a recent backup before making changes — plugin installations, theme updates, WordPress core updates, and permalink changes can all trigger a 500 error if something goes wrong. A backup means you can restore in minutes rather than debug under pressure. How to Back Up a WordPress Website walks through the full process, including setting up automated scheduled backups.
In most sites I build, I set up automatic daily backups from the start. The one time you need it, it’s worth every step it took to configure.
Common Mistakes
Skipping the error logs. The log often names exactly what failed. Skipping it means starting from scratch when the answer is already written out for you.
Reactivating all plugins at once after renaming the folder. Reactivate one at a time. If you enable all of them together, you’re back to square one if the error returns.
Deleting .htaccess instead of renaming it. Rename it to .htaccess-old. If the fresh file causes a different problem, you can restore the original.
Waiting too long before calling your host. If you’ve worked through all six steps and the error persists, your host’s support is the fastest route to an answer — particularly for server-level issues you can’t diagnose from the WordPress side.
When to Fix It Yourself vs When to Ask for Help
Most 500 errors caused by plugins, themes, .htaccess, or PHP memory can be fixed in under 30 minutes if you have FTP access and work through the steps methodically. That covers the vast majority of cases.
If the error appeared without any changes on your end — after a host migration, a server PHP version upgrade, or a data centre issue — contact your host directly. Those causes are outside what site owners can fix from the WordPress side, and your host can identify them faster using their own logs.
Conclusion
The 500 Internal Server Error looks catastrophic but rarely is. Work through the steps in order — error logs, then plugins, then theme, then PHP memory, then .htaccess — and you’ll identify the cause quickly. If you hit a wall after all of that, your hosting provider is your next stop.

Etienne Basson works with website systems, SEO-driven site architecture, and technical implementation. He writes practical guides on building, structuring, and optimizing websites for long-term growth.