Free tool
WordPress error decoder
Paste the error your WordPress site is showing and see, in plain English, what it means, what usually causes it, and what is safe to try first. It recognises 39 common WordPress, server and browser errors, and when the message includes a file path it names the plugin or theme involved.
Common WordPress errors, decoded
Every message the decoder knows, grouped by how much it affects your visitors.
Site down or erroring
- Your Site is Experiencing a Technical Issue (email)
Your Site is Experiencing a Technical Issue
WordPress sends this email when a plugin or theme crashes part of your site with a fatal error. It names the plugin or theme it caught, and includes a recovery-mode link that lets you log in even while the site is broken.
WordPress Emailed Me: 'Your Site Is Experiencing a Technical Issue'
- Allowed memory size exhausted
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)
A page needed more memory than the server lets WordPress use, so PHP stopped building it. The page, or the whole site, fails until either the memory use comes down or the limit goes up.
- Parse error: syntax error
Parse error: syntax error, unexpected '}' in /wp-content/themes/your-theme/functions.php on line 42
PHP found code it can't read, usually a missing bracket, quote or semicolon, so it stopped before building the page. The file and line number in the message show exactly where the broken code is.
- Call to undefined function, or class not found
Fatal error: Uncaught Error: Call to undefined function some_function()
Code on the site asked for a function or class that doesn't exist. Usually one plugin depends on something that is missing, switched off, or was removed in a newer version of PHP.
WordPress Says 'There Has Been a Critical Error on This Website'
- There has been a critical error on this website
There has been a critical error on this website.
This is WordPress's message for a fatal PHP error, shown instead of the technical details. Something, usually a plugin or theme, crashed while the page was being built; your content is almost always still there.
WordPress Says 'There Has Been a Critical Error on This Website'
- PHP fatal error
PHP Fatal error: Uncaught TypeError: ...
A fatal error means PHP hit a problem it could not recover from and stopped building the page. Visitors usually see "There has been a critical error" or a blank page.
WordPress Says 'There Has Been a Critical Error on This Website'
- Error establishing a database connection
Error establishing a database connection
WordPress can't reach the database where your pages, posts and settings are stored, so it can't build any page. Your content is usually safe; the connection is what's broken.
- Briefly unavailable for scheduled maintenance
Briefly unavailable for scheduled maintenance. Check back in a minute.
WordPress shows this while it installs updates, and normally clears it on its own. If it stays, an update was interrupted and WordPress never switched maintenance mode back off.
- Cloudflare error 520 to 526
Error 522: Connection timed out
Cloudflare is working, but it can't get a proper answer from the server that hosts your site. The number says roughly why: 521 refused, 522 and 524 too slow, 523 unreachable, 525 and 526 a security certificate problem between Cloudflare and your host.
- 500 Internal Server Error
500 Internal Server Error
The server hit a problem it can't describe, so it sent this general error instead of your page. On WordPress it is usually a plugin, a theme, or a server setting.
- 502 Bad Gateway or 504 Gateway Timeout
502 Bad Gateway
The server in front of your site didn't get a usable answer from the server that runs WordPress. A 502 means the answer was broken; a 504 means it took too long.
- 503 Service Unavailable
503 Service Unavailable
The server is up but can't handle the request right now. On shared hosting it usually means the site hit its resource limits; it can also be a plugin overloading the server.
- Too many redirects
ERR_TOO_MANY_REDIRECTS: This page isn’t working. example.com redirected you too many times.
Two settings are sending visitors back and forth between addresses forever, so the browser gives up. It is a settings conflict, not a hack, and the content behind it is fine.
- This site can't be reached (DNS)
This site can't be reached. example.com’s server IP address could not be found. DNS_PROBE_FINISHED_NXDOMAIN
Browsers can't find where your domain points, so they never reach your server. It is a domain or DNS problem, not WordPress: an expired domain or changed DNS records are the usual causes.
- Connection refused or timed out
ERR_CONNECTION_TIMED_OUT: example.com took too long to respond.
Your domain points somewhere, but the server there isn't answering. The hosting server may be down, overloaded, or blocking your internet address.
- Account suspended by your host
This Account has been suspended. Contact your hosting provider for more information.
Your hosting company has switched the site off. When it follows a malware scan, it is a pause to protect visitors and other customers, not a deletion; it can also be about billing or resource use.
- White screen of death
A completely blank white page, no error message
A blank page with no message means WordPress hit an error serious enough to stop the page, with error display switched off. It is usually a plugin or theme, and the content is almost always safe.
Something is broken
- Maximum execution time exceeded
Fatal error: Maximum execution time of 30 seconds exceeded
A task ran longer than the server allows, so PHP stopped it partway. It usually hits one slow job, like an import, a backup or an update, rather than the whole site.
- 403 Forbidden
403 Forbidden: You don't have permission to access this resource.
The server understood the request but refused to show the page. Something is blocking access, usually a security plugin, a firewall rule, or file permissions.
- 404 Not Found
404 Not Found
The address doesn't match any page on the site. If only one page is missing, it was moved or deleted; if every page except the homepage shows it, the site's link settings broke, often after a move or an update.
- Can't log in: wrong password, locked out or not allowed
Sorry, you are not allowed to access this page.
WordPress or a security plugin is refusing your login, or your account no longer has the rights it had. It can be a forgotten password, a lockout after failed attempts, or a user role that changed.
- The link you followed has expired
The link you followed has expired. Please try again.
WordPress rejected a form or upload because it went over a limit the server sets, most often the maximum upload size. Uploading a theme, plugin or large file is the usual trigger, not an actual expired link.
- HTTP error when uploading
HTTP error.
WordPress's media uploader got an error back from the server and shows this vague message instead of the reason. It is usually the image size, the server's image tools, or a plugin.
How to Fix the 'HTTP Error' When Uploading Images to WordPress
- Publishing failed / Updating failed
Publishing failed. The response is not a valid JSON response.
The block editor sent your post to the server but got back something it couldn't read, so it couldn't save. The editor relies on WordPress's REST API, and something is blocking or breaking it.
- Cannot modify header information: headers already sent
Warning: Cannot modify header information - headers already sent by (output started at /wp-config.php:1)
A file sent text to the browser before WordPress was ready, often a stray space or a warning message. It can break logins, redirects and saving, and the message names the file and line where it started.
- Missing a temporary folder
Missing a temporary folder.
Uploads fail because the server has no working temporary folder to hold files while they upload. It is a hosting setting, not something wrong with WordPress or your files.
- Installation failed: could not create directory
Installation failed: Could not create directory.
WordPress couldn't write the plugin, theme or update files to the server. Either the folder permissions don't allow it, the disk is full, or a leftover folder from an earlier attempt is in the way.
- PHP version too old or missing extension
Your server is running PHP version 7.2 but WordPress requires at least 7.4.
The PHP version on your hosting is older than WordPress or a plugin needs, so it refuses to run or update. Moving to a newer PHP version is the fix, but it should be tested first, because old plugins can break on new PHP.
- WordPress email not sending
The email could not be sent. Possible reason: your host may have disabled the mail() function.
WordPress tried to send an email and the server couldn't, or wouldn't. By default WordPress sends mail straight from the web server, which many hosts block and many inboxes treat as spam.
- WooCommerce checkout error
There was an error processing your order. Please check for any charges in your payment method and review your order history before placing the order again.
The store couldn't complete the order, so the customer can't finish buying. The payment plugin, a conflict with another plugin, or caching on the checkout page are the usual causes.
- jQuery is not defined
Uncaught ReferenceError: jQuery is not defined
A script on the page ran before the jQuery library it depends on had loaded. Menus, sliders, forms or popups stop working, while the rest of the page looks normal.
Security warning
- Not secure / Your connection is not private
Your connection is not private. NET::ERR_CERT_DATE_INVALID
The browser can't confirm the site's security certificate, or the page loads some files over plain http. Visitors see a warning and many leave; the site itself is usually fine.
- Dangerous site / Deceptive site ahead
Dangerous site. Attackers on the site you tried visiting might trick you into installing software or revealing things like your passwords.
A browser safety list, usually Google Safe Browsing (used by Chrome, Firefox and Safari) or Microsoft's (used by Edge), has flagged your site as harmful, so visitors get a red warning page. It almost always follows a hack, and it comes off once the site is clean and the list owner reviews it.
- This site may be hacked
This site may be hacked.
Google shows this label under your site in search results when it thinks someone changed your pages or added spam. People can still visit, but many won't click.
- Search Console security issue
Hacked: Content injection
Google's Search Console found hacked or harmful content on your site and is warning searchers or visitors. The report lists the problem type and sample pages, which is the starting point for the cleanup.
- Signs of a hack
Site redirects to spam, strange pages in Google, unknown admin users
Spam redirects, strange pages, unknown admin users and Google warnings are the common signs of a hacked WordPress site. Hacks usually get in through an outdated plugin or a weak password, and they often leave a hidden way back in.
Usually harmless
- Are you sure you want to do this?
Are you sure you want to do this? Please try again.
WordPress couldn't confirm the action came from you, because the page's security token expired or didn't arrive. Usually the page was open too long; if it keeps happening, a plugin or an upload limit is getting in the way.
- PHP warning, notice or deprecated message
Deprecated: Function create_function() is deprecated in /wp-content/plugins/old-plugin/old-plugin.php on line 12
These are PHP's minor complaints, not errors: the page still loads, but a plugin or theme uses code PHP is phasing out or has a small bug. Visitors shouldn't see them, and seeing them is a sign updates are due.
Questions, answered
- Is it safe to paste my error message here?
- Yes. The decoder runs entirely in your browser and nothing you paste is sent to us or anyone else. That matters because error messages often include file paths and your site name.
- Can it tell which plugin caused the error?
- Often. When a PHP error includes a file path inside wp-content/plugins or wp-content/themes, the decoder names that plugin or theme. That is usually where the problem is, but another plugin can trigger an error inside it, so treat it as the first lead rather than proof.
- What if my error is not recognised?
- The safe next step is the same for most WordPress errors: note what changed last, keep a copy of the full message, and avoid deleting plugins or editing files to test ideas. Our fixes library covers the common problems in more depth, or you can send us the message.
- Will the error go away on its own?
- Some do. Maintenance mode and gateway errors are sometimes brief, and a refresh a few minutes later clears them. Errors caused by a plugin, a theme, a setting or a hack stay until the cause is fixed.
Rather not deal with it?
WordPress Rescue: send us the error and we fix it at a flat rate