Error map

Cookies are blocked WordPress login: Error: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.

WordPress · layer 4, Application & API

Open the full error page →

Centre: this error. First ring: errors it is linked with (11). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.

Cookies are blocked — WordPress login: Error: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress. (WordPress)Cookies are…403 Forbidden wp-admin — WordPress: 403 Forbidden on wp-admin, wp-login.php or admin-ajax.php (WordPress)403 Forbidden wp-ad…Are you sure you want to do this? — WordPress: Are you sure you want to do this? Please try again. (nonce check failed) (WordPress)Are you sure you wa…Another update is currently in progress — WordPress: Another update is currently in progress. (WordPress)Another update is c…Headers already sent — Warning: Cannot modify header information - headers already sent (PHP)Headers already sentERR_TOO_MANY_REDIRECTS (WordPress) — WordPress: ERR_TOO_MANY_REDIRECTS / redirected you too many times on wp-admin or the whole site (WordPress)ERR_TOO_MANY_REDIRE…login_required — OIDC Error: login_required / interaction_required / consent_required (silent authentication failed) (Authentication)login_requiredstate mismatch — OAuth callback error: state mismatch / Unable to verify authorization request state / State cookie was missing (Authentication)state mismatch431 — HTTP 431 Request Header Fields Too Large (HTTP)431404 except homepage — WordPress: 404 Not Found on every page except the homepage (permalinks / .htaccess / Nginx rules) (WordPress)404 except homepageSameSite cookie blocked — This Set-Cookie was blocked because it had the "SameSite=Lax" attribute but came from a cross-site response / SameSite=None requires Secure (Authentication)SameSite cookie blo…Sorry, your session has expired — WooCommerce: Sorry, your session has expired. Return to shop (WordPress)Sorry, your session…403 — HTTP 403 Forbidden (HTTP)403webhook signature — Webhook signature verification failed (Stripe, Razorpay, GitHub…) (API)webhook signatureNot allowed — WordPress: Sorry, you are not allowed to access this page. (WordPress)Not allowedLink expired — WordPress: The link you followed has expired (WordPress)Link expiredNot a valid JSON response — WordPress: Updating failed. The response is not a valid JSON response. (WordPress)Not a valid JSON re…SecurityException: Permission Denial — java.lang.SecurityException: Permission Denial ... requires android.permission.X (Android)SecurityException: …Maintenance mode — WordPress: Briefly unavailable for scheduled maintenance. Check back in a minute. (WordPress)Maintenance modeMissed schedule — WordPress: Missed schedule — scheduled posts not publishing (WP-Cron not running) (WordPress)Missed scheduleThe editor has encountered an unexpected error — WordPress block editor: The editor has encountered an unexpected error (Attempt Recovery / Copy Error) (WordPress)The editor has enco…500 — HTTP 500 Internal Server Error (HTTP)500Call to undefined function — PHP Fatal error: Uncaught Error: Call to undefined function (PHP)Call to undefined f…Undefined array key — Warning: Undefined array key / Undefined index (PHP)Undefined array key301 — HTTP 301 Moved Permanently (HTTP)301302 — HTTP 302 Found (Temporary Redirect) (HTTP)302303 — HTTP 303 See Other (HTTP)303ExpiredToken — AWS: ExpiredToken — The security token included in the request is expired (AWS)ExpiredTokeninvalid_grant — OAuth 2.0 Error: invalid_grant (Authentication)invalid_grantsession_start() — Warning: session_start(): Session cannot be started after headers have already been sent (PHP)session_start()419 Page Expired — Laravel: 419 Page Expired (CSRF token mismatch) (PHP)419 Page ExpiredDjango CSRF — Forbidden (403) CSRF verification failed. Request aborted. (Python)Django CSRFPKCE verification failed — OAuth PKCE error: invalid_grant — PKCE verification failed / code_verifier does not match code_challenge / code_challenge required (Authentication)PKCE verification f…400 — HTTP 400 Bad Request (HTTP)400413 — HTTP 413 Content Too Large (Request Entity Too Large) (HTTP)413414 — HTTP 414 URI Too Long (HTTP)414404 — HTTP 404 Not Found (HTTP)404Primary script unknown — FastCGI sent in stderr: "Primary script unknown" (PHP)Primary script unkn…444 — Nginx 444 No Response (connection closed without response) (HTTP)444CORS — CORS Error: No 'Access-Control-Allow-Origin' header is present (API)CORSMixed Content — Mixed Content: The page was loaded over HTTPS, but requested an insecure resource (API)Mixed Contentblocked a frame — SecurityError: Blocked a frame with origin "x" from accessing a cross-origin frame. (JavaScript)blocked a frame304 — HTTP 304 Not Modified (HTTP)304412 — HTTP 412 Precondition Failed (HTTP)4121200 — Cloudflare Error 1200: Cache connection limit (Cloudflare)1200

Directly related (11)

403 Forbidden wp-adminWordPress

WordPress: 403 Forbidden on wp-admin, wp-login.php or admin-ajax.php

The server or a security layer refused access to WordPress admin URLs — file permissions, a security plugin/WAF rule, ModSecurity…

Are you sure you want to do this?WordPress

WordPress: Are you sure you want to do this? Please try again. (nonce check failed)

A WordPress security nonce didn’t validate — the page was open too long, cached, or a plugin/theme form is broken.

Another update is currently in progressWordPress

WordPress: Another update is currently in progress.

WordPress thinks an update is running because the core_updater.lock option exists — usually left behind by a failed/interrupted u…

Headers already sentPHP

Warning: Cannot modify header information - headers already sent

You called `header()`, `setcookie()` or `session_start()` after output had already been sent to the browser.

ERR_TOO_MANY_REDIRECTS (WordPress)WordPress

WordPress: ERR_TOO_MANY_REDIRECTS / redirected you too many times on wp-admin or the whole site

WordPress and the server/proxy keep redirecting to each other — usually siteurl/home mismatch (http vs https, www vs non-www) or…

login_requiredAuthentication

OIDC Error: login_required / interaction_required / consent_required (silent authentication failed)

A silent sign-in (prompt=none, iframe or refresh) couldn’t complete because the user must interact — no session, consent needed,…

state mismatchAuthentication

OAuth callback error: state mismatch / Unable to verify authorization request state / State cookie was missing

The state value returned to the callback doesn’t match what the app stored before redirecting — the CSRF protection for OAuth fai…

431HTTP

HTTP 431 Request Header Fields Too Large

The request headers — almost always cookies — exceed the server’s size limit.

404 except homepageWordPress

WordPress: 404 Not Found on every page except the homepage (permalinks / .htaccess / Nginx rules)

Pretty permalinks aren’t being routed to index.php — .htaccess is missing/ignored (Apache) or Nginx lacks try_files.

SameSite cookie blockedAuthentication

This Set-Cookie was blocked because it had the "SameSite=Lax" attribute but came from a cross-site response / SameSite=None requires Secure

The browser refused to store or send an auth/session cookie because of SameSite or Secure rules — so logins don’t “stick” across…

Sorry, your session has expiredWordPress

WooCommerce: Sorry, your session has expired. Return to shop

WooCommerce lost the customer’s cart session — usually because checkout/cart pages are cached or cookies are blocked/stripped.

Two steps away (33)

403HTTP

HTTP 403 Forbidden

The server understood the request but refuses to authorize it — you (or the server process) are not allowed to access this resour…

webhook signatureAPI

Webhook signature verification failed (Stripe, Razorpay, GitHub…)

Your endpoint computed a different HMAC signature than the one the provider sent, so the webhook is rejected.

Not allowedWordPress

WordPress: Sorry, you are not allowed to access this page.

Your user role lacks the capability for that admin screen — or the database table prefix / user capabilities are out of sync afte…

Link expiredWordPress

WordPress: The link you followed has expired

Usually an upload (theme, plugin, media) larger than PHP’s upload/post limits — WordPress receives an empty request and shows thi…

Not a valid JSON responseWordPress

WordPress: Updating failed. The response is not a valid JSON response.

The block editor saved via the REST API but got HTML or an error page back — broken permalinks, a security plugin/WAF, or PHP out…

SecurityException: Permission DenialAndroid

java.lang.SecurityException: Permission Denial ... requires android.permission.X

The app called an API that needs a permission it hasn’t declared or the user hasn’t granted at runtime.

Maintenance modeWordPress

WordPress: Briefly unavailable for scheduled maintenance. Check back in a minute.

An update was interrupted and WordPress left its `.maintenance` file behind, so the site stays in maintenance mode.

Missed scheduleWordPress

WordPress: Missed schedule — scheduled posts not publishing (WP-Cron not running)

WP-Cron didn’t fire at the scheduled time, so scheduled posts and tasks (backups, emails, WooCommerce jobs) are late.

The editor has encountered an unexpected errorWordPress

WordPress block editor: The editor has encountered an unexpected error (Attempt Recovery / Copy Error)

A JavaScript error broke the block editor — usually a plugin/theme block script conflict, cached old scripts, or a browser extens…

500HTTP

HTTP 500 Internal Server Error

The server hit an unexpected condition — usually an unhandled exception or misconfiguration in the application.

Call to undefined functionPHP

PHP Fatal error: Uncaught Error: Call to undefined function

PHP can’t find the function you called — usually a missing extension, missing include, or namespace issue.

Undefined array keyPHP

Warning: Undefined array key / Undefined index

Your code reads an array key that doesn’t exist — common with `$_GET`, `$_POST` and decoded JSON.

301HTTP

HTTP 301 Moved Permanently

The resource has a new permanent URL; clients and search engines should use the address in the Location header from now on.

302HTTP

HTTP 302 Found (Temporary Redirect)

The resource is temporarily at another URL; clients should keep using the original URL for future requests.

303HTTP

HTTP 303 See Other

A redirect telling the client to fetch the result from another URL with GET — used after a form POST so refreshing doesn’t resubm…

ExpiredTokenAWS

AWS: ExpiredToken — The security token included in the request is expired

Temporary AWS credentials (STS/SSO/assumed role) have expired.

invalid_grantAuthentication

OAuth 2.0 Error: invalid_grant

The authorization code, refresh token or credentials sent to the token endpoint are invalid, expired, already used or were issued…

session_start()PHP

Warning: session_start(): Session cannot be started after headers have already been sent

session_start() ran after output was sent, so PHP can’t set the session cookie.

419 Page ExpiredPHP

Laravel: 419 Page Expired (CSRF token mismatch)

Laravel rejected a POST because the CSRF token was missing, expired or didn’t match the session.

Django CSRFPython

Forbidden (403) CSRF verification failed. Request aborted.

Django rejected a POST because the CSRF token was missing, wrong, or the request origin isn’t trusted.

PKCE verification failedAuthentication

OAuth PKCE error: invalid_grant — PKCE verification failed / code_verifier does not match code_challenge / code_challenge required

The code_verifier sent to the token endpoint doesn’t match the code_challenge from the authorize request, or PKCE is required but…

400HTTP

HTTP 400 Bad Request

The server could not understand the request because its syntax, headers or body are malformed or invalid.

413HTTP

HTTP 413 Content Too Large (Request Entity Too Large)

The request body is bigger than the server is willing to accept — usually a file upload over the configured limit.

414HTTP

HTTP 414 URI Too Long

The request URL (usually the query string) is longer than the server will accept.

404HTTP

HTTP 404 Not Found

The server can’t find anything at the requested URL.

Primary script unknownPHP

FastCGI sent in stderr: "Primary script unknown"

Nginx passed a script path to PHP-FPM that PHP-FPM couldn’t find — usually a wrong SCRIPT_FILENAME or root.

444HTTP

Nginx 444 No Response (connection closed without response)

An Nginx-specific code: the server deliberately closed the connection without sending anything — a rule is dropping the request.

CORSAPI

CORS Error: No 'Access-Control-Allow-Origin' header is present

The browser blocked a cross-origin request because the server’s response didn’t include the CORS headers allowing your site’s ori…

Mixed ContentAPI

Mixed Content: The page was loaded over HTTPS, but requested an insecure resource

An HTTPS page tried to load a script, API or image over plain HTTP, and the browser blocked (or warned about) it.

blocked a frameJavaScript

SecurityError: Blocked a frame with origin "x" from accessing a cross-origin frame.

Script tried to read or modify an iframe (or window) from another origin.

304HTTP

HTTP 304 Not Modified

The cached copy is still valid, so the server sends no body and the client reuses its cache.

412HTTP

HTTP 412 Precondition Failed

A conditional request header (If-Match, If-Unmodified-Since) didn’t match the current state of the resource.

1200Cloudflare

Cloudflare Error 1200: Cache connection limit

Too many requests are queued at Cloudflare for the origin — the origin is slow and connections pile up.