503 Service Unavailable: service temporarily unavailable
What the 503 status means, how it affects indexing, how to use it correctly during maintenance, and how to set the Retry-After header.
503 Service Unavailable is an HTTP status code returned when the server is temporarily unable to handle the request due to overload or maintenance. This tells search crawlers: 'Come back later, the page will be working soon.' Unlike 500 (Internal Server Error), 503 indicates planned and expected downtime.
What is 503 Service Unavailable
503 is an HTTP status where the server says it cannot process the request at this time, but the condition is temporary. Typical causes: overload (too many concurrent requests), scheduled maintenance, database updates, or deploying a new version of the site.
The main difference between 503 and 500 (Internal Server Error) is that 503 explicitly indicates a reversible problem. Search engines receiving a 503 do not remove the page from the index, but postpone recrawling.
When to use 503
- Scheduled maintenance (CMS upgrade, data migration).
- Temporary server overload (e.g., flash sales).
- Deploying a new site version while the old code is temporarily replaced.
- Backing up or restoring a database.
- DDoS attacks (in this case, 503 protects crawlers from futile attempts).
Impact on SEO and indexing
Short-term 503s (up to a few hours) have almost no impact on rankings. Googlebot treats them as normal behavior, moves to other URLs, and returns later. If a 503 lasts for days, Google may start reducing crawl frequency; prolonged unavailability (weeks) may cause pages to be removed from the index.
It is important not to accidentally return 503 for individual pages while the rest of the site works — this will cause those pages to drop out of the index. Also do not use 503 for content that is truly gone — use 404 or 410 instead.
The Retry-After header
When returning 503, it is recommended to add the HTTP Retry-After header. It tells the crawler after how many seconds (or at what date) to retry the request. This reduces server load and speeds up indexing recovery after maintenance.
HTTP/1.1 503 Service Unavailable
Retry-After: 3600
# or with a date
Retry-After: Sat, 3 May 2026 12:00:00 GMTExample configuration in Nginx:
location / {
return 503;
add_header Retry-After "3600";
}In .htaccess (Apache) you can use mod_rewrite with a custom 503 page and the appropriate header.
Common questions
Discuss your project?
Share your goals and website context — I will suggest a practical next step.