Skip to content
QualityWordPress

12 Common WordPress Errors and How to Fix Them

Stuck on a WordPress error? Here are 12 of the most common problems—white screen, 500 error, DB issues—and exactly how to fix them.

QualityWordPress 8 min read
Developer staring at a laptop screen showing a WordPress error message

WordPress is remarkably stable software, but every site encounters errors sooner or later. A plugin update goes wrong, a hosting account runs low on memory, or a small typo in a theme file brings down the entire front end. Most of these problems look scarier than they are. With the right approach, the majority can be resolved in minutes.

This guide walks through twelve of the most common WordPress errors, what causes each one, and step-by-step instructions for fixing it. Keep a recent backup handy before you start—if you don’t have one yet, read our guide on how to back up a WordPress site first.


1. White Screen of Death (WSoD)

The white screen of death is exactly what it sounds like: a completely blank page with no error message. It usually means PHP ran out of memory or a plugin/theme triggered a fatal error.

Fixes:

  • Enable debug mode by adding define('WP_DEBUG', true); and define('WP_DEBUG_LOG', true); to wp-config.php. Reload the page and check /wp-content/debug.log for the offending line.
  • Deactivate all plugins by renaming the /wp-content/plugins folder to plugins_old via FTP or your host’s file manager. If the site loads, rename it back and reactivate plugins one by one.
  • Switch to a default theme (Twenty Twenty-Five) by renaming your active theme folder.
  • If memory is the culprit, see error #6 below.

2. Error Establishing a Database Connection

This error means WordPress cannot connect to MySQL. The cause is almost always a wrong credential in wp-config.php or a database server that is temporarily down.

Fixes:

  1. Open wp-config.php and verify DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST match what your hosting control panel shows.
  2. Log in to phpMyAdmin and confirm the database exists.
  3. If credentials are correct, contact your host—the MySQL service may be down on the server.
  4. Try adding define('WP_ALLOW_REPAIR', true); to wp-config.php, then visit yourdomain.com/wp-admin/maint/repair.php to repair corrupted tables. Remove the line afterward.

3. 500 Internal Server Error

A 500 error is a catch-all that means something went wrong server-side. Unlike the white screen, the server at least responded—but it couldn’t complete the request.

Fixes:

  • Check your server’s error log (usually in public_html/logs or via cPanel → Error Logs).
  • Deactivate all plugins (rename the plugins folder as above).
  • Re-upload a fresh copy of wp-admin and wp-includes from wordpress.org to replace potentially corrupted core files.
  • Regenerate .htaccess: go to Settings → Permalinks and click Save Changes without changing anything.
  • Ask your host whether mod_security or a WAF rule is blocking the request.

4. 404 Page Not Found

If individual posts or pages return 404s but the homepage works fine, the issue is almost always a broken permalink structure.

Fixes:

  • Go to Settings → Permalinks and click Save Changes. This regenerates rewrite rules and usually fixes the problem in seconds.
  • If that doesn’t work, check whether mod_rewrite is enabled on your server (shared hosts sometimes disable it).
  • Verify the .htaccess file in your WordPress root contains the standard WordPress rewrite block. If it is missing, WordPress generated it incorrectly—saving permalinks again should recreate it.

5. “Briefly Unavailable for Scheduled Maintenance”

WordPress puts itself in maintenance mode during updates by creating a .maintenance file in the root directory. If an update fails or you navigated away mid-update, that file stays behind and locks everyone out.

Fix: Connect via FTP or your host’s file manager, find the .maintenance file in the root of your WordPress installation, and delete it. The site will return immediately.


6. Memory Limit Exhausted

Fatal error: Allowed memory size of X bytes exhausted means PHP ran out of RAM trying to execute your page.

Fixes:

  • Add define('WP_MEMORY_LIMIT', '256M'); to wp-config.php.
  • Alternatively, add php_value memory_limit 256M to .htaccess.
  • If your hosting plan caps PHP memory below what you need, you may need to upgrade your plan or switch hosts.

7. PHP Syntax Error

Parse error: syntax error, unexpected... pinpoints a specific file and line. This is almost always caused by manually editing a PHP file and introducing a typo.

Fixes:

  • Open the file named in the error via FTP and fix the typo on the reported line (a missing semicolon, an unclosed bracket, or a stray character are common culprits).
  • If you edited a theme file, the safest approach is to restore the original file. This is exactly why editing directly on live files is risky—use a child theme instead.

8. Mixed Content Warnings

After moving to HTTPS, browsers flag resources (images, scripts, stylesheets) still loaded over HTTP as “mixed content.” The padlock disappears and some resources may be blocked. Cloudflare can also help enforce HTTPS at the CDN layer if you need a quick network-level fix.

Fixes:

  • Install the Really Simple SSL plugin, which handles most cases automatically.
  • Run a search-and-replace on your database to change http://yourdomain.com to https://yourdomain.com using a tool like Better Search Replace.
  • Make sure siteurl and home in Settings → General both start with https://.

Person typing code in a terminal to troubleshoot a WordPress site


9. 403 Forbidden

A 403 error means the server understood the request but refuses to fulfill it—usually because of file permissions or a security rule.

Fixes:

  • Correct file permissions: directories should be 755, files should be 644. You can set these in bulk via FTP client or cPanel File Manager.
  • Check whether a security plugin (Wordfence, etc.) or your host’s firewall is blocking your IP. Temporarily disable the plugin to test.
  • Look for a corrupt .htaccess file. Rename it to .htaccess_old and save your permalinks to generate a fresh one.

10. Too Many Redirects

ERR_TOO_MANY_REDIRECTS means the browser is caught in a redirect loop. WordPress keeps bouncing requests back and forth, usually because of conflicting SSL settings or an incorrectly set site URL.

Fixes:

  • Check Settings → General: WordPress Address and Site Address must match and should both be https:// if you use SSL.
  • If your site sits behind a reverse proxy or load balancer (common on managed hosts), add the following to wp-config.php before the require statement:
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}
  • Deactivate caching and redirect plugins to isolate the cause.

11. Locked Out of wp-admin

You may be locked out because you forgot your password, your account was compromised, or a security plugin blocked your IP.

Fixes:

  • Use the Lost your password? link on the login page to reset via email.
  • If email isn’t working, reset the password directly in the database: in phpMyAdmin, open the wp_users table, click Edit next to your account, change user_pass to a new value, and select MD5 from the function dropdown before saving.
  • If a security plugin blocked your IP, access your site via FTP and temporarily rename the plugins folder to regain access, then whitelist your IP in the plugin settings.
  • For brute-force protection tips, see our WordPress security basics guide.

12. Failed Auto-Update

WordPress has updated itself automatically since version 3.7. Occasionally an update stalls, leaving the site partially upgraded.

Fixes:

  1. Delete the .maintenance file if it exists (see error #5).
  2. Via FTP, delete the wp-admin and wp-includes folders, then re-upload fresh copies from the latest WordPress zip downloaded from wordpress.org.
  3. Visit your dashboard—WordPress will prompt you to complete the database upgrade if needed.
  4. If you see wp-content/upgrade files left behind, it is safe to delete them.

Quick Reference Table

ErrorMost Common CauseFirst Fix to Try
White Screen of DeathPlugin conflict or memoryDisable plugins via FTP
DB Connection ErrorWrong credentials in wp-configCheck wp-config.php
500 Internal ErrorCorrupt .htaccess or pluginRegenerate .htaccess
404 Not FoundBroken permalinksSave Permalinks settings
Maintenance Mode StuckFailed updateDelete .maintenance file
Memory ExhaustedLow PHP memory limitRaise limit in wp-config
PHP Syntax ErrorManual file edit typoFix the reported line
Mixed ContentHTTP resources after HTTPS moveReally Simple SSL plugin
403 ForbiddenWrong file permissionsSet 755/644 via FTP
Too Many RedirectsConflicting SSL settingsMatch Site Address URLs
Locked OutForgotten password or blocked IPReset via phpMyAdmin
Failed Auto-UpdateIncomplete core file overwriteRe-upload wp-core files

General Troubleshooting Habits

Before diving into any error, a few habits save a lot of time:

  • Always have a backup. Restoring is faster than debugging if things go sideways. UpdraftPlus is the most widely used free backup plugin and takes about ten minutes to configure.
  • Enable WP_DEBUG to surface exact error messages instead of blank or generic pages.
  • Deactivate plugins first. The majority of WordPress errors trace back to plugin conflicts, not core.
  • Check your host’s error logs. Server-level logs often contain detail that WordPress itself doesn’t surface.
  • Read the full error. Even cryptic messages include a filename and line number—that alone narrows the search considerably.

Most errors have been encountered by thousands of WordPress users before you. The WordPress support forums and the official documentation are good first stops when a fix here doesn’t fully apply to your setup. For a security-focused perspective on the errors that follow compromises, Sucuri’s blog is an excellent ongoing resource.


Errors are a normal part of running any dynamic website. With a systematic approach—check logs, disable plugins, verify configs—you can resolve the vast majority without developer help. Browse our free WordPress themes to start your next site on a solid, well-coded foundation that minimizes the chance of theme-related issues from day one.

Related articles

Never miss a free theme

Get new free themes and practical WordPress guides in your inbox.