503 Service Unavailable is an HTTP response for a temporary inability to serve a request, such as controlled maintenance or short-lived overload.
What 503 Service Unavailable means
A 503 communicates temporary unavailability. It is not a general substitute for an application error, missing page, access control, or a permanent retirement decision. A Retry-After header can express when another attempt may be reasonable, but it does not guarantee crawler behaviour or index retention.
Decision rule and evidence
Use 503 only for a bounded operational condition and restore normal responses as soon as the condition is resolved. A permanent deletion needs its own 404 or 410 decision; a defect that should be fixed should not be cosmetically relabelled as planned maintenance.
Practical workflow
HTTP/1.1 503 Service Unavailable
Retry-After: 3600
Cache-Control: no-storeThe maintenance response must be tested through the edge path that visitors and crawlers use. Check a normal route, an asset and the recovery route after the window ends; a reverse proxy or cache can otherwise continue serving the temporary response after the application is healthy.
- Define the maintenance window and the routes that are genuinely unavailable.
- Serve a simple user-facing maintenance response with status 503.
- Add a realistic Retry-After value only if the estimated recovery window is known.
- Monitor a representative URL, critical assets, and the response once maintenance ends.
- Record start and finish time, then confirm the normal 2xx or intended redirect response returns.
Verification and common mistakes
Use an HTTP client outside the application UI to capture the status and Retry-After header. Then check a representative public route after recovery; a maintenance page that remains cached as 503 is an operational defect.