The server is temporarily unable to handle the request due to overloading or maintenance.
The server is currently unable to handle the request due to temporary overloading or scheduled maintenance. This implies the condition is temporary and the server will be available again after some time. Unlike a 500 error, a 503 explicitly signals that the outage is expected to resolve.
A 503 Service Unavailable error is returned during planned maintenance windows, traffic spikes beyond server capacity, application pool recycling, or when the server is deliberately taken offline. It's the "polite" server error -- the server knows it can't help right now, but it expects to recover.
This is the correct status code for maintenance pages and is often accompanied by a Retry-After header that tells clients when to come back.
top, htop, or uptime to see if the server is overwhelmed. High CPU or memory usage points to capacity issues.systemctl status php-fpm and worker process counts.max_connections or optimize queries to release connections faster.Retry-After header in your 503 response so clients and search engines know when to come back.GET /api/data HTTP/1.1 Host: example.com Accept: application/json
HTTP/1.1 503 Service Unavailable Content-Type: application/json Retry-After: 300 Date: Thu, 20 Feb 2026 12:00:00 GMT { "error": "Service Unavailable", "message": "Server is under maintenance. Please retry after 300 seconds." }
Retry-After header is sent with a 503 response to tell clients when they should try the request again. It can contain either a number of seconds (e.g., Retry-After: 300 means wait 5 minutes) or an HTTP date. Well-behaved clients, bots, and search engine crawlers will respect this header and wait before retrying, which helps prevent further overload.Monitor your website 24/7 and receive instant alerts when 503 errors occur.
Start Free Monitoring