WordPress errors fall into a handful of predictable categories: HTTP status codes, server timeouts, PHP and database failures, browser-level issues, and editor glitches. Knowing which category an error belongs to cuts diagnosis time from hours to minutes.

WordPress powers roughly 43% of the web, which means its failure modes are well-documented and well-understood. Whatever error message you’re looking at right now, someone has already mapped the cause and confirmed the fix. This guide collects 73 of those errors in one place, organized by type so you can find what you need without scrolling through an alphabetical wall of text.

Each entry includes a severity rating, estimated fix time, and the skill level the repair typically requires. Use the category sections below to jump to the type of error you’re dealing with. If you already know the error name, the A-Z index at the bottom links directly to each entry. Every card links to a full step-by-step fix guide. For plain-language definitions of what these errors actually mean, our WordPress glossary covers that side.

How to Read the Badges

Every error card in this guide carries three badges: Severity, Fix Time, and Skill Level. Here’s what each one means in practice.

BadgeValueWhat it means
SeverityCriticalSite is down or completely broken for visitors. Fix immediately.
SeverityMajorA significant feature or workflow is broken, but the site is partially up. Fix within hours.
SeverityMinorSomething is wrong but the site functions. Schedule a fix when convenient.
Fix TimeUnder 5 minSingle setting change or file deletion. No technical preparation needed.
Fix Time5-15 minA few diagnostic steps and one config change. Most common repair window.
Fix Time15-60 minRequires investigation: log review, plugin/theme isolation, or server config edits.
Fix Time1+ hourComplex root cause, possible data recovery, or requires host escalation.
Skill LevelBeginnerSolvable entirely inside the WordPress dashboard or with basic SFTP access.
Skill LevelIntermediateRequires editing wp-config.php, .htaccess, or using phpMyAdmin/WP-CLI.
Skill LevelAdvancedRequires server-level access, PHP version management, or database repair operations.

Categories

1. 400-Series HTTP Errors

400-series errors are client-side HTTP responses: the request reached the server, but the server rejected it for a specific, identifiable reason. The status code itself tells you what that reason is. A 404 means the resource doesn’t exist at that URL. A 403 means the server actively refused the request. A 401 means the request lacked valid credentials. Understanding the distinction helps you skip the wrong troubleshooting steps entirely.

The most common cause of 400-series errors in WordPress is a configuration mismatch: file permissions set too restrictively, a security plugin with an overly aggressive ruleset, or WordPress URL settings that don’t match the actual domain. Fixing the underlying config resolves the error without touching any theme or plugin code.

400 Bad Request

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

The server can’t understand the request, usually caused by malformed cookies or oversized request headers. Clearing browser cookies and cache resolves this in most cases; if the error persists, check for corrupted WordPress cookies or oversized HTTP header values from plugins.

Read the full fix guide for 400 Bad Request →

401 Unauthorized

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

Authentication is required but either missing or rejected. This appears most often with password-protected directories or WP REST API authentication. Verify the credentials being passed and check whether a security plugin or .htaccess rule is blocking the auth handshake.

Read the full fix guide for 401 Unauthorized →

403 Forbidden

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

The server understood the request but refuses to fulfill it. File permissions and security plugin blocks are the two most common causes. Start by checking the permissions on wp-content and its subdirectories, then temporarily disable your security plugin to isolate the block.

Read the full fix guide for 403 Forbidden →

404 Not Found

Severity: Minor · Fix time: Under 5 min · Skill level: Beginner

The requested page can’t be found. In WordPress, this is almost always a permalink structure problem rather than a missing file. Go to Settings → Permalinks and click Save Changes without changing anything; this regenerates the .htaccess rewrite rules and resolves the majority of WordPress 404s.

Read the full fix guide for 404 Not Found →

405 Method Not Allowed

Severity: Major · Fix time: 15-60 min · Skill level: Intermediate

The HTTP method (POST, PUT, or DELETE) used in the request is blocked at the server level. This appears most often with WAF rules or REST API misconfiguration. Check your web application firewall settings and verify the REST API endpoint is accepting the correct HTTP methods for the action being attempted.

Read the full fix guide for 405 Method Not Allowed →

413 Request Entity Too Large

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

The upload or request body exceeds the server’s configured maximum size. This limit lives in php.ini (post_max_size) or, on Nginx servers, in the client_max_body_size directive. Increasing these limits resolves the error; the full fix guide walks through each server type.

Read the full fix guide for 413 Request Entity Too Large →

429 Too Many Requests

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

Rate limiting has kicked in, usually from login brute-force protection or a CDN/WAF throttle. If this is appearing for your own admin access, whitelist your IP in your security plugin or CDN dashboard. If it’s affecting legitimate visitors, review and adjust your rate limit thresholds.

Read the full fix guide for 429 Too Many Requests →

2. 500-Series HTTP Errors

500-series errors mean the server received the request but something broke on its end before it could send a valid response. Unlike 400-series errors, these have nothing to do with what the visitor requested and everything to do with your server configuration, PHP environment, or WordPress installation itself.

The diagnostic approach for all 500-series errors follows a similar path: check the PHP error log first, then isolate by disabling plugins, then review .htaccess and server configuration. A 500 points to application-level failures; a 502 or 504 points upstream toward PHP-FPM or proxy configuration.

500 Internal Server Error

Severity: Critical · Fix time: 15-60 min · Skill level: Intermediate

A catch-all server-side failure with no specific cause reported to the browser. In WordPress, this is almost always a plugin or theme PHP fatal error, or a corrupted .htaccess file. Enable WP_DEBUG, check the PHP error log, and rename .htaccess to start the isolation process.

Read the full fix guide for 500 Internal Server Error →

501 Not Implemented

Severity: Major · Fix time: 15-60 min · Skill level: Advanced

The server doesn’t support the HTTP request method being used. This is rare in standard WordPress operation and usually points to a server configuration issue or a proxy in front of the origin not passing certain request methods. Contact your host to verify the server supports the method your application requires.

Read the full fix guide for 501 Not Implemented →

502 Bad Gateway

Severity: Critical · Fix time: 15-60 min · Skill level: Intermediate

An upstream server (typically PHP-FPM or a backend Nginx process) returned an invalid response to the gateway. The fix usually involves restarting PHP-FPM, increasing PHP timeouts, or resolving a resource exhaustion issue. On most managed hosting, a PHP-FPM restart through the control panel resolves it.

Read the full fix guide for 502 Bad Gateway →

503 Service Unavailable

Severity: Critical · Fix time: 5-15 min · Skill level: Beginner

The server is temporarily unable to handle the request due to overload, maintenance mode, or a resource limit being hit. Check whether WordPress left a .maintenance file in the root directory after a failed update. If the server is genuinely overloaded, the fix is at the hosting level rather than in WordPress itself.

Read the full fix guide for 503 Service Unavailable →

504 Gateway Timeout

Severity: Critical · Fix time: 15-60 min · Skill level: Intermediate

The upstream server didn’t respond within the gateway’s timeout window. This typically means a PHP script or database query is running too long. Common causes include large WooCommerce imports, unoptimized database queries, or an overloaded server during traffic spikes. Increasing max_execution_time and optimizing the offending query resolves most cases.

Read the full fix guide for 504 Gateway Timeout →

3. Cloudflare and Proxy Errors

Cloudflare error codes in the 5xx range originate between Cloudflare’s network and your origin server, not between your visitor and Cloudflare. That distinction matters for diagnosis: if Cloudflare can reach your server and your server responds normally, these errors don’t appear. They surface when the origin is unreachable, takes too long to respond, or sends back a malformed response.

The first diagnostic step for any Cloudflare error is to temporarily pause Cloudflare in the dashboard and access your site directly. If the error disappears, the issue is in the Cloudflare-to-origin connection. If it persists, the problem is on your origin server.

Cloudflare 520 (Web Server Returned Unknown Error)

Severity: Critical · Fix time: 15-60 min · Skill level: Advanced

The origin server crashed or closed the connection without sending a valid HTTP response. Check your origin server’s error logs and PHP process status. Runaway PHP processes or an out-of-memory condition on the origin are the most common triggers for this error in WordPress environments.

Read the full fix guide for Cloudflare 520 →

Cloudflare 521 (Web Server Is Down)

Severity: Critical · Fix time: 5-15 min · Skill level: Intermediate

Cloudflare can’t reach your origin server at all. The most common cause is a firewall rule on the origin that blocks Cloudflare’s IP ranges. Whitelist Cloudflare’s published IP ranges in your server’s firewall, or contact your host if the origin web service has stopped entirely.

Read the full fix guide for Cloudflare 521 →

Cloudflare 522 (Connection Timed Out)

Severity: Critical · Fix time: 15-60 min · Skill level: Intermediate

The origin server connected but didn’t respond quickly enough. An overloaded server or a firewall dropping packets mid-connection is the usual culprit. Review your server’s resource usage (CPU, memory, PHP worker count) and check whether any firewall rules are interfering with established connections from Cloudflare’s IP ranges.

Read the full fix guide for Cloudflare 522 →

Cloudflare 524 (A Timeout Occurred)

Severity: Critical · Fix time: 15-60 min · Skill level: Intermediate

The origin connected and started processing the request but didn’t return a complete HTTP response within Cloudflare’s 100-second limit. This almost always points to a long-running PHP process: a large WooCommerce export, a bulk operation, or a slow database query. Optimize the operation or move it to a background process to stay under the limit.

Read the full fix guide for Cloudflare 524 →

4. Server, Timeout, and Connection Errors

This category covers errors that prevent the browser from establishing or maintaining a connection to your site. Some originate in DNS configuration. Others come from SSL/TLS certificate problems, redirect loops in WordPress configuration, or a server that’s simply not responding. What they share is that the visitor often sees only a browser-level error message, not a WordPress error page, because WordPress never got a chance to respond.

DNS and SSL errors are often confused with hosting outages, but they frequently have mundane causes: a recently migrated domain, a misconfigured WP_SITEURL setting, or an expired certificate. The browser’s error text almost always tells you which layer to look at first.

Connection Timed Out

Severity: Major · Fix time: 15-60 min · Skill level: Intermediate

The server took too long to respond and the browser gave up waiting. Overloaded shared hosting and runaway PHP processes are the two most common causes. Check your server resource usage, deactivate resource-heavy plugins, and consider whether a memory or execution time limit is causing PHP to stall mid-response.

Read the full fix guide for Connection Timed Out →

ERR_CONNECTION_REFUSED

Severity: Critical · Fix time: 5-15 min · Skill level: Intermediate

The browser couldn’t establish any connection to the server. This typically means the web server process itself isn’t running, the port is closed, or DNS is pointing to the wrong IP. Verify the server is up with your host, confirm DNS resolution is correct, and check whether a firewall is blocking port 80 or 443.

Read the full fix guide for ERR_CONNECTION_REFUSED →

ERR_TOO_MANY_REDIRECTS / Redirect Loop

Severity: Critical · Fix time: 5-15 min · Skill level: Intermediate

The browser stopped after too many redirect hops. In WordPress, this almost always traces to a mismatch between WP_HOME and WP_SITEURL in wp-config.php, or to an SSL configuration that creates a loop between HTTP and HTTPS. Clear browser cookies, then verify both URL constants match your actual domain and protocol.

Read the full fix guide for ERR_TOO_MANY_REDIRECTS →

Redirect Loop in WordPress (HTTP/HTTPS)

Severity: Critical · Fix time: 5-15 min · Skill level: Intermediate

A misconfigured force-HTTPS rule in .htaccess or wp-config.php creates an infinite redirect loop. This often appears after enabling SSL for the first time or after a migration. Review your .htaccess redirect rules and check whether both WP_HOME and WP_SITEURL include the https:// prefix consistently.

Read the full fix guide for WordPress Redirect Loop →

Secure Connection Failed / SSL Handshake Failed

Severity: Critical · Fix time: 15-60 min · Skill level: Advanced

The browser can’t complete a TLS handshake with the server. Causes include an expired certificate, a certificate name that doesn’t match the domain, or a TLS version mismatch between the browser and the server. Start by checking your certificate’s expiration date and verifying it’s issued for the correct domain name.

Read the full fix guide for SSL Handshake Failed →

This Site Can’t Provide a Secure Connection

Severity: Critical · Fix time: 15-60 min · Skill level: Advanced

The browser is blocking the site due to an SSL/TLS configuration problem. This is typically caused by a certificate mismatch, an expired certificate, or an insecure cipher configuration on the server. The fix requires access to your SSL certificate settings through your host’s control panel or cPanel.

Read the full fix guide for This Site Can’t Provide a Secure Connection →

ERR_SSL_PROTOCOL_ERROR

Severity: Critical · Fix time: 15-60 min · Skill level: Advanced

The browser couldn’t negotiate a TLS protocol version with the server. This often means the server is running an outdated TLS version that modern browsers reject, or the certificate is invalid. Check your server’s TLS configuration and ensure TLS 1.2 or 1.3 is enabled and older versions are disabled.

Read the full fix guide for ERR_SSL_PROTOCOL_ERROR →

ERR_NAME_NOT_RESOLVED

Severity: Critical · Fix time: 5-15 min · Skill level: Beginner

The browser couldn’t look up the domain name in DNS. This appears most often after a domain registration or a DNS provider change where propagation hasn’t completed. Wait up to 48 hours for full DNS propagation, or verify the nameserver settings with your domain registrar if the domain was recently migrated.

Read the full fix guide for ERR_NAME_NOT_RESOLVED →

DNS_PROBE_FINISHED_NXDOMAIN

Severity: Critical · Fix time: 5-15 min · Skill level: Beginner

The domain name didn’t resolve because DNS returned a non-existent domain (NXDOMAIN) response. This is essentially the same root cause as ERR_NAME_NOT_RESOLVED but reported differently by Chrome. Check that your domain’s A record or CNAME points to the correct server IP, and confirm the domain hasn’t expired.

Read the full fix guide for DNS_PROBE_FINISHED_NXDOMAIN →

Mixed Content / Not Secure Warning

Severity: Major · Fix time: 15-60 min · Skill level: Intermediate

HTTPS pages are loading HTTP assets (images, scripts, or stylesheets), which breaks the browser’s padlock indicator and can block resources in strict security modes. The fix is a database search-replace to update all HTTP URLs to HTTPS. Tools like WP-CLI’s search-replace command or the Better Search Replace plugin handle this reliably.

Read the full fix guide for Mixed Content Warning →

5. Database Errors

Database errors are among the most alarming WordPress errors because they typically take the entire site offline rather than just one feature. The good news is that most database errors are configuration problems rather than actual data corruption: wrong credentials, a database server that’s briefly down, or a table prefix mismatch after a migration.

Actual data corruption does happen, usually after a failed migration or interrupted update. Recovery is almost always a backup restore rather than manual repair, which is why a recent, verified backup is essential before touching any WordPress database.

Error establishing a database connection

Severity: Critical · Fix time: 15-60 min · Skill level: Intermediate

WordPress can’t reach the database server. The first check is always the credentials in wp-config.php: DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST. If those are correct, the database server itself may be down or the MySQL service may need to be restarted through your host’s control panel.

Read the full fix guide for Error Establishing a Database Connection →

Table ‘wp_xxx’ Doesn’t Exist

Severity: Critical · Fix time: 15-60 min · Skill level: Advanced

A core WordPress database table is missing from the database. This almost always happens after a botched migration where the table prefix in wp-config.php doesn’t match the actual prefix in the database, or after an import that only partially completed. Restore from a clean backup; manual table recreation is error-prone and rarely worth attempting.

Read the full fix guide for Table Doesn’t Exist →

Specified Key Was Too Long Database Error

Severity: Major · Fix time: 15-60 min · Skill level: Advanced

A database error during WordPress installation or upgrades on servers running older MySQL. WordPress requires utf8mb4 encoding for full emoji support, but older MySQL versions can’t create the necessary index length. Upgrading MySQL to 5.7.7 or later, or switching to utf8mb4_unicode_ci collation, resolves it.

Read the full fix guide for Specified Key Was Too Long →

6. PHP Errors

PHP errors cover a broad range from fatal crashes that blank out the entire site to non-fatal deprecation warnings that only appear in debug logs. The severity varies enormously, but the diagnostic process is consistent: enable WP_DEBUG and WP_DEBUG_LOG in wp-config.php, then read the log to find the exact file, line number, and error type. That file and line number is almost always the place to fix.

Memory and execution time errors are the most common PHP issues on shared hosting. PHP syntax errors are the most common developer-triggered issues. Both diagnose quickly once you know where to look. The entries below cover the full spectrum, from beginner-level memory bumps to advanced extension-level failures.

Parse / Syntax Error

Severity: Critical · Fix time: 5-15 min · Skill level: Intermediate

A PHP file contains invalid syntax that prevents the PHP engine from executing it. This is almost always caused by a recent manual code edit: a missing semicolon, an unmatched bracket, or a pasted snippet with formatting issues. Access the file via SFTP, revert the recent change, and the error resolves immediately.

Read the full fix guide for Parse / Syntax Error →

Syntax Error On Line X

Severity: Critical · Fix time: Under 5 min · Skill level: Intermediate

A specific PHP syntax error that reports the exact file and line number in the error message. This is the most actionable PHP error you can receive: open the file in a syntax-aware editor, go to the reported line, and look for a missing or misplaced character. SFTP access is required if the error prevents dashboard access.

Read the full fix guide for Syntax Error On Line X →

Memory exhausted (Allowed memory size)

Severity: Major · Fix time: 5-15 min · Skill level: Beginner

WordPress hit the PHP memory limit and couldn’t complete the operation. The immediate fix is to increase WP_MEMORY_LIMIT in wp-config.php (256M is a reasonable value for most sites). If the memory usage seems excessive, profile which plugin or theme is consuming the most memory and address the root cause.

Read the full fix guide for Memory Exhausted Error →

Fatal Error: Allowed Memory Size Exhausted

Severity: Critical · Fix time: 5-15 min · Skill level: Beginner

A variant of the memory exhausted error that includes the specific script and byte count in the message, making it easier to pinpoint the offending code. The fix path is the same as memory-exhausted-error above: increase WP_MEMORY_LIMIT and then investigate why that script is consuming so much memory.

Read the full fix guide for Fatal Error: Allowed Memory Size Exhausted →

Maximum execution time exceeded

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

A PHP script ran past the max_execution_time limit, typically 30 seconds on most hosts. Large imports, bulk operations, or heavy plugin processes are common triggers. Increasing max_execution_time in php.ini or via a wp-config.php constant handles the symptom; the real fix is identifying and optimizing the long-running operation.

Read the full fix guide for Maximum Execution Time Exceeded →

Deprecated Function Warnings

Severity: Minor · Fix time: 5-15 min · Skill level: Intermediate

WordPress is logging warnings about function calls that still work but are scheduled for removal in a future version. These are non-fatal but represent technical debt in a plugin or theme. The warning message names the function and its replacement; if the affected code is in a plugin, check for an update or file a bug with the plugin author.

Read the full fix guide for Deprecated Function Warnings →

Your PHP Installation Appears to Be Missing the MySQL Extension

Severity: Critical · Fix time: 15-60 min · Skill level: Advanced

The PHP MySQL or MySQLi extension isn’t installed or enabled on the server. WordPress can’t connect to the database without it. In most control panels (cPanel, Plesk), you can switch to a PHP version that includes the extension. If you manage your own server, install the php-mysql or php-mysqlnd package and restart PHP.

Read the full fix guide for Missing MySQL Extension →

Missing a Temporary Folder

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

PHP can’t locate the system temporary directory, which WordPress uses for uploads, update staging, and other file operations. Define WP_TEMP_DIR as a constant in wp-config.php pointing to a writable directory. This is a common issue on hardened server configurations that restrict default temp paths.

Read the full fix guide for Missing Temporary Folder →

Cannot Modify Header Information (pluggable.php)

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

Whitespace or a BOM character before the opening <?php tag in a theme’s functions.php or another PHP file is causing WordPress to output content before HTTP headers are sent. The error message references pluggable.php but the actual problem is in the file that introduced the whitespace. Open functions.php in a text editor, find and remove any whitespace before the opening PHP tag, and save.

Read the full fix guide for Cannot Modify Header Information →

Imagick Not Available / GD Library Missing

Severity: Major · Fix time: 15-60 min · Skill level: Advanced

Image processing is failing because neither the Imagick PHP extension nor the GD library is installed or enabled. WordPress needs at least one of these for image resizing, thumbnails, and the media editor. Most shared hosting control panels allow you to enable PHP extensions without server access; if not, contact your host to enable php-imagick or php-gd.

Read the full fix guide for Imagick Not Available →

7. Media and Upload Errors

Media and upload errors cluster around a small set of root causes: PHP memory limits that can’t handle large image files, directory permission settings that block WordPress from writing to wp-content/uploads, and server-side limits on upload size. Understanding which of these three buckets your error falls into gets you to the fix faster than working through each error individually.

The wp-content/uploads directory needs to be writable by the web server user (typically 755 for directories). PHP needs enough memory to process the image (256M or more for large photos). And the upload_max_filesize and post_max_size settings need to exceed the file you’re uploading. Most upload errors trace to one of these three settings.

HTTP Error When Uploading Images

Severity: Major · Fix time: 5-15 min · Skill level: Beginner

The Media Library upload fails with a generic “HTTP error” message that doesn’t specify the cause. This vague error usually points to either a PHP memory limit that can’t handle the image, or a missing image processing library (GD or Imagick). Increase WP_MEMORY_LIMIT first; if that doesn’t resolve it, check whether an image library is installed on the server.

Read the full fix guide for HTTP Error When Uploading Images →

HTTP Error on Image Resize

Severity: Minor · Fix time: 5-15 min · Skill level: Intermediate

Large images fail specifically during the automatic resizing step that WordPress performs after upload. This is a memory limit problem: resizing a large image temporarily requires significantly more memory than the file size suggests. Increase WP_MEMORY_LIMIT to 256M or higher; if Imagick is installed, switching to GD via a code snippet can also resolve certain resize failures.

Read the full fix guide for HTTP Error on Image Resize →

Image Upload Failed / Corrupt File

Severity: Major · Fix time: 5-15 min · Skill level: Beginner

Uploads fail or image previews appear broken after upload. File size limits, permission issues on the uploads directory, and a missing GD or Imagick library are the three most common causes. Check the uploads folder permissions first (should be 755), then verify file size limits align with what you’re trying to upload.

Read the full fix guide for Image Upload Failed →

Upload Exceeds Maximum File Size

Severity: Minor · Fix time: Under 5 min · Skill level: Beginner

WordPress’s configured upload limit is lower than the file you’re trying to upload. The limit is controlled by two PHP settings: upload_max_filesize and post_max_size. Both need to be increased (post_max_size should be larger than upload_max_filesize). These can be set in php.ini, .htaccess, or through your host’s control panel.

Read the full fix guide for Upload Exceeds Maximum File Size →

Severity: Minor · Fix time: Under 5 min · Skill level: Beginner

This message appears when a file upload or form submission exceeds the server’s post_max_size limit. Despite the confusing wording, it’s a server-side file size limit error, not an expired link. Increase post_max_size and upload_max_filesize in php.ini or via your host’s PHP settings panel.

Read the full fix guide for The Link You Followed Has Expired →

Image Rotation Incorrect

Severity: Minor · Fix time: Under 5 min · Skill level: Beginner

Uploaded images appear rotated sideways because the server isn’t reading the EXIF orientation metadata from the file. WordPress should handle EXIF rotation automatically, but some server configurations don’t support it. An EXIF-aware rotation plugin resolves this without server-level changes.

Read the full fix guide for Image Rotation Incorrect →

Unable to Create Directory wp-content/uploads

Severity: Major · Fix time: Under 5 min · Skill level: Beginner

WordPress can’t create the year/month subdirectory in wp-content/uploads when you try to upload a file. The wp-content/uploads directory needs to be set to 755 permissions and owned by the web server user. Connect via SFTP, check the permissions on the uploads folder, and correct them with your FTP client’s permission tool or chmod command.

Read the full fix guide for Unable to Create Directory →

File Permissions Error

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

Wrong chmod settings on files or folders are blocking reads or writes. The correct permissions for a WordPress installation are 644 for files and 755 for directories. Permissions that are too restrictive block uploads and updates; permissions that are too open (like 777) create a security risk. The full fix guide covers setting correct permissions recursively via SFTP or WP-CLI.

Read the full fix guide for File Permissions Error →

8. Editor and Admin Errors

Editor and admin errors are a category that’s grown significantly since the Gutenberg block editor became the WordPress default in version 5.0. Many of these errors trace back to the same underlying issue: a security plugin, WAF rule, or server configuration that blocks the WordPress REST API, which the block editor relies on heavily for autosave, publishing, and block rendering.

If you’re seeing multiple editor errors at once, check the REST API health first: Tools → Site Health in the dashboard. A failed check will point you toward the specific configuration blocking it. Plugin conflicts and role/capability corruption are the other major causes in this category.

Updating Failed / Publishing Failed (Gutenberg)

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

The block editor can’t save or publish a post. This is almost always caused by a blocked REST API or a permalink structure that needs to be refreshed. Go to Settings → Permalinks, click Save Changes, and retry. If that doesn’t work, check Tools → Site Health for REST API failures and review any recently installed security plugins.

Read the full fix guide for Updating Failed in Gutenberg →

Block Contains Unexpected or Invalid Content

Severity: Minor · Fix time: Under 5 min · Skill level: Beginner

Gutenberg flagged a block as out of sync with its expected structure, usually after someone edited the block’s HTML directly in the code editor. The block editor presents options to resolve or convert the block. Choosing “Resolve” attempts to reconcile the changes; choosing “Convert to Classic Block” preserves the content as-is. Neither option deletes content.

Read the full fix guide for Block Contains Unexpected Content →

API Fetch Failed (Block Editor)

Severity: Major · Fix time: 15-60 min · Skill level: Advanced

The Gutenberg editor can’t reach the WordPress REST API. A security plugin or server-level hotlink protection rule blocking API requests is the typical cause. Temporarily deactivate security plugins to confirm, then review the specific rule that’s blocking the /wp-json/ endpoint and whitelist the REST API in your security plugin’s settings.

Read the full fix guide for API Fetch Failed →

Elementor Editor Not Loading

Severity: Major · Fix time: 15-60 min · Skill level: Intermediate

The Elementor page builder preview panel fails to render or loads indefinitely. A PHP memory limit below Elementor’s minimum requirement (256M recommended) and JavaScript conflicts with other plugins are the two most common triggers. Increase PHP memory, disable other plugins temporarily to isolate any JS conflict, and check the browser console for specific JavaScript errors.

Read the full fix guide for Elementor Not Loading →

White Admin Page (Dashboard Blank)

Severity: Critical · Fix time: 15-60 min · Skill level: Intermediate

The wp-admin dashboard loads as a blank white page while the front end of the site works normally. This variant of the White Screen of Death is almost always caused by a plugin conflict that only manifests in the admin context. Rename the plugins directory via SFTP to disable all plugins, reload the dashboard, then re-enable plugins one by one to find the conflict.

Read the full fix guide for White Admin Page →

Severity: Minor · Fix time: 5-15 min · Skill level: Intermediate

The page layout breaks and the sidebar renders below the content area instead of beside it. Unbalanced HTML div tags in a template file are almost always the cause, usually introduced by a recent template edit. Inspect the page source, find the unclosed or incorrectly closed div, and correct it in the theme template file.

Read the full fix guide for Sidebar Below Content →

Sorry You Are Not Allowed to Access This Page

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

A logged-in WordPress user is seeing a permissions error when accessing an admin page they should be able to reach. This is typically caused by a corrupted user_meta capabilities row in the database, or a role management plugin that has modified the user’s capability set unexpectedly. Check the user’s role assignment in phpMyAdmin and reset capabilities via WP-CLI if needed.

Read the full fix guide for Sorry You Are Not Allowed to Access This Page →

Severity: Major · Fix time: 15-60 min · Skill level: Advanced

REST API authentication is failing after login, typically because nonce verification is failing or CORS headers are misconfigured between the editor and the REST API endpoint. A caching plugin serving stale nonces, or a reverse proxy stripping authentication headers, is often the root cause. The full fix guide walks through nonce caching and CORS configuration steps.

Read the full fix guide for REST API Cookie Check Failed →

Cookies Are Blocked or Not Supported

Severity: Minor · Fix time: Under 5 min · Skill level: Beginner

The wp-admin login fails because the browser isn’t accepting the WordPress session cookie. Browser privacy settings set to block all cookies, or a browser extension blocking third-party cookies, is usually the cause. Clear cookies and site data for the domain, then attempt the login again. If the error persists, try a different browser to rule out extension interference.

Read the full fix guide for Cookies Blocked or Not Supported →

9. Update and Install Errors

Update and install errors in WordPress almost always trace back to one of three causes: file permission problems that prevent WordPress from writing to the filesystem, a leftover file or folder from a previous failed operation, or a database lock record that wasn’t cleaned up. These errors can feel alarming because they block you from keeping the site current, but the fixes are generally straightforward.

Before any major update, verify file permissions on wp-content are correct and confirm you have a recent backup. A failed update that leaves a partial installation is far easier to recover from with a clean snapshot available.

Auto-Update Failure

Severity: Minor · Fix time: 5-15 min · Skill level: Intermediate

Background core updates are failing silently, often with no visible error in the dashboard. File permissions on the WordPress root directory that prevent the web server user from writing files are the most common cause. WP_AUTO_UPDATE_CORE set to false in wp-config.php will also prevent automatic updates. Check both, and review the PHP error log for the specific failure message.

Read the full fix guide for Auto-Update Failure →

Theme Update Failure

Severity: Minor · Fix time: 5-15 min · Skill level: Intermediate

A theme update fails partway through, potentially leaving the theme in a broken state. File permissions on the wp-content/themes directory are usually the cause; the web server user needs write access to update files. If the theme is partially broken after a failed update, deleting the theme folder via SFTP and reinstalling from scratch is more reliable than attempting to repair a partial installation.

Read the full fix guide for Theme Update Failure →

Plugin Install Failure / Could Not Create Directory

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

WordPress can’t write the plugin files to wp-content/plugins/. This is a file permissions problem or, less commonly, a disk space issue on the server. Verify the wp-content/plugins directory is writable, check available disk space through your host’s control panel, and confirm the web server user has ownership of the plugins directory.

Read the full fix guide for Plugin Install Failure →

Destination Folder Already Exists

Severity: Minor · Fix time: Under 5 min · Skill level: Beginner

A previous failed plugin or theme installation left behind a partial folder, which now conflicts with the fresh installation attempt. Connect via SFTP, navigate to wp-content/plugins/ or wp-content/themes/, delete the leftover folder, and retry the installation. This takes under a minute once you have SFTP access.

Read the full fix guide for Destination Folder Already Exists →

Another Update Is Currently in Progress

Severity: Minor · Fix time: Under 5 min · Skill level: Beginner

A stuck lock record in the wp_options table is blocking all WordPress updates. WordPress stores a core_updater.lock option while an update runs; if the update fails without cleanup, this lock persists indefinitely. Delete the core_updater.lock row in wp_options via phpMyAdmin or WP-CLI, and updates will work normally again.

Read the full fix guide for Another Update Is Currently in Progress →

10. Login, Security, and Access Errors

Getting locked out of wp-admin or stuck in a login loop is one of the most stressful WordPress situations, because the natural instinct is to keep trying to log in, which can trigger additional security lockouts. The errors in this category all prevent normal admin access, but each has a distinct cause and a specific recovery path that doesn’t require guessing at your password repeatedly.

For most login and access errors, the fix happens outside the browser: in wp-config.php, phpMyAdmin, WP-CLI, or your host’s control panel. SFTP or database access is the prerequisite for recovering from most of the errors below.

Locked Out of wp-admin

Severity: Critical · Fix time: 15-60 min · Skill level: Intermediate

You’ve lost access to the WordPress admin dashboard entirely. Reset a forgotten password via phpMyAdmin or WP-CLI, clear a security plugin lockout by renaming the plugins folder via SFTP, or repair a corrupted user record through direct database access. The full fix guide covers all three scenarios in sequence.

Read the full fix guide for Locked Out of wp-admin →

wp-admin Login Redirect Loop

Severity: Critical · Fix time: 5-15 min · Skill level: Intermediate

Submitting the login form bounces immediately back to wp-login.php without logging in. The most common causes are a mismatch between WP_HOME/WP_SITEURL and the actual domain, a corrupted .htaccess file, or browser cookie problems. Clear all cookies for the domain first; if the loop persists, verify the URL constants in wp-config.php match exactly.

Read the full fix guide for Login Redirect Loop →

Severity: Major · Fix time: Under 5 min · Skill level: Beginner

Every post, page, or custom post type URL returns a 404 error, even though the content exists in the database. This is almost always a missing or corrupted .htaccess rewrite rule. Go to Settings → Permalinks and click Save Changes without modifying anything; this regenerates the .htaccess rules. If access to the admin is also broken, the fix guide covers resetting .htaccess via SFTP.

Read the full fix guide for Broken Permalinks →

11. Common WordPress Errors (Catch-All)

This category covers the WordPress errors that don’t fit neatly into a protocol, layer, or component. Several of the most widely searched WordPress errors live here: the White Screen of Death, the critical error recovery screen, and maintenance mode getting stuck. These are the errors that tend to panic site owners the most, because they’re often the most visually dramatic and the least descriptive in terms of what actually went wrong.

The WooCommerce checkout error and email delivery failure are grouped here because they’re feature-level failures rather than server or PHP errors, though both can have significant business impact. Each entry links to a full diagnostic guide covering the common causes in order of likelihood.

White Screen of Death (WSOD)

Severity: Critical · Fix time: 15-60 min · Skill level: Intermediate

A completely blank white page with no error message and no WordPress interface. The WSOD is almost always a fatal PHP error WordPress is suppressing from public display. Enable WP_DEBUG and WP_DEBUG_LOG in wp-config.php to surface the hidden error, then follow the diagnostic path for the specific PHP error that appears.

Read the full fix guide for White Screen of Death →

There has been a critical error on this website

Severity: Critical · Fix time: 15-60 min · Skill level: Intermediate

WordPress 5.2+ replaced the blank White Screen of Death with this message, and also sends a recovery mode link to the admin email. Click that link to access a limited admin environment and deactivate the plugin or theme causing the fatal error. If the email didn’t arrive, the fix guide covers accessing recovery mode directly.

Read the full fix guide for Critical Error on This Website →

Briefly Unavailable for Scheduled Maintenance

Severity: Major · Fix time: Under 5 min · Skill level: Beginner

A failed WordPress update left a .maintenance file in the root directory, and now every page displays the maintenance message. The fix takes under a minute: connect via SFTP, navigate to the WordPress root directory, find the .maintenance file, and delete it. The site returns to normal immediately after the file is removed.

Read the full fix guide for WordPress Stuck in Maintenance Mode →

WordPress Not Sending Email

Severity: Major · Fix time: 15-60 min · Skill level: Intermediate

WordPress’s built-in wp_mail() function fails silently on most shared hosts because PHP mail is disabled or immediately rejected by receiving servers. The reliable fix is to route email through a dedicated SMTP service. The WP Mail SMTP plugin connects WordPress to any transactional email provider (SendGrid, Mailgun, Postmark) and resolves delivery failures on virtually every host.

Read the full fix guide for WordPress Not Sending Email →

Missed Schedule on Scheduled Post

Severity: Minor · Fix time: 5-15 min · Skill level: Intermediate

A post scheduled to publish at a specific time didn’t go live. WordPress relies on WP-Cron for scheduled publishing, and WP-Cron only fires when someone visits the site. On low-traffic sites, no visit at the scheduled time means no publish. The permanent fix is to replace WP-Cron with a real server cron job that triggers wp-cron.php on a set interval.

Read the full fix guide for Missed Schedule →

WP-Cron Not Running

Severity: Minor · Fix time: 15-60 min · Skill level: Intermediate

WordPress scheduled tasks (backups, email notifications, scheduled publishing) aren’t firing reliably. WP-Cron’s visitor-triggered model fails on low-traffic sites. The solution is to disable WP-Cron in wp-config.php (set DISABLE_WP_CRON to true) and configure a real server-level cron job to call wp-cron.php on a regular interval, typically every 5 to 15 minutes.

Read the full fix guide for WP-Cron Not Running →

FTP Connection Failed

Severity: Major · Fix time: 5-15 min · Skill level: Intermediate

WordPress prompts for FTP credentials when trying to install plugins or perform updates, or the connection attempt fails entirely. This happens when WordPress can’t write directly to the filesystem and falls back to FTP. Adding FTP credentials as constants in wp-config.php, or fixing the filesystem permissions so direct writes work, resolves the prompt. The fix guide covers both approaches.

Read the full fix guide for FTP Connection Failed →

RSS Feed Error

Severity: Minor · Fix time: 5-15 min · Skill level: Intermediate

The site’s /feed/ URL returns an XML parsing error, which breaks RSS readers and some podcast aggregators. The cause is almost always whitespace or a BOM character before the opening <?php tag in a theme file or plugin, causing output before the XML declaration. Enable WP_DEBUG to find the file responsible, then clean up the whitespace.

Read the full fix guide for RSS Feed Error →

WooCommerce Checkout Errors

Severity: Major · Fix time: 15-60 min · Skill level: Advanced

The WooCommerce checkout page fails to complete the order, throwing an error or simply not processing. Payment gateway configuration errors, AJAX failures caused by a JavaScript conflict, or session/cache issues are the most common causes. The diagnostic path starts with checking the WooCommerce system status report, then testing with all other plugins disabled to isolate conflicts.

Read the full fix guide for WooCommerce Checkout Errors →

Why We Wrote This Guide

We’ve been building websites since 2002, and WordPress errors have been part of the job for as long as WordPress has existed. Across the 700+ WordPress sites we manage today, we see this exact list of errors recur. Not hypothetically: these are the actual failure modes we diagnose in maintenance tickets, during post-migration QA, and after plugin updates that don’t go cleanly.

What we’ve found over that time is that most WordPress errors are not mysterious. They have a defined cause and a defined fix, and the people who find them most stressful are usually those who haven’t encountered them before and don’t know which layer of the stack to look at. This guide exists to close that gap: to give you a reliable starting point for any WordPress error, whether you’re fixing it yourself or deciding whether to hand it off.

If you’re managing your own site, the individual fix guides linked from each card above have the step-by-step detail you need. If you’d rather have a team that’s already seen these errors hundreds of times handle it, our WordPress maintenance service covers errors like these as a standard part of the work. Either way, you’re not working from guesswork.

Frequently Asked Questions

What’s the most common WordPress error?

The 500 Internal Server Error and the White Screen of Death collectively account for the largest share of WordPress support requests, largely because they’re catch-all errors that can have many different root causes. The 404 Not Found error is technically more frequent by volume, but it’s so easy to resolve (re-save Permalinks) that it rarely generates a support ticket. Database connection errors and memory exhaustion errors round out the most common five.

Are WordPress errors usually a hosting problem or a plugin problem?

Both, but in different proportions depending on the error type. PHP errors (memory limits, execution time, syntax errors) are roughly split between hosting configuration and plugin/theme code. Connection errors, timeout errors, and database errors lean more toward hosting. Editor errors and update failures lean more toward plugin conflicts and file permission settings. The badge system in this guide (Skill Level: Beginner vs. Advanced) gives you a rough signal: Advanced errors typically require server or hosting involvement.

Can WordPress errors hurt my SEO?

Yes, meaningfully so. A 500 error or WSOD that persists for hours gives Googlebot a server error response instead of page content. If Googlebot hits enough of those responses, it begins crawling the site less frequently and may eventually deindex affected pages. 404 errors on important pages have the same effect over time. Critical and Major severity errors that affect your front-end URLs should be treated as SEO emergencies, not just UX problems.

How do I find which plugin is causing an error?

The standard method is bisection: rename the plugins folder via SFTP to disable all plugins at once, verify the error disappears, then re-enable them one by one until the error returns. The last plugin you re-enabled is the conflict. WP-CLI’s wp plugin deactivate –all command is faster if you have command-line access.

When should I hire someone instead of fixing it myself?

The Skill Level badge is a reasonable signal. Beginner-level errors are solvable by most site owners with patience and the fix guide open. Intermediate errors require SFTP access and comfort editing config files; if that’s unfamiliar, the time cost of learning often exceeds the cost of a support call. Advanced errors involving server configuration, database repair, or PHP extension management are generally worth delegating. Any Critical-severity error on a revenue-generating site should be treated as a priority regardless of skill level.

A-Z Index

All 73 WordPress errors in this guide, listed alphabetically. Use this as a quick lookup if you know the error name but not the category.

Prefer to Hand This Off?

Most of the errors in this guide have a clear fix, and with SFTP access and a bit of patience, the majority are solvable without outside help. That said, Critical-severity errors on a live site move fast, and the cost of a 2-hour outage often outweighs the cost of a 30-minute support call.

Our team resolves WordPress errors like these for maintenance clients daily, often within 30 minutes of a ticket coming in. If you’d rather hand this off than work through the diagnostic steps yourself, we’re straightforward to reach and we’ll tell you honestly whether the fix is simple or complex. Start with our contact page and describe what you’re seeing.