503 Usługa niedostępna
Dlaczego 503 jest właściwym kodem przy planowanej konserwacji, jak nagłówek Retry-After prowadzi Googlebota, jak Google wycofuje szybkość crawlowania po 503 oraz jak uniknąć przypadkowego usunięcia stron z indeksu.
Języki
503 Service Unavailable jest właściwym kodem przy planowanej, tymczasowej niedostępności — Google wyraźnie zaleca go zamiast 404 lub strony 200 „wkrótce”. Połącz go z nagłówkiem Retry-After, aby Googlebot wiedział, kiedy wrócić, pozostaw robots.txt dostępny (nigdy nie zwracaj dla niego 503) i traktuj 1–2 dni jako górny limit 503 dla całej witryny. Po kilku dniach Google zaczyna odczytywać 503 jako trwały, zindeksowane tytuły i opisy zamarzają zamiast się odświeżać, a strony mogą zniknąć z indeksu bez gwarantowanego powrotu 1:1. Przy dłuższym zamknięciu przełącz się na indeksowalny placeholder 200.
TL;DR — Odpowiedź 503 Service Unavailable mówi wyszukiwarkom: „witryna jest tymczasowo niedostępna — sprawdź ponownie wkrótce”, a nie: „ta strona zniknęła”. Gdy trzeba wyłączyć witrynę na czas planowanej konserwacji, 503 jest właściwym kodem. Dodaj nagłówek
Retry-After, aby Googlebot wiedział, kiedy wrócić, pozostaw dostępny plikrobots.txti nie utrzymuj 503 dłużej niż dzień lub dwa.
Co naprawdę oznacza 503
HTTP 503 oznacza, że serwer tymczasowo nie może obsłużyć żądania, a standard dopuszcza nagłówek Retry-After. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: 503 Google zaleca 503 przy krótkiej niedostępności, ale ostrzega, że długotrwała niedostępność może wpłynąć na indeksowanie. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: Google: Pause an online business
503 to kod stanu HTTP z rodziny 5xx — grupy „coś jest nie tak po stronie serwera”. Konkretnie oznacza, że serwer działa na tyle, by odpowiedzieć, ale w tej chwili nie może obsłużyć żądania, zwykle dlatego, że jest przeciążony albo został przełączony w tryb konserwacji.
Kluczowe słowo to tymczasowo. Ono odróżnia 503 od innych kodów, po które można sięgnąć, gdy strona nie jest dostępna:
- 200 OK mówi „oto treść” — nawet jeśli ta „treść” jest komunikatem „zaraz wracamy”. Wyszukiwarki traktują to dosłownie i mogą zindeksować stronę błędu.
- 404 Not Found / 410 Gone mówią „ta strona nie istnieje / zniknęła na stałe”. Używając ich podczas konserwacji, informujesz Google, aby usunął stronę.
- 503 Service Unavailable mówi “I exist, I’m just busy — come back later.” (tłumaczenie) „Istnieję, tylko jestem zajęty — wróć później.” To kod, którego potrzebujesz przy planowanej niedostępności.
Dlaczego 503 jest właściwym wyborem przy konserwacji
Podczas wdrożenia, przenoszenia serwera lub zaplanowanej konserwacji chcesz, aby wyszukiwarki wstrzymały się, a nie uznały strony za martwe. 503 kupuje Ci tę przerwę. Google mówi to wprost: jeśli musisz na krótko wyłączyć witrynę, zwróć 503, a nie 404 ani stronę błędu z kodem 200.
Pomyśl o tym jak o kartce „Wracamy za 10 minut” na drzwiach sklepu. 404 to zburzenie sklepu; strona 200 „wkrótce otwarcie” jest jak zastąpienie całego asortymentu jedną kartką i nadzieja, że klienci nadal uznają, iż sprzedajesz buty. 503 to znak, który zachowuje Twoje miejsce.
Nagłówek Retry-After
Wraz z 503 możesz wysłać nagłówek Retry-After, który w przybliżeniu mówi crawlerom, kiedy wrócić. Może zawierać liczbę sekund albo konkretną datę i godzinę:
HTTP/1.1 503 Service Unavailable
Retry-After: 3600Ten przykład prosi boty o odczekanie około godziny. Google może użyć tej wartości jako wskazówki, kiedy ponowić crawlowanie. Nie wróci dokładnie w tej sekundzie, ale nie wróci też przed nią.
Trzy rzeczy, których nie wolno pomylić
- Nie zwracaj 503 długo. Dzień lub dwa są w porządku. Znacznie dłużej, a Google zaczyna uznawać awarię za trwałą i może usunąć strony.
- Nie zwracaj 503 dla pliku
robots.txt. Jeśli ten plik zwróci 503, Google nie może crawlowac niczego — także sprawdzenia, które powiedziałoby mu, że wróciłeś online. - Nie zastępuj 503 kodem 404 ani zwykłą stroną 200 „wkrótce”. Wysyłają zły sygnał i mogą kosztować więcej niż 503.
Chcesz poznać progi czasu, dokładne cytaty Google i implementację na poszczególnych platformach? Przejdź do karty Advanced.
TL;DR — 503 jest właściwym kodem dla tymczasowej niedostępności, a Google wyraźnie preferuje go wobec 404/410 (stałe usunięcie) lub strony błędu 200 (indeksowalne śmieci). Połącz go z
Retry-After. Własny limit Google dla 503 obejmującego całą witrynę wynosi 1–2 dni; po „kilku dniach” Google traktuje 503 jako trwały i usuwa adresy URL. 503 dodatkowo zamraża zindeksowane metadane — tytuły, opisy i dane strukturalne nie odświeżą się, gdy jest serwowany. Nigdy nie zwracaj 503 dlarobots.txt. Google traktuje 429 i 503 tak samo przy wycofaniu szybkości crawlowania. Odzyskanie po długiej awarii jest prawdopodobne, ale nie gwarantuje powrotu 1:1. Przy zamknięciu dłuższym niż dzień lub dwa zamiast tego serwuj indeksowalny placeholder 200.
Czym 503 jest — i czym nie jest
503 oznacza tymczasową sytuację po stronie serwera, a nie sygnał trwałego usunięcia. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: 503 Zachowanie wyszukiwarek zależy od czasu trwania i powtarzających się odpowiedzi; czas odzyskania nie jest gwarantowany. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: Google: Pause an online business
RFC 9110 celowo używa łagodnego języka: serwer obecnie nie może obsłużyć żądania, a odzyskanie jest opisane jako prawdopodobne, nie pewne; nagłówek Retry-After jest opcjonalny — to MAY, a nie wymóg. Standard nie zmusza crawlera do powrotu w określonym czasie, a serwer może nawet pominąć 503 i po prostu odmówić połączenia. To ważne dla całej strony: wszystko poniżej o zachowaniu crawlowania Google i czasie odzyskania opisuje to, co zwykle się dzieje, a nie gwarancję umowną.
503 służy do tymczasowej niedostępności po stronie serwera. Nie jest uniwersalnym narzędziem „ukrywania tej strony” i nie można go wymieniać z sąsiednimi kodami:
- 404 / 410 — trwałe usunięcie. Podczas konserwacji mówią Google, że strony zniknęły, więc zacznie je usuwać (410 odrobinę szybciej niż 404).
- 200 z treścią błędu — strona „zaraz wracamy” z
200 OKwygląda jak prawdziwa treść. Google ją indeksuje, a jeśli każdy adres URL zwraca tę samą stronę, może uznać je za duplikaty. - 503 — „jestem tutaj, tylko chwilowo niedostępny”. Jedyny kod mówiący wstrzymaj się, a nie usuń.
Co Google rzeczywiście zaleca (w kolejności)
Aktualne, aktywnie utrzymywane wytyczne Google (Tymczasowe wstrzymanie lub wyłączenie witryny) przedstawiają kolejność preferencji, którą pomija większość artykułów konkurencyjnych. Zacznij od niej:
1. W ogóle nie wyłączaj całkowicie — ogranicz funkcjonalność. Najważniejsza rekomendacja Google to pozostawić witrynę online i wyłączyć tylko ryzykowne elementy (wyłączyć koszyk, pokazać baner, zaktualizować dane strukturalne / feed Merchant Center), ponieważ to „minimalizuje wszelkie negatywne skutki dla obecności witryny w wyszukiwarce”. 503 dla całej witryny jest rozwiązaniem awaryjnym, a nie domyślnym.
2. Jeśli musisz wyłączyć całą witrynę: reguła 1–2 dni. Google nazywa pełne wyłączenie “an extreme measure that should only be taken for a very short period of time (a few days at most),” (tłumaczenie) „skrajnym środkiem, który należy stosować tylko przez bardzo krótki czas (co najwyżej kilka dni)” i dokładnie opisuje mechanizm: “If you need to urgently disable the site for 1-2 days, then return an informational error page with a 503 HTTP response status code instead of all content.” (tłumaczenie) „Jeśli pilnie potrzebujesz wyłączyć witrynę na dzień lub dwa, zwróć informacyjną stronę błędu zamiast całej treści.”
3. Dłużej niż to: przełącz się na indeksowalny placeholder 200. Gdy minie dzień lub dwa, przestań serwować 503s. Google mówi: “If you need to disable the site for a longer time, then provide an indexable home page as a placeholder for users to find in Search by using the 200 HTTP status code.” (tłumaczenie) „Jeśli potrzebujesz wyłączyć witrynę na dłużej, udostępnij indeksowalną stronę główną jako placeholder, aby użytkownicy mogli znaleźć ją w wyszukiwarce.”
Spektrum czasu trwania (nie ma jednej twardej granicy)
Różne źródła Google dają spektrum, a nie jedną magiczną liczbę — jest ono kierunkowskazem, a nie gwarancją zgodności. Jedyna liczba pochodząca z aktualnej dokumentacji Google to poniższy limit 1–2 dni; wartości minutowe i dzienne to komentarze pracowników Google zrelacjonowane przez Search Engine Journal na podstawie sesji office hours, a nie wypowiedzi źródłowe, których można wymagać od Google.
- Minuty, sporadycznie. Gary Illyes przez Search Engine Journal: „Serwowanie kodu 503 przez dłuższy czas spowoduje spadek szybkości crawlowania. Na szczęście 10–15 minut od czasu do czasu nie jest w żaden sposób „długim czasem”, więc powinno być dobrze.”
- Około dnia. John Mueller przez Search Engine Journal: „Przy awarii trwającej może dzień użycie kodu 503 jest świetnym sposobem, aby powiedzieć nam, że powinniśmy sprawdzić ponownie.”
- 1–2 dni. Udokumentowany przez Google limit pilnego 503 dla całej witryny — jedyna liczba na tej liście pochodząca z aktualnych, pierwotnych wytycznych Google.
- „Kilka dni” i dłużej. Tu sytuacja się zmienia. Mueller przez Search Engine Journal: „Po kilku dniach uznajemy, że to trwały kod wyniku, strony po prostu zniknęły i usuniemy je z indeksu.”
- Tygodnie. Niemal pewna utrata indeksu, a — według dokumentacji — odzyskanie po całkowitym usunięciu ma „brak ustalonego czasu … i nie ma mechanizmu, aby je przyspieszyć.”
Nic z tego nie tworzy zegara bezpiecznego okresu. Opisuje to, co zwykle się dzieje, a nie regułę, na której można oprzeć konkretny wynik — traktuj 1–2 dni jako zewnętrzną granicę do planowania, a nie gwarancję braku ryzyka wewnątrz tego okresu.
Skutek zamrożenia metadanych (ryzyko, o którym nikt nie mówi)
Nawet krótki, poprawny 503 ma pomijany koszt: gdy go serwujesz, Google nie może zaktualizować tego, co już ma. Wprost z dokumentacji: „systemy Google nie mogą odświeżać tytułów, opisów, metadanych ani danych strukturalnych zawartych w witrynie, jeśli strona zwraca kod odpowiedzi HTTP 503.”
503 zamraża więc zindeksowane metadane — nie usuwa ich i nie aktualizuje. Jeśli tuż przed konserwacją zmieniłeś tytuł albo znaczniki danych strukturalnych, nieaktualny snippet w SERP może utrzymać się przez całe okno. „Bezpieczny” oznacza „nie powoduje trwałej szkody, gdy jest krótki”, a nie „niewidoczny”.
Nigdy nie zwracaj 503 dla robots.txt
To częsta pułapka w świecie rzeczywistym: niektóre wtyczki trybu konserwacji i ogólne reguły CDN-u zwracają 503 wszystkiemu, także robots.txt. Nie rób tego. Google mówi wyraźnie: “Don’t return a 503 HTTP response status code for the robots.txt file because this blocks all crawling.” (tłumaczenie) „Nie zwracaj kodu odpowiedzi HTTP dla pliku robots.txt, ponieważ blokuje to całe crawlowanie.” Plik robots.txt z 503 zatrzymuje crawlowanie Google całkowicie — także ponowienie, które potwierdziłoby powrót witryny. Nawet podczas pełnej awarii pozostaw robots.txt z odpowiedzią 200.
503 a 429 — Google traktuje je tak samo
W kontekście ograniczania szybkości ludzie szukają „429 lub 503” zamiennie. Dla szybkości crawlowania są one równoważne w oczach Google. Mueller (na stronie, którą później sam oznaczył jako starszą): “we treat them both about the same. We see both as a temporary issue, and tend to slow down crawling if we see a bunch of them.” (tłumaczenie) „Traktujemy je mniej więcej tak samo. Oba widzimy jako tymczasowy problem i zwykle spowalniamy crawlowanie, gdy widzimy ich dużo.” Ta sama logika wycofania: 429 Too Many Requests i 503 mówią Googlebotowi, aby zwolnił. (Ich rodzeństwo 502/504, czyli inne przejściowe błędy bramy/przekroczenia czasu, jest traktowane podobnie — utrzymujące się 5xx dowolnego rodzaju spowalniają crawlowanie.)
Odzyskanie jest prawdopodobne — nie gwarantowane
Najbardziej użyteczne obalenie mitu w całym temacie: jeśli długa awaria doprowadzi do usunięcia stron, zwykle wracają, ale nie zawsze w ten sam sposób. Mueller: „gdy strony wrócą, ponownie je crawlujemy i spróbujemy ponownie je zindeksować. Jednak w tym czasie prawdopodobnie usuniemy wiele stron witryny z naszego indeksu i jest spora szansa, że wrócą w podobny sposób, ale nie zawsze jest to gwarantowane.” Planuj okna konserwacji tak, jakby odzyskanie mogło być niepełne, bo może takie być.
Kilka FAQ, na które warto odpowiedzieć wprost
- Czy 503 szkodzi SEO? Nie, jeśli jest krótki i poprawny. Krótki 503 z
Retry-Afterjest zamierzonym sygnałem planowanej niedostępności. Szkodę powoduje zbyt długie utrzymywanie go albo zwracanie 503 dlarobots.txt. - Czy przy konserwacji lepszy jest 503 czy 404? 503, za każdym razem. 404 mówi „zniknęło” i rozpoczyna usuwanie z indeksu; 503 mówi „wrócę wkrótce”.
- Czy WordPress zwraca 503 podczas aktualizacji? Tak — WordPress automatycznie serwuje 503 podczas aktualizacji rdzenia lub wtyczek. To poprawne zachowanie; okno trwa zwykle sekundy.
- Czy mogę zamiast tego pokazać stronę „wkrótce” z kodem 200? Nie. Strona błędu 200 zostanie zindeksowana jako treść, a jeśli jest taka sama pod każdym adresem URL, Google może uznać te adresy za duplikaty.
Jedyna reguła, którą trzeba zapamiętać
Własny limit Google dla pilnego 503 obejmującego całą witrynę wynosi 1–2 dni — traktuj go jako zewnętrzną granicę do planowania, a nie gwarantowane bezpieczne okno. Nawet w tym okresie 503 nadal wstrzymuje szybkość crawlowania i zamraża metadane, a nic na tej stronie nie obiecuje konkretnego wyniku rankingu, indeksowania ani odzyskania. Po przekroczeniu limitu przełącz się na indeksowalny placeholder 200, zanim Google uzna, że strony zniknęły. Wszystko inne na tej stronie jest przypisem do tej zasady.
Informacje o sąsiednich kodach znajdziesz w pozostałej części klastra kodów stanu HTTP.
Podsumowanie AI
Skrót wersji Advanced:
- 503 = tymczasowa niedostępność. To właściwy kod dla planowanej konserwacji — Google preferuje go wobec 404/410 (trwałe usunięcie) oraz strony błędu 200 (która zostanie zindeksowana jako treść, często jako duplikaty).
- Połącz go z
Retry-After(sekundy albo data HTTP), choć RFC 9110 czyni nagłówek opcjonalnym (MAY) — Googlebot może użyć go jako wskazówki do ponownego crawlowania i wycofuje szybkość crawlowania, ale nic nie zmusza go do powrotu dokładnie w określonym czasie. - Czas trwania jest spektrum, a nie gwarancją: jedyna liczba z aktualnej dokumentacji Google to 1–2 dni, udokumentowany limit pilnego 503 dla całej witryny. Komentarze pracowników Google zrelacjonowane przez Search Engine Journal określają krótkie okna (10–15 minut, około dnia) jako zwykle bezpieczne, a „kilka dni” i dłużej jako moment, w którym Google zaczyna traktować 503 jako trwały i usuwać strony — czytaj je kierunkowo, nie jako zobowiązania z pierwotnego źródła. Przy dłuższym zamknięciu serwuj indeksowalny placeholder 200.
- Metadane zamarzają: podczas serwowania 503 Google nie może odświeżać tytułów, opisów ani danych strukturalnych — nieaktualne snippety mogą się utrzymać.
- Nigdy nie zwracaj 503 dla
robots.txt— blokuje to całe crawlowanie, także ponowienie potwierdzające powrót. - 429 ≈ 503 przy wycofaniu szybkości crawlowania; Google traktuje je tak samo.
- Odzyskanie po długiej awarii jest prawdopodobne, ale „nie zawsze gwarantowane” w proporcji 1:1 (Mueller); całkowite usunięcie z indeksu nie ma ustalonego czasu odzyskania.
- Najlepsza praktyka: najważniejszą rekomendacją Google jest unikanie pełnego wyłączenia — ogranicz funkcjonalność i pozostań online.
Oficjalna dokumentacja
Pierwotne wytyczne dotyczące 503 i planowanej niedostępności.
- Tymczasowe wstrzymanie lub wyłączenie witryny — aktualne, kanoniczne wytyczne Google: kolejność preferencji, reguła 1–2 dni,
Retry-After, wyjątek robots.txt, uwaga o zamrożeniu metadanych i wskazówka weryfikacji przez curl. - Jak radzić sobie z planowaną niedostępnością witryny (wpis z 2011 r.) — oryginalny tekst (z banerem „nieaktualne, zobacz najlepsze praktyki”). Źródło klasycznego przykładu PHP z
Retry-After. - Szczegółowy przewodnik po działaniu Google Search — tło wycofania szybkości crawlowania: błędy z rodziny HTTP 500 oznaczają „zwolnij”.
RFC / referencja techniczna
- MDN — 503 Service Unavailable — definicja kodu stanu oparta na standardzie.
- MDN — nagłówek Retry-After — składnia formy sekundowej i daty HTTP.
Bing / Microsoft
Bing nie publikuje wytycznych dotyczących 503 przy konserwacji z taką samą szczegółowością jak Google. Retry-After jest standardowym nagłówkiem RFC (nie właściwym dla Google), a Bingbot również wycofuje szybkość crawlowania po powtarzających się odpowiedziach 5xx/429 — jednak konkretne zachowanie Binga traktuj jako wnioskowane ze standardowej semantyki HTTP, a nie udokumentowane stwierdzenie.
Cytaty ze źródeł
Wypowiedzi źródłowe Google. Każdy link prowadzi bezpośrednio do cytowanego fragmentu strony źródłowej.
Dokumentacja Google — reguła 1–2 dni
- “If you need to urgently disable the site for 1-2 days, then return an informational error page with a 503 HTTP response status code instead of all content.” (tłumaczenie) „Jeśli pilnie potrzebujesz wyłączyć witrynę na dzień lub dwa, zwróć informacyjną stronę błędu zamiast całej treści.” Przejdź do cytatu
- “If you need to disable the site for a longer time, then provide an indexable home page as a placeholder for users to find in Search by using the 200 HTTP status code.” (tłumaczenie) „Jeśli musisz wyłączyć witrynę na dłużej, udostępnij indeksowalną stronę główną jako placeholder, aby użytkownicy mogli znaleźć ją w wyszukiwarce.” Przejdź do cytatu
Dokumentacja Google — robots.txt i metadane
- “Don’t return a 503 HTTP response status code for the robots.txt file because this blocks all crawling.” (tłumaczenie) „Nie zwracaj kodu odpowiedzi HTTP dla pliku robots.txt, ponieważ blokuje to całe crawlowanie.” Przejdź do cytatu
- “it’s not possible for Google’s systems to refresh titles, descriptions, metadata, or structured data included on a website if a page returns a 503 HTTP response status code.” (tłumaczenie) „Systemy Google nie mogą odświeżać tytułów, opisów, metadanych ani danych strukturalnych zawartych w witrynie, jeśli strona zwraca odpowiedni kod odpowiedzi HTTP.” Przejdź do cytatu
- “removing a site completely from Google’s index is a significant change that can take quite some time to recover from.” (tłumaczenie) „Całkowite usunięcie witryny z indeksu Google to istotna zmiana, po której odzyskanie może zająć sporo czasu.” Przejdź do cytatu
Blog Google Search Central (2011)
- “instead of returning an HTTP result code 404 (Not Found) or showing an error page with the status code 200 (OK) when a page is requested, it’s better to return a 503 HTTP result code (Service Unavailable) which tells search engine crawlers that the downtime is temporary.” (tłumaczenie) „Zamiast zwracać kod HTTP oznaczający brak strony albo wyświetlać stronę błędu z kodem powodzenia, lepiej zwrócić kod informujący o tymczasowej niedostępności, który mówi crawlerom wyszukiwarek, że przerwa jest chwilowa.” Przejdź do cytatu
- “If known, the length of the downtime in seconds or the estimated date and time when the downtime will be complete can be specified in an optional Retry-After header, which Googlebot may use to determine when to recrawl the URL.” (tłumaczenie) „Jeśli jest znany, czas przerwy w sekundach albo przewidywana data i godzina jej zakończenia mogą być podane w opcjonalnym nagłówku Retry-After, z którego Googlebot może skorzystać, ustalając, kiedy ponownie odwiedzić URL.” Przejdź do cytatu
John Mueller, Google
- “please return a ‘503 Service unavailable’ HTTP result code… they’re generally more than happy to give your site some time to catch up again.” (tłumaczenie) „zwróć kod HTTP sygnalizujący niedostępność… zwykle z przyjemnością dadzą Twojej witrynie trochę czasu na powrót do normalnego działania.” Przejdź do cytatu Z johnmu.com/503s/ (2013), osobistego przedruku wpisu z Google+. Strona renderuje typograficzne apostrofy, dlatego krótki fragment linku gwarantuje dokładne dopasowanie tekstu.
- “we treat them both about the same. We see both as a temporary issue, and tend to slow down crawling if we see a bunch of them.” (tłumaczenie) „Oba przypadki są dla nas zbliżone: uznajemy je za przejściowy kłopot i ograniczamy tempo pobierania, gdy występują licznie.” (o relacji między 429 a 503) Przejdź do cytatu Z johnmu.com/429-or-503/ (2015), strony, którą sam Mueller oznacza jako „starą, prawdopodobnie nieaktualną”.
- “after a couple of days we think this is a permanent result code, and we think your pages are just gone, and we will drop them from the index.” (tłumaczenie) „Po kilku dniach uznajemy, że to trwały kod wyniku, strony po prostu zniknęły i usuniemy je z indeksu.” Przejdź do cytatu Przekazane przez Search Engine Journal z sesji pytań i odpowiedzi Search Central; przed potraktowaniem jako ostatecznej informacji potwierdź treść w oryginale.
Gary Illyes, Google
- “Serving a 503 status code for an extended period of time will cause a decrease in crawl rate. Fortunately for you, 10-15 minutes every now and then is not ‘extended’ by any means, so you should be fine.” (tłumaczenie) „Serwowanie kodu statusu przez dłuższy czas spowoduje spadek tempa crawlowania. Na szczęście sporadyczne krótkie okna nie są w żaden sposób długotrwałe, więc powinno być dobrze.” Przejdź do cytatu Przekazane przez Search Engine Journal z sesji pytań i odpowiedzi Google Search Central dotyczącej SEO.
Lista kontrolna planowanego 503
Wykonaj ją przed, podczas i po oknie konserwacji:
- Zdecydowano, czy pełne wyłączenie jest w ogóle konieczne — czy można ograniczyć funkcjonalność i pozostać online (preferowana opcja Google)?
- Strona konserwacji zwraca prawdziwy status
503(zweryfikowano przez curl, a nie tylko wzrokowo w przeglądarce). - Ustawiono nagłówek
Retry-After(sekundy albo data HTTP) z realistycznym szacunkiem. -
robots.txtnadal zwraca200i jest dostępny — nigdy 503. - Strona 503 jest lekka: statyczny HTML, wbudowany CSS, bez ciężkich zasobów (boty będą odwiedzać ją wielokrotnie).
- Ustalono twardy wewnętrzny termin przełączenia na indeksowalny placeholder 200, jeśli okno przekroczy około 1–2 dni.
- Żadne strony nie zwracają
404/410ani strony200„wkrótce” zamiast 503. - Podczas i po oknie obserwowane są Indeksowanie stron i Statystyki crawlowania w Search Console pod kątem skoków
5xx. - Po konserwacji potwierdzono powrót stron do
200, wysłano świeże crawlowanie kluczowych adresów przez URL Inspection i zweryfikowano odświeżenie metadanych/snippetów.
SOP: jak poprawnie włączyć planowany tryb konserwacji
Powtarzalna procedura krótkiego, bezpiecznego okna konserwacji.
Przed oknem
- Ustal zakres. Jeśli możesz pozostawić witrynę online i wyłączyć tylko ryzykowną część (koszyk, checkout, zepsutą funkcję), zrób to — to najważniejsza rekomendacja Google i pozwala uniknąć wszystkich opisanych niżej zagrożeń. Przechodź do pełnego 503 tylko wtedy, gdy naprawdę musisz wyłączyć wszystko.
- Uczciwie oszacuj czas. Jeśli realistycznie potrwa to dłużej niż 1–2 dni, w ogóle nie planuj 503 dla całej witryny — zaplanuj indeksowalną stronę główną-placeholder z kodem
200. - Zbuduj lekką stronę konserwacji. Statyczny HTML, wbudowany CSS, obrazy base64 albo brak obrazów. Boty (i użytkownicy) będą ją odwiedzać wielokrotnie, więc nie może obciążać serwera.
Konfigurowanie odpowiedzi
- Zwracaj prawdziwy 503 dla treści witryny. Przykłady:
- Apache (
.htaccess): skieruj wszystko na stronę konserwacji i wymuś status —RewriteEngine On RewriteCond %{REQUEST_URI} !^/maintenance\.html$ RewriteCond %{REQUEST_URI} !^/robots\.txt$ RewriteRule ^ /maintenance.html [R=503,L] ErrorDocument 503 /maintenance.html Header always set Retry-After "3600" - Nginx:
location / { return 503; } error_page 503 /maintenance.html; location = /maintenance.html { internal; add_header Retry-After 3600; } location = /robots.txt { } # keep robots.txt serving 200 - PHP (forma z własnego przykładu Google):
header('HTTP/1.1 503 Service Unavailable'); header('Retry-After: 3600');
- Apache (
- Ustaw
Retry-Afterna realistyczne oszacowanie — sekundy (3600) albo datę HTTP. - Wyłącz
robots.txtz reguły. Upewnij się, że nadal zwraca200(zobacz warunki przepisywania powyżej).
Weryfikacja
- Potwierdź status przez curl, a nie przez przeglądarkę:
curl -I -X GET "https://www.example.com/" # expect: HTTP/1.1 503 Service Unavailable + Retry-After: ... curl -I "https://www.example.com/robots.txt" # expect: HTTP/1.1 200 OK
Podczas i po
- Pilnuj zegara. Gdy zbliżasz się do limitu 1–2 dni, przełącz się na indeksowalny placeholder
200, zanim Google zacznie traktować 503 jako trwały. - Przywróć witrynę. Usuń regułę 503 i potwierdź, że strony znów zwracają
200. - Sprawdź ponownie. Użyj GSC URL Inspection dla kluczowych stron, obserwuj ustąpienie skoku
5xxw statystykach crawlowania i potwierdź odświeżenie tytułów/opisów/danych strukturalnych (zostały zamrożone podczas 503).
Czego nie robić — i mity, które za tym stoją
Mit: „503 przez więcej niż kilka dni jest całkowicie bezpieczny, jeśli używam Retry-After”.
Retry-After poprawia precyzję, ale nie obchodzi limitu Google. Dokumentacja ogranicza pilny 503 dla całej witryny do 1–2 dni, a Mueller mówi: „po kilku dniach uznajemy, że to trwały kod wyniku… i usuniemy je z indeksu”. Przełącz się na placeholder 200, zanim tam dotrzesz.
Mit: „503 nie ma żadnego wpływu na SEO, jeśli jest poprawnie wdrożony”. Nawet krótki, poprawny 503 wstrzymuje odświeżanie metadanych — tytuły, opisy i dane strukturalne nie mogą się aktualizować — a każdy 503 obniża szybkość crawlowania. „Bezpieczny” oznacza „nie powoduje trwałej szkody, gdy jest krótki”, a nie „niewidoczny”.
Mit: „Strona 404 albo 200 „wkrótce” jest równie dobra podczas konserwacji”.
Nie. 404/410 sygnalizuje trwałe usunięcie i szybciej usuwa strony. Ogólna strona błędu 200 zostaje zindeksowana jako treść, a jeśli każdy adres URL zwraca tę samą stronę, Google może uznać je za duplikaty.
Mit: „Dla kompletności powinieneś zwrócić 503 także dla robots.txt”.
Jest odwrotnie. robots.txt z 503 blokuje całe crawlowanie, także ponowienie potwierdzające powrót witryny. Pozostaw go z kodem 200.
Mit: „Jeśli Google usunie moje strony podczas przestoju, wrócą dokładnie takie same”. To prawdopodobne, ale „nie zawsze gwarantowane” (Mueller), a odzyskanie po całkowitym usunięciu nie ma stałego harmonogramu ani sposobu przyspieszenia.
Mit: „429 i 503 to całkowicie różne sygnały”. Przy wycofaniu szybkości crawlowania Google „traktuje je mniej więcej tak samo”.
Antywzorzec, który trzeba wypalić w pamięci: serwowanie zwykłej strony 200 OK „witryna w konserwacji”. To najczęstszy błąd i ten, przed którym Google ostrzega najbardziej bezpośrednio.
Ściąga: 503 przy konserwacji
Jaki kod dla której sytuacji
| Sytuacja | Kod | Dlaczego |
|---|---|---|
| Krótka planowana konserwacja (≤ 1–2 dni) | 503 + Retry-After | „Tymczasowo — sprawdź ponownie” |
| Konserwacja dłuższa niż 1–2 dni | 200 indeksowalny placeholder | 503 wyglądałby na trwały |
| Strona usunięta na stałe | 404 / 410 | Rzeczywiste usunięcie |
| Wyłączenie tylko koszyka / jednej funkcji | pozostaw 200, ogranicz funkcjonalność | Najważniejsza rekomendacja Google |
| Przeciążenie serwera / ograniczanie szybkości | 503 lub 429 | Google traktuje je tak samo |
Spektrum czasu trwania
| Okno | Ocena |
|---|---|
| 10–15 min, sporadycznie | W porządku (Illyes) |
| Około dnia | W porządku (Mueller) |
| 1–2 dni | Udokumentowany przez Google limit 503 dla całej witryny |
| „Kilka dni”+ | Google traktuje 503 jako trwały — strony usunięte |
| Tygodnie | Niemal pewna utrata indeksu; brak ustalonego czasu odzyskania |
Wiersz 1–2 dni to aktualny, własny udokumentowany limit Google. Wiersze minutowe i dzienne pochodzą z komentarzy pracowników Google zrelacjonowanych przez Search Engine Journal, a nie z pierwotnej dokumentacji Google — traktuj spektrum kierunkowo, a nie jako gwarantowane bezpieczne okno zgodności.
Formy Retry-After
- Sekundy:
Retry-After: 3600 - Data HTTP:
Retry-After: Sat, 8 Oct 2011 18:27:00 GMT
Reguły, o których nie wolno zapomnieć
robots.txtpozostaje z kodem 200 — nigdy 503.- Strona 503 = statyczny HTML, wbudowany CSS (boty odwiedzają ją wielokrotnie).
- 503 zamraża zindeksowane tytuły/opisy/dane strukturalne — nie odświeżą się.
- Weryfikuj przez
curl -I, nie przez przeglądarkę.
Sprawdź, czy Twój 503 naprawdę jest 503
Przeglądarka może pokazywać stronę konserwacji, podczas gdy serwer po cichu zwraca 200. Sprawdź prawdziwy kod stanu i nagłówki przez curl.
macOS / Linux
# Site content should return 503 with a Retry-After header
curl -I -X GET "https://www.example.com/"
# expect: HTTP/1.1 503 Service Unavailable
# Retry-After: 3600
# robots.txt must stay reachable (200), NOT 503
curl -I "https://www.example.com/robots.txt"
# expect: HTTP/1.1 200 OKWindows (PowerShell)
# -SkipHttpErrorCheck lets PowerShell show the 503 instead of throwing
(Invoke-WebRequest -Uri "https://www.example.com/" -Method Head -SkipHttpErrorCheck).StatusCode
(Invoke-WebRequest -Uri "https://www.example.com/robots.txt" -Method Head).StatusCodeMinimalne odpowiedzi 503
PHP (forma z własnego przykładu Google)
<?php
header('HTTP/1.1 503 Service Unavailable');
header('Retry-After: 3600'); // or an HTTP date: 'Sat, 8 Oct 2011 18:27:00 GMT'
?>
<!DOCTYPE html>
<title>We'll be right back</title>
<h1>Down for scheduled maintenance</h1>
<p>We expect to be back within the hour. Thanks for your patience.</p>Nginx (treść 503, robots.txt wyłączony z reguły)
location / {
return 503;
}
error_page 503 /maintenance.html;
location = /maintenance.html {
internal;
add_header Retry-After 3600;
}
location = /robots.txt { } # keep serving robots.txt normally (200)Strona konserwacji powinna być statyczna, z wbudowanym CSS i bez ciężkich zasobów — boty będą żądać jej wielokrotnie i nie chcesz, aby sama obciążała serwer.
Narzędzia do obsługi i sprawdzania 503
curl -I— najszybszy sposób potwierdzenia prawdziwego kodu stanu i nagłówkaRetry-After(przeglądarka może ukryć prawdę). Zobacz kartę Scripts.- Google Search Console — URL Inspection — sprawdź ostatni status crawlowania konkretnego adresu URL i poproś o świeże crawlowanie po powrocie online.
- GSC — raport statystyk crawlowania — obserwuj skok
5xx/503w trakcie okna i potwierdź jego ustąpienie później. - GSC — raport indeksowania stron — sprawdź, czy strony zostały usunięte, jeśli okno trwało długo.
- Screaming Frog SEO Spider — crawluj własną witrynę, aby potwierdzić, które adresy URL zwracają 503 zamiast 200 (i że
robots.txtnie zwraca 503). - Ahrefs Site Audit / Ahrefs Webmaster Tools — pokazują odpowiedzi
5xxw całej witrynie, dzięki czemu można wykryć pojedynczy 503 utrzymujący się po oknie. - Wtyczki trybu konserwacji WordPressa (np. WP Maintenance Mode) — WordPress automatycznie zwraca 503 podczas aktualizacji rdzenia/wtyczek; wtyczka daje kontrolowaną stronę konserwacji — upewnij się tylko, że nie zwraca 503 dla
robots.txt.
Zasoby warte Twojego czasu
Moje powiązane teksty
- Kody statusu HTTP: pełna lista dla SEO — pełny przewodnik po kodach stanu ważnych dla SEO, z 503 w kontekście
5xx. Ten artykuł pogłębia jednozdaniowe omówienie z tamtego przewodnika. - Poradnik technicznego SEO dla początkujących — miejsce crawlowania, kodów stanu i konserwacji w szerszym obrazie.
Z branży
- Tymczasowe wstrzymanie lub wyłączenie witryny (Google Search Central) — aktualne, kanoniczne wytyczne; przeczytaj je najpierw.
- Jak radzić sobie z planowaną niedostępnością witryny (Google Search Central Blog, 2011) — tekst źródłowy i klasyczny przykład PHP z
Retry-After. - 503s (John Mueller, johnmu.com) — proste wyjaśnienie Muellera, dlaczego przy niedostępności należy zwracać 503.
- Google o wpływie kodów statusu 503 na SEO (Search Engine Journal) — Gary Illyes o tym, że 10–15 minut jest w porządku.
- Google usunie strony z indeksu, jeśli witryna będzie niedostępna przez kilka dni (Search Engine Journal) — próg Muellera „kilka dni… usuniemy je”.
- HTTP 503: prawidłowa obsługa konserwacji witryny pod kątem SEO (Yoast) — praktyczny przewodnik z perspektywą WordPressa po mechanice
Retry-After. - 503 Usługa niedostępna (MDN) — referencja standardu dotycząca samego kodu stanu.
Filmy
- Google Search Central (YouTube) — seria How Google Search Works i archiwa SEO office hours, w których Mueller i Illyes odpowiadali na pytania o 503/konserwację oraz czas usuwania z indeksu cytowane na tej stronie. Kanał
Statystyki warte cytowania
- 1–2 dni — udokumentowany przez Google limit używania 503 dla całej witryny podczas pilnego wyłączenia; później przełącz się na placeholder 200. Źródło
- 10–15 minut, sporadycznie = w porządku — Gary Illyes o tym, jak krótkie może być okno 503 bez obniżania szybkości crawlowania. Źródło
- „Kilka dni” — moment, w którym Google zaczyna traktować 503 jako trwały i usuwać strony z indeksu (John Mueller). Źródło
- Brak ustalonego czasu odzyskania — dokumentacja Google dotycząca odzyskania po całkowitym usunięciu z indeksu: brak harmonogramu i sposobu przyspieszenia. Źródło
Sprawdź się: 503 Service Unavailable
Pięć krótkich pytań o używanie 503 przy planowanej konserwacji. Wybierz odpowiedź na każde, a następnie sprawdź wynik.
Dziennik zmian
Zaktualizowano 9 sie 2026.
Podsumowanie redakcyjne i zapisane szczegóły zmian.Szczegóły zmian
-
Szczegółowe uwagi dotyczące zmian są obecnie dostępne po angielsku.
Pełne porównanie jest niedostępne — dla tej wersji nie zarchiwizowano wcześniejszej migawki.
Zaktualizowano 6 sie 2026.
Podsumowanie redakcyjne i zapisane szczegóły zmian.Szczegóły zmian
-
Szczegółowe uwagi dotyczące zmian są obecnie dostępne po angielsku.
Pełne porównanie jest niedostępne — dla tej wersji nie zarchiwizowano wcześniejszej migawki.
Zaktualizowano 17 lip 2026.
Podsumowanie redakcyjne i zapisane szczegóły zmian.Szczegóły zmian
-
Szczegółowe uwagi dotyczące zmian są obecnie dostępne po angielsku.
Pełne porównanie jest niedostępne — dla tej wersji nie zarchiwizowano wcześniejszej migawki.
Try it live
This is a real endpoint on this site — not a simulation.
Hit it from the button, open it in a new tab, or
curl -i it from your terminal, and the server answers with the actual status code this article is about.