SEO glossary

What is a 503 Service Unavailable?

Learn what HTTP 503 means, how Retry-After headers guide crawlers, planned maintenance best practices, and how 503 differs from 500 and 502 for indexing.

Technical SEOUpdated August 14, 2026
Also known asHTTP 503Service Unavailabletemporary server unavailable

Definition

A 503 Service Unavailable is an HTTP server error status code indicating the server is temporarily unable to handle the request—often due to maintenance or overload—with optional Retry-After header suggesting when clients should try again.

503 Service Unavailable: temporary downtime with retry semantics

503 Service Unavailable tells clients the server cannot handle the request right now—but the condition is expected to be temporary. Unlike 500 Error (unexpected breakage) or 502 Bad Gateway (proxy-origin communication failure), 503 is the correct HTTP vocabulary for maintenance windows, deliberate overload protection, and graceful degradation.

For SEO, 503 pauses—not permanently ends—indexing on affected URLs. Used correctly with Retry-After, it reduces the chance Googlebot treats an outage as catastrophic site abandonment. Used incorrectly on deleted content or for months, it behaves like any other blocking 5xx.

503 response with Retry-After

GET /blog/new-article HTTP/1.1
Host: example.com
User-Agent: Googlebot

HTTP/1.1 503 Service Unavailable
Retry-After: 3600
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!DOCTYPE html>
<html>
<head><title>Maintenance</title></head>
<body><p>We'll be back shortly.</p></body>
</html>

Retry-After may be seconds (integer) or HTTP-date:

Retry-After: Sat, 15 Aug 2026 18:00:00 GMT

Hints crawlers when to schedule the next fetch—valuable during planned work.

503 vs other status codes for outages

CodeMeaningSEO use
503Temporarily unavailableMaintenance, load shedding
500Unexpected server errorBug—fix origin
502Bad gatewayCDN/origin path broken
404Not foundContent gone—wrong for maintenance
200 maintenance pageSuccessMisleading if URL should not index

Some teams serve pretty maintenance HTML with 200 OK and noindex—valid user experience but lacks Retry-After crawl scheduling hints. Pair approaches when possible: 503 for bots or sitewide maintenance mode.

When 503 is appropriate

Scheduled maintenance

Database upgrades, major deploys with brief cutover—return 503 sitewide or per service with accurate Retry-After.

Overload protection

Rate limiters return 503 when origin at capacity—better than timing out into 502 Bad Gateway or 500 Error under unhandled load.

Feature flags killing origin

"Maintenance mode" plugin toggles 503 for anonymous traffic while staff preview on alternate host.

Staging accidentally exposed

Return 503 on staging host crawled by mistake—signals non-production until 301 Redirect or auth wall applied.

When 503 is wrong

CaseCorrect status
Permanently deleted article404 Error or 410 Gone
Permanent URL move301 Redirect
Long-term business closure404/410 on pages—not years of 503
Soft product removal404/410 or noindex—not 503

SEO impact of 503 responses

Short maintenance

Hours-long 503 on subset of URLs rarely causes lasting ranking loss if 200 OK returns quickly and content unchanged. Googlebot retries—especially with Retry-After.

Extended 503

Days or weeks:

  • New URLs not indexed during window
  • Stale snippets for previously indexed URLs
  • Reduced crawl rate as bots learn host is unstable
  • Crawl budget spent on repeated failed attempts

Full-site 503 including critical paths

If /robots.txt, sitemaps, and homepage all 503 together, crawling may nearly stop for the host—maximize severity.

Bad: 503 on /, /robots.txt, /sitemap.xml simultaneously for 48h
Better: keep robots and sitemap 200; 503 only on volatile templates if possible

Versus chronic 500/502

503 with clear recovery signals may preserve more crawl goodwill than flapping 500 Error—operational perception matters to scheduling algorithms.

Implementing maintenance mode for SEO

Nginx maintenance flag

if (-f /var/www/maintenance.flag) {
    return 503;
}
error_page 503 @maintenance;
location @maintenance {
    add_header Retry-After 1800 always;
    root /var/www/static;
    rewrite ^(.*)$ /maintenance.html break;
}

Load balancer health

Mark pool draining; LB returns 503 to new connections while finishing active—coordinate Retry-After with expected drain time.

Kubernetes readiness

Pods not ready—service may 503 until probes pass. Ensure rollout does not leave zero ready pods longer than Retry-After promises.

503 and caching

Cache-Control: no-store

CDN must not cache 503 for HTML documents—otherwise recovery still serves unavailable globally. Some CDNs offer "always online" stale content—tradeoff between UX and honest status for bots.

Monitoring 503 for SEO

  • Alert when 503 rate exceeds baseline outside maintenance calendar
  • Track Googlebot 503 separately from user traffic
  • Log Retry-After values vs actual recovery time—lying delays hurt trust
  • Post-maintenance crawl smoke test full template sample
curl -I -A "Googlebot" https://example.com/

Example: underestimated migration window

media.example returned 503 sitewide for 72 hours during CMS migration—Retry-After: 86400 renewed daily without meeting it.

Outcome:

  • Crawl requests dropped 91% for two weeks post-recovery
  • Podcast episode URLs delayed indexing for new releases
  • Search Console 5xx reports elevated for a month

Fix: phased migration with per-section cutover, honest short Retry-After, status subdomain on 200 OK documenting timeline, never 503 on /robots.txt and sitemap index.

How Crawlox helps with 503 Service Unavailable

Crawlox detects 503 responses and records Retry-After when present during authorized crawls. Compare scheduled maintenance windows against unexpected 503 spikes, verify recovery crawls achieve stable 200 OK across templates, and ensure critical discovery paths—sitemaps, robots, hub pages—were not left unavailable longer than retry headers promised.

Related terms

Frequently asked questions

Is 503 better than 500 during maintenance?

Yes. 503 signals temporary unavailability. Combined with Retry-After, it tells crawlers to return later instead of treating the site as broken like an unexpected 500.

Does Google respect Retry-After on 503?

Google has indicated it may use Retry-After as a hint for crawl scheduling on 503 responses—especially during known maintenance windows.

How long can a site return 503 without SEO harm?

Brief maintenance (hours) is normal. Multi-day 503 on broad URL sets delays indexing and may reduce crawl rate. Chronic 503 is as harmful as other prolonged 5xx.

Should I 503 the entire site for deploys?

Only if necessary. Prefer rolling deploys with zero downtime. Full-site 503 blocks all crawling—including sitemap and robots.txt if those paths 503 too.

503 vs 404 for removed content?

Never use 503 for deleted pages. Use 404 or 410 Gone. 503 implies the same URL will work again soon.

References

Explore authoritative guidance and frameworks related to 503 service unavailable.

Explore every glossary definition

Return to the glossary to search by term, alias, starting letter, or category.

Browse glossary