Most WordPress errors trace back to one of four causes: a plugin or theme conflict, a low PHP memory limit, a corrupted .htaccess or wp-config.php file, or a database connection problem. Before troubleshooting any specific error, do these four things first — they resolve the majority of issues on their own: clear your cache, deactivate all plugins, switch to a default theme, and turn on WordPress debugging. The sections below cover the 12 errors site owners run into most often, with the fastest fix for each.
Before You Start Fixing Anything
Four habits apply to almost every WordPress error, regardless of what it looks like:
- Back up your site first. Before editing core files,
.htaccess, orwp-config.php, take a full backup (files + database) so you can roll back if a fix makes things worse. - Clear your cache — both any caching plugin you’re running and your browser cache. A surprising number of “errors” are just stale cached pages.
- Turn on debug mode by adding
define('WP_DEBUG', true);towp-config.php. This turns a blank white screen into an actual, readable error message telling you which file and line is failing. - Isolate the cause by deactivating all plugins and switching to a default theme (like Twenty Twenty-Five). If the error disappears, reactivate one at a time until it comes back — that’s your culprit.
The 12 Most Common WordPress Errors
1. White Screen of Death (WSOD)
What it looks like: A completely blank page — no error message, no content, nothing.
Common causes: A PHP fatal error (often from a plugin or theme), or the site exceeding its memory limit.
Fix:
- Enable
WP_DEBUGinwp-config.phpto surface the actual error behind the blank screen - Deactivate all plugins via FTP by renaming the
pluginsfolder — if the site comes back, reactivate plugins one at a time to find the conflict - Increase your PHP memory limit by adding
define('WP_MEMORY_LIMIT', '256M');towp-config.php
2. 500 Internal Server Error
What it looks like: “500 Internal Server Error” or “There has been a critical error on your website” — with no further detail.
Common causes: A corrupted .htaccess file, an incompatible PHP version, a plugin/theme conflict, or exhausted memory or execution limits.
Fix:
- Rename
.htaccessto.htaccess_oldvia FTP, then go to Settings → Permalinks → Save Changes to regenerate a fresh one — this alone resolves most 500 errors - If that doesn’t work, deactivate plugins one by one and recheck the site after each
- Check your hosting dashboard for the PHP version in use; if it was recently changed, try reverting
3. Error Establishing a Database Connection
What it looks like: “Error establishing a database connection” instead of your site loading at all.
Common causes: Incorrect database credentials in wp-config.php, a corrupted database, or the database server being down.
Fix:
- Double-check the
DB_NAME,DB_USER,DB_PASSWORD, andDB_HOSTvalues inwp-config.phpagainst what your host provides - Use phpMyAdmin (via your hosting control panel) to check whether the database itself is accessible and not corrupted
- Contact your host if the database server appears to be down — this one is often outside your control
4. 404 Errors on Pages That Used to Work
What it looks like: A page that loaded fine before now returns “Page Not Found,” even though it still exists in your WordPress dashboard.
Common causes: A broken permalink structure, often after a migration, plugin update, or server change.
Fix:
- Go to Settings → Permalinks and click Save Changes without altering anything — this forces WordPress to regenerate its rewrite rules
- If that doesn’t fix it, check your
.htaccessfile for the standard WordPress rewrite block and restore it if missing
5. Login Page Redirect Loop
What it looks like: You enter your credentials, the page reloads, and you’re sent right back to the login screen — endlessly.
Common causes: Incorrect WP_HOME or WP_SITEURL values, corrupted cookies, or a conflicting security plugin.
Fix:
- Clear your browser cookies and cache, then try again
- Check
wp-config.phpforWP_HOMEandWP_SITEURL— both should match your actual site URL exactly, includinghttps:// - Temporarily deactivate security plugins via FTP (rename their folder in
/wp-content/plugins/) and try logging in again
6. Syntax Error After Editing Code
What it looks like: “Parse error: syntax error, unexpected…” — usually right after editing functions.php or a snippet.
Common causes: A missing semicolon, bracket, or quote introduced during manual code edits.
Fix:
- Connect via FTP and open the file mentioned in the error message
- Undo your most recent change, or compare against a backup of the file
- If you can’t access the dashboard at all, this is the fastest fix — FTP access bypasses the broken admin entirely
7. Failed Auto-Update
What it looks like: “Briefly unavailable for scheduled maintenance” that never goes away, or a plugin/theme stuck mid-update.
Common causes: The update process was interrupted, or a .maintenance file was left behind.
Fix:
- Connect via FTP, navigate to your site’s root folder, and delete the
.maintenancefile - Manually update the affected plugin or theme: download the current version from WordPress.org, then go to Plugins → Add New → Upload Plugin and replace the existing version
8. Images Not Uploading / Media Upload Errors
What it looks like: “HTTP Error” when uploading an image, or uploads that hang indefinitely.
Common causes: Incorrect file/folder permissions, insufficient PHP memory, or exceeding the server’s upload size limit.
Fix:
- Check that the
/wp-content/uploads/folder has the correct permissions (typically 755 for folders, 644 for files) via FTP - Increase
upload_max_filesizeandpost_max_sizein your PHP settings, if your host allows it - Try a different image format or a smaller file size to rule out a size-limit issue
9. Mixed Content / SSL Warnings
What it looks like: A browser padlock warning, or “Your connection is not fully secure,” even though you have an SSL certificate installed.
Common causes: Some page resources (images, scripts) are still being loaded over http:// instead of https://.
Fix:
- Update your site URL under Settings → General to use
https:// - Use a plugin like Really Simple SSL, or manually search your database for hardcoded
http://references and update them - Clear any caching layer (including CDN-level caching) after making the change
10. Emails Not Sending (Password Resets, Contact Forms, WooCommerce Orders)
What it looks like: Password reset emails, form notifications, or order confirmations never arrive.
Common causes: WordPress’s default mail() function is frequently restricted or blocked outright by hosting providers due to spam abuse.
Fix:
- Install an SMTP plugin (WP Mail SMTP is the most widely used) and connect it to a dedicated transactional email service like SendGrid, Mailgun, or Amazon SES
- These services offer reliable delivery and bounce tracking that the default PHP mail function simply doesn’t provide
11. “Briefly Unavailable for Scheduled Maintenance” (Stuck)
What it looks like: This message persists long after an update should have finished.
Common causes: Same root cause as the failed auto-update above — an interrupted update process leaving a leftover maintenance flag.
Fix: Delete the .maintenance file from your site’s root directory via FTP, as described in error #7.
12. REST API / Block Editor Errors (“The editor has encountered an unexpected error”)
What it looks like: The block editor (Gutenberg) fails to load, or you see REST API-related error messages when trying to save a post.
Common causes: A plugin conflict, a security plugin or firewall blocking REST API requests, or a permalink issue.
Fix:
- Deactivate plugins one by one to isolate the conflict, paying particular attention to security and firewall plugins
- Re-save your permalinks under Settings → Permalinks
- Check whether your host or a security plugin is blocking
/wp-json/REST API requests, and allow them if so
Quick Reference Table
| Error | Most Common Cause | Fastest Fix |
|---|---|---|
| White Screen of Death | PHP fatal error / memory limit | Enable WP_DEBUG, deactivate plugins |
| 500 Internal Server Error | Corrupted .htaccess, PHP conflict | Regenerate .htaccess via Permalinks |
| Database connection error | Wrong credentials / DB down | Check wp-config.php DB settings |
| 404 on existing pages | Broken permalinks | Re-save Permalinks settings |
| Login redirect loop | Wrong site URL / cookies | Clear cookies, check WP_HOME/WP_SITEURL |
| Syntax error after editing | Broken code edit | Fix via FTP, restore from backup |
| Failed auto-update | Interrupted update | Delete .maintenance file |
| Image upload errors | File permissions / size limits | Fix permissions, raise upload limits |
| SSL / mixed content warning | Resources loading over http:// | Update site URL, use an SSL plugin |
| Emails not sending | PHP mail() blocked by host | Install an SMTP plugin |
| Stuck maintenance message | Same as failed auto-update | Delete .maintenance file |
| Block editor / REST API errors | Plugin or firewall conflict | Deactivate plugins, check /wp-json/ access |
When to Call in a Developer
Most of the errors above are fixable without coding experience, provided you’re comfortable using FTP and editing a couple of lines in wp-config.php. That said, bring in a developer or your host’s support team if:
- The error persists after ruling out plugins, theme, and
.htaccess - You’re not comfortable editing core files or your database directly
- The site handles sensitive data (payments, user accounts) and downtime carries real business risk
Frequently Asked Questions
Why does my WordPress site keep breaking after updates? Most post-update breakage comes from a plugin or theme that hasn’t been updated to match the new WordPress or PHP version. Testing updates on a staging site before applying them to production is the most reliable way to avoid this.
Is it safe to edit wp-config.php myself? Yes, as long as you back up the file first and edit it via FTP or your host’s file manager. A single missing character can cause a fatal error, so always keep the original file to restore from.
What’s the very first thing I should try for any WordPress error? Clear your cache and deactivate all plugins. Between those two steps, a large share of WordPress errors resolve immediately, pointing you straight at the plugin conflict responsible.
Can a WordPress error cause permanent data loss? Rarely, on its own — most of these errors affect how the site displays or functions, not the underlying database. Still, always maintain regular backups so a bad update or edit is never a one-way door.
Do these fixes work the same way on managed WordPress hosting? Mostly, though some managed hosts restrict direct file editing or handle caching and SSL at the server level. Check your host’s documentation for anything that differs from the general fixes above — namely .htaccess access and PHP configuration changes.



