ZeroToWP
errorsby Marvin

Common WordPress Errors and How to Fix Them (Complete Guide)

Share this article

Nothing kills your motivation faster than a WordPress error. You are working on a post, tweaking a setting, or installing a plugin — and suddenly your site shows a cryptic message instead of your content. I have been building WordPress sites for over a decade, and I have seen every error on this list more times than I can count.

The good news? Most WordPress errors have straightforward fixes. You rarely need a developer. You just need to know what the error means and where to look. This guide covers the 11 most common WordPress errors I encounter, with a quick explanation and a link to the detailed fix for each one.

WordPress.org support page listing common WordPress errors

Before you start troubleshooting any error, do two things: make a backup of your site (or confirm your host has automatic backups), and enable WP_DEBUG by adding define('WP_DEBUG', true); to your wp-config.php file. This will show you more specific error messages that make diagnosis much faster.

1. White Screen of Death (WSoD)

The White Screen of Death is exactly what it sounds like — your site shows a completely blank white page with no error message. It is one of the most common and most frustrating WordPress errors because it gives you zero information about what went wrong.

The usual suspects are a plugin conflict, a broken theme, or a PHP memory limit that has been exceeded. In most cases, the last thing you installed or updated is the culprit.

Quick fix: Enable WP_DEBUG to see the actual error. If you cannot access your dashboard, use FTP to rename the /wp-content/plugins/ folder to disable all plugins at once. Then rename it back and reactivate plugins one by one to find the culprit.

I wrote a complete walkthrough with every method I use: How to Fix the White Screen of Death.

2. Error Establishing a Database Connection

This error means WordPress cannot connect to your MySQL database. Without that connection, your site cannot load any content — no pages, no posts, nothing. You will see a plain white page with the text "Error establishing a database connection."

The most common cause is incorrect database credentials in your wp-config.php file. This often happens after a host migration, a password change, or when your hosting provider moves your database to a different server. Less commonly, your database could be corrupted or your database server could be down.

Quick fix: Open wp-config.php and verify that DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST are all correct. You can find the correct values in your hosting control panel. If the credentials are correct, try repairing the database by adding define('WP_ALLOW_REPAIR', true); to wp-config.php and visiting yourdomain.com/wp-admin/maint/repair.php.

Full step-by-step instructions: How to Fix "Error Establishing a Database Connection".

3. 500 Internal Server Error

The 500 Internal Server Error is a catch-all HTTP error that means something went wrong on the server, but the server cannot tell you exactly what. In WordPress, this is usually caused by a corrupted .htaccess file, a PHP memory limit, or a plugin or theme conflict.

What makes this error tricky is that the server log is the only place with useful details. Your browser just shows "500 Internal Server Error" or "There has been a critical error on this website."

Quick fix: Connect via FTP and rename your .htaccess file to .htaccess_backup. Then go to Settings → Permalinks in your WordPress dashboard and click "Save Changes" — this regenerates a fresh .htaccess file. If that does not work, try increasing the PHP memory limit or disabling plugins via FTP.

Detailed walkthrough: How to Fix the 500 Internal Server Error.

4. WordPress Memory Exhausted Error

This error displays the message: Fatal error: Allowed memory size of 67108864 bytes exhausted (the number varies). It means a PHP script tried to use more memory than your server allows. This commonly happens when you activate a resource-heavy plugin, upload a large image, or run an import.

WordPress sets a default memory limit of 40MB for regular tasks and 256MB for admin tasks. Most shared hosting plans set PHP memory to 64MB or 128MB, which can be too low for complex sites.

Quick fix: Add this line to your wp-config.php file, just above the line that says "That's all, stop editing!":

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

Complete guide with multiple methods: How to Fix WordPress Memory Exhausted Error.

5. Too Many Redirects Error

When your browser shows "ERR_TOO_MANY_REDIRECTS" or "This page isn't working — redirected you too many times," it means your site is stuck in a redirect loop. Page A redirects to page B, which redirects back to page A, and so on forever.

The most common causes are misconfigured WordPress URL settings (the WordPress Address and Site Address do not match), an SSL/HTTPS conflict, a faulty .htaccess rule, or a Cloudflare SSL mode mismatch.

Quick fix: Clear your browser cookies for your domain first. If that does not help, check your WordPress URL settings in the database using phpMyAdmin. Look in the wp_options table for siteurl and home — they should match and both use the same protocol (http or https).

Full troubleshooting guide: How to Fix Too Many Redirects Error.

6. Connection Timed Out Error

A "connection timed out" error means your server took too long to respond. The browser waited (usually 30 seconds) and gave up. This is different from a 500 error — the server is not crashing, it is just too slow or overloaded to respond.

Common causes include insufficient PHP memory, server overload from traffic spikes, heavy plugins running long database queries, or a shared hosting plan with limited resources.

Quick fix: Deactivate all plugins via FTP and reactivate them one by one. Increase the PHP memory limit. If the issue persists, check with your host — your site may have outgrown shared hosting. Consider upgrading to a managed WordPress host with better resources.

7. 403 Forbidden Error

A 403 Forbidden error means the server understands your request but refuses to let you access the resource. In WordPress, this usually comes from incorrect file permissions, a misconfigured .htaccess file, or a security plugin that is blocking your IP address.

WordPress requires specific file permissions to function: directories should be set to 755 and files to 644. The wp-config.php file should be 600 or 640 for extra security.

Quick fix: Connect via FTP and check that your file permissions are correct. Rename .htaccess to see if a bad rewrite rule is the cause. If you use a security plugin, check its logs to see if your IP was accidentally blocked. You can also temporarily deactivate the security plugin by renaming its folder via FTP.

8. 404 Not Found Error

A 404 error means the page was not found. In WordPress, this most commonly happens when your permalink structure is broken. You might see 404 errors on all pages except the homepage after a migration or a plugin update.

Quick fix: Go to Settings → Permalinks in your WordPress dashboard and click "Save Changes" without changing anything. This regenerates your rewrite rules. If that does not work, check your .htaccess file — it should contain the default WordPress rewrite rules. If the file is empty or missing, WordPress cannot route requests to the correct pages.

9. Syntax Error

A syntax error looks like: Parse error: syntax error, unexpected '}' in /home/user/public_html/wp-content/themes/mytheme/functions.php on line 23. This happens when you (or a plugin) add incorrectly formatted PHP code. Missing semicolons, unclosed brackets, and typos in function names are the usual culprits.

The error message tells you the exact file and line number, which makes this one of the easier errors to fix.

Quick fix: Connect via FTP, open the file mentioned in the error, and go to the line number shown. Fix the syntax issue (missing semicolon, extra bracket, etc.). If you are not comfortable editing PHP, restore the file from a backup. If the error is in a plugin file, rename the plugin folder to deactivate it.

10. Mixed Content Error

After switching your site from HTTP to HTTPS, you might see a "Not Secure" warning in the browser even though you have an SSL certificate. This happens when your page loads over HTTPS but some resources (images, scripts, stylesheets) still load over HTTP. Browsers call this "mixed content."

Quick fix: Update your WordPress Address and Site Address in Settings → General to use https://. Then use a plugin like Better Search Replace to find all instances of http://yourdomain.com in your database and replace them with https://yourdomain.com. Check your theme files for any hardcoded HTTP URLs. If you use a CDN like Cloudflare, make sure it is set to "Full (Strict)" SSL mode.

11. Stuck in Maintenance Mode

When WordPress runs an update, it creates a temporary .maintenance file in your site root. This file displays the "Briefly unavailable for scheduled maintenance" message. If an update fails or gets interrupted, this file stays in place and your site remains stuck in maintenance mode.

Quick fix: Connect to your site via FTP and look for a file called .maintenance in the root directory (same level as wp-config.php). Delete it. Your site will immediately come back online. Then re-run whatever update was interrupted — go to Dashboard → Updates and try again.

General Troubleshooting Checklist

No matter which error you are facing, these steps will help you narrow down the cause:

  1. Enable WP_DEBUG — Add define('WP_DEBUG', true); and define('WP_DEBUG_LOG', true); to wp-config.php. Check /wp-content/debug.log for specific error messages.
  2. Deactivate all plugins — Rename the /wp-content/plugins/ folder via FTP. If the error disappears, reactivate plugins one by one to find the culprit.
  3. Switch to a default theme — Rename your theme folder so WordPress falls back to Twenty Twenty-Four (or whatever default theme is installed).
  4. Check your .htaccess file — Rename it and let WordPress regenerate it by saving your permalink settings.
  5. Increase PHP memory — Add define('WP_MEMORY_LIMIT', '256M'); to wp-config.php.
  6. Check server error logs — Your hosting control panel (cPanel, Plesk, etc.) should have an "Error Log" section with detailed information.
  7. Restore from backup — If nothing works and you have a recent backup, restore it. This is why I always recommend having a solid WordPress backup strategy.

Prevention Is Better Than Cure

Most WordPress errors are preventable. Here is what I do on every site I manage:

  • Keep everything updated — WordPress core, themes, and plugins. Outdated software is the #1 cause of errors and security issues.
  • Use quality plugins — Stick with well-maintained plugins from reputable developers. Check the best WordPress plugins for my recommendations.
  • Set up automatic backups — Use a backup plugin or choose a host that includes daily backups. My backup guide walks you through the setup.
  • Use a staging environment — Test plugin updates and theme changes on a staging site before pushing to production. Most managed hosts include one-click staging.
  • Monitor your site — Use a free uptime monitoring tool so you know immediately if your site goes down.

WordPress errors are a fact of life, but they do not have to ruin your day. Bookmark this page, and the next time something breaks, you will have a fix ready in minutes.

M

Written by Marvin

Our team tests and reviews WordPress products to help beginners make confident choices.

Learn more about our team →

You might also like

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.