Stavový kód 503

503 Service Unavailable: Co znamená, kdy se používá a jak ho správně nastavit

Pokud jste se někdy setkali s chybou 503 Service Unavailable, víte, že to není nic příjemného. Pro návštěvníky webu to znamená, že stránka není dostupná, a pro majitele webu to může signalizovat problémy s serverem. V tomto článku si vysvětlíme, co přesně 503 znamená, kdy se používá, jak ovlivňuje SEO a jak ho správně implementovat, aby nedošlo k negativním dopadům na váš web.


Co znamená stavový kód 503?

503 Service Unavailable je HTTP stavový kód, který server vrátí, když dočasně nemůže zpracovat požadavek. Na rozdíl od chyb jako 404 (Not Found) nebo 500 (Internal Server Error) jde o dočasný problém, který by se měl po určité době vyřešit.

Kdy se 503 používá?

Tento kód se obvykle objevuje v následujících situacích: ✅ Plánovaná údržba webu (např. aktualizace CMS, změny na serveru) ✅ Přetížení serveru (např. náhlý nárůst návštěvnosti, DDoS útok) ✅ Dočasné výpadky služeb (např. problém s databází, chyba v aplikaci) ✅ Omezení crawlování (např. když chcete dočasně snížit zátěž od Googlebota)

Důležité: 503 není trvalá chyba – signalizuje, že problém je dočasný a klient (prohlížeč, crawler) by měl požadavek zopakovat později.


Jak 503 ovlivňuje SEO?

Google a další vyhledávače berou 503 jako dočasný stav, ale špatné použití může mít negativní dopady. Zde je několik klíčových bodů:

1. Krátkodobé 503 (několik minut až hodin)

  • Googlebot (crawler Googlu) si všimne, že stránka je dočasně nedostupná, a počká, než ji znovu navštíví.
  • Nebude to mít vliv na indexaci, pokud je problém vyřešen rychle.
  • Doporučení: Pokud plánujete údržbu, použijte 503 s hlavičkou Retry-After, která crawlerům sdělí, kdy mají zkusit znovu přistupovat.

2. Dlouhodobé 503 (dny nebo týdny)

  • Google může snížit frekvenci crawlování vašeho webu.
  • Pokud je 503 aktivní příliš dlouho, může dojít k vyřazení stránek z indexu (dočasně).
  • Doporučení: Nikdy nepoužívejte 503 na dlouhou dobu. Pokud potřebujete web vypnout na delší dobu, zvažte 301 přesměrování na jinou stránku nebo statickou údržbářskou stránku s kódem 200 OK.

3. 503 a robots.txt

  • Nepoužívejte 503 na soubor robots.txt!
    • Pokud crawler nedokáže přistupovat k robots.txt, nemusí vědět, které stránky má crawlovat.
    • Doporučení: Pokud potřebujete omezit crawlování, použijte 429 (Too Many Requests) nebo dočasné zpomalení serveru, ale nikdy neblokujte robots.txt.

Jak správně implementovat 503?

Pokud potřebujete nastavit 503 Service Unavailable, dodržujte tyto osvědčené postupy:

1. Nastavte správné HTTP hlavičky

Server by měl vrátit:

HTTP/1.1 503 Service Unavailable
Retry-After: 3600  # (počet sekund, nebo datum, kdy má klient zkusit znovu)
Content-Type: text/html
  • Retry-After je klíčová hlavička, která sdělí prohlížečům a crawlerům, kdy mají zkusit znovu přistupovat.
    • Příklady:
      • Retry-After: 3600 (za 1 hodinu)
      • Retry-After: Fri, 31 Dec 2024 23:59:59 GMT (konkrétní datum)

2. Vytvořte uživatelsky přívětivou chybovou stránku

Místo prázdné chyby zobrazte stránku s informacemi: ✅ Co se děje? (např. "Právě probíhá údržba webu.") ✅ Kdy bude web opět dostupný? (např. "Očekávejte obnovení provozu v 14:00.") ✅ Kontaktní údaje (např. e-mail nebo telefon pro naléhavé dotazy). ✅ Minimalizujte externí zdroje (JavaScript, obrázky, CSS) – aby stránka rychle načítala a nezatěžovala server.

Příklad kódu pro statickou 503 stránku (HTML):

<!DOCTYPE html>
<html>
<head>
    <title>Stránka dočasně nedostupná</title>
    <meta name="robots" content="noindex"> <!-- Zabrání indexaci chybové stránky -->
</head>
<body>
    <h1>Stránka je dočasně nedostupná</h1>
    <p>Právě probíhá údržba. Očekávejte obnovení provozu v <strong>14:00</strong>.</p>
    <p>Pokud potřebujete pomoc, kontaktujte nás na <a href="mailto:support@example.com">support@example.com</a>.</p>
</body>
</html>

3. Omezte zátěž serveru

  • Používejte statický HTML (ne dynamicky generovaný obsah).
  • Vypněte zbytečné skripty (Google Analytics, reklamy, chatboty).
  • Nepoužívejte 503 na celý web příliš dlouho – pokud je to nutné, zvažte postupné obnovení (např. nejdříve hlavní stránku, pak podstránky).

Praktické příklady použití 503

Příklad 1: Plánovaná údržba webu

Situace: Chystáte se aktualizovat CMS (např. WordPress) a potřebujete na 2 hodiny vypnout web.

Postup:

  1. Nastavte 503 na serveru (např. přes .htaccess v Apache nebo nginx.conf).
  2. Přidejte Retry-After: 7200 (2 hodiny).
  3. Zobrazte údržbářskou stránku s informacemi pro uživatele.
  4. Po dokončení údržby zrušte 503 a vraťte vše do normálního stavu.

Příkaz pro ověření (přes terminál):

curl -I https://vase-domena.cz/

Očekávaná odpověď:

HTTP/1.1 503 Service Unavailable
Retry-After: 7200
Content-Type: text/html

Příklad 2: Omezení crawlování Googlebota

Situace: Váš server je přetížený a chcete dočasně snížit počet požadavků od Googlebota.

Postup:

  1. Nastavte 503 pro Googlebot (např. přes pravidla v .htaccess nebo serverové nastavení).
  2. Přidejte Retry-After: 3600 (1 hodina).
  3. Po snížení zátěže 503 zrušte (Googlebot se vrátí automaticky).

Důležité:

  • Nepoužívejte 503 déle než několik dní – dlouhodobé blokování může vést k poklesu indexace.
  • Neblokujte robots.txt – crawler by neměl vědět, které stránky má ignorovat.

Příklad 3: Chyba na straně serveru (neplánovaný výpadek)

Situace: Databáze selhala a web je nedostupný. Oprava potrvá několik hodin.

Postup:

  1. Nastavte 503 a zobrazte chybovou stránku s informací o výpadku.
  2. Přidejte Retry-After (např. Retry-After: 18000 pro 5 hodin).
  3. Po opravě zrušte 503 a ověřte, že vše funguje.

Časté chyby a jak se jim vyhnout

Použití 503 místo 404 pro neexistující stránky

  • Špatně: Vracet 503 pro stránky, které už neexistují.
  • Správně: Použít 404 (Not Found) nebo 410 (Gone).

Dlouhodobé 503 bez Retry-After

  • Špatně: Nechat 503 aktivní týdny bez informace, kdy se web vrátí.
  • Správně: Buď rychle opravit problém, nebo přesměrovat na jinou stránku (301).

Blokování robots.txt s 503

  • Špatně: Vracet 503 pro robots.txt – crawler neví, co má dělat.
  • Správně: Nikdy neblokujte robots.txt – raději použijte 429 (Too Many Requests), pokud je potřeba omezit crawlování.

Použití 503 pro trvalé přesuny

  • Špatně: Nastavit 503 pro stránky, které byly trvale přesunuty.
  • Správně: Použít 301 (Moved Permanently).

Jak otestovat, zda je 503 správně nastaven?

  1. Přes prohlížeč

    • Zadejte URL a podívejte se, zda se zobrazí údržbářská stránka.
  2. Přes curl (terminál)

    curl -I https://vase-domena.cz/
    
    • Očekávaný výstup:
      HTTP/1.1 503 Service Unavailable
      Retry-After: 3600
      
  3. Přes nástroje jako Google Search Console

    • V sekci "Crawl Stats" můžete vidět, jak Googlebot reaguje na 503.
  4. Přes online nástroje (např. Redirect Path)

    • Zkontrolujte, zda server vrací správný kód.

Závěr: Kdy a jak používat 503

Situace Správné použití 503 Co nedělat
Plánovaná údržba Použít s Retry-After a údržbářskou stránkou Nechat 503 aktivní příliš dlouho
Přetížení serveru Dočasně omezit crawlování Blokovat robots.txt
Dočasný výpadek Informovat uživatele o očekávaném obnovení Vracet 503 místo 404/410 pro smazané stránky
Omezení Googlebota Krátkodobé 503 s Retry-After Používat 503 na týdny

Důležité zásady:

503 je dočasný stav – nikdy ho nepoužívejte pro trvalé změny. ✔ Vždy používejte Retry-After – pomůže crawlerům i uživatelům. ✔ Neblokujte robots.txt – mohlo by to zhoršit indexaci. ✔ Po opravě problémů 503 zrušte – dlouhodobé 503 může poškodit SEO.


Zdroje


Autor: Michal Binka Datum poslední úpravy: 15. října 2025