503Service Unavailable
The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.
What this code obliges you to do
Safe to retry
Repeating the same request can succeed, so a client may back off and try again. Honour Retry-After when the response sends one.
Not cacheable by default
Caches will not store this response unless you send explicit freshness headers saying they may.
Body allowed
You may return a payload explaining the outcome — for an error, a machine-readable problem document is worth the effort.
What usually causes it
3Planned server maintenance
Sudden massive traffic spike overloading CPU
Database migrations in progress
Effect on search
Crucial for maintenance. If you use a Retry-After header, Googlebot will pause and return later without deleting your SEO index.
How to send it
1header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Retry-After: 3600');