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.

In brief

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.

If the site is expected to have prolonged maintenance (several hours), return 503 for all requests (including robots.txt and other resources). This prevents partial indexing.

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.

Never use 503 as a way to hide content from Google (e.g., for testing). If a 503 persists too long, the crawler will stop scanning and the page will disappear.

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
HTTP/1.1 503 Service Unavailable
Retry-After: 3600

# or with a date
Retry-After: Sat, 3 May 2026 12:00:00 GMT

Example configuration in Nginx:

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

A few hours is safe. Up to 24 hours is acceptable but may reduce crawl frequency. More than 2-3 days — risk of pages being removed from the index.
Always 503. 500 signals an unexpected internal error, which Google may interpret as a site quality issue.
Yes, you can create a custom 503 page with an explanation and estimated recovery time, while still returning the 503 HTTP status.
Googlebot sends requests and gets the status. If it's 503, it postpones the request, following Retry-After, or uses its own exponential backoff algorithm.
Yes, if a 503 lasts a long time, the crawler wastes budget on futile attempts. Therefore, use Retry-After to indicate the optimal revisit time.
Direct contacts

Discuss your project?

Share your goals and website context — I will suggest a practical next step.

503 Service Unavailable: service temporarily unavailable — What is it?