412 Precondition Failed
A condition the client set on the request was not met, so the server did not proceed.
What it means
HTTP 412 Precondition Failed means the request carried a conditional header — such as If-Match or If-Unmodified-Since — and the condition turned out to be false. The client said, in effect, do this only if the resource is still in a certain state, and because it was not, the server declined to act.
When it happens
It happens with conditional requests guarding against lost updates: a client tries to write only if the resource has not changed since it last read it, and the resource has in fact changed, so the precondition fails.
How to fix it
- Re-read the resource to get its current ETag or last-modified value, then retry with an updated precondition.
- Confirm the conditional header is using the right validator for the resource's current state.
- Remove the conditional header if the request does not actually need to be guarded.
SEO impact
None directly. Conditional writes are an API concern and do not affect how pages are crawled or indexed.
Find out which of your URLs return 412
Paste a list of URLs and Sitewell checks the status code of every one at once — free and without signup.
Related codes
The server could not understand the request due to malformed syntax.
401 UnauthorizedAuthentication is required and has failed or not been provided.
402 Payment RequiredA largely reserved code intended for payment-gated access to a resource.
403 ForbiddenThe server understood the request but refuses to authorize it.
404 Not FoundThe server could not find the requested resource.
405 Method Not AllowedThe HTTP method used is not supported for the requested resource.
Related guides
A plain-English primer on HTTP status codes for SEOs: what the 2xx, 3xx, 4xx, and 5xx families mean, which ones affect rankings, and the codes worth knowing.
How to find and fix broken linksA practical walkthrough for finding broken links on your site, working out why each one breaks, and fixing them so visitors and crawlers stop hitting dead ends.