Kody odpowiedzi HTTP to trzycyfrowe liczby, którymi serwer odpowiada na każde zapytanie o stronę. Pierwsza cyfra mówi wszystko o charakterze odpowiedzi, a pozostałe dwie uszczegóławiają przyczynę. Wyszukiwarka podejmuje na ich podstawie decyzje o indeksowaniu, więc niepozorna liczba przesądza o tym, czy strona w ogóle pojawi się w wynikach.
Skrót: grupa 2xx oznacza sukces, 3xx przekierowanie, 4xx błąd po stronie zapytania, 5xx awarię serwera. Dwie rzeczy zaskakują najczęściej: Google traktuje kody 404 i 410 identycznie, więc wybór między nimi nie przyspiesza usunięcia z indeksu, a do ograniczania ruchu robotów nie nadają się kody 401 ani 403, bo nie wpływają na tempo indeksowania. Właściwym sygnałem przeciążenia jest 429.
Spis treści
ToggleJak czytać kody odpowiedzi HTTP
Cała logika mieści się w pierwszej cyfrze i to od niej zaczyna się każda diagnoza. Grupa 1xx to odpowiedzi informacyjne, spotykane w praktyce rzadko. Grupa 2xx oznacza, że zapytanie zostało wykonane. Grupa 3xx kieruje zapytanie pod inny adres. Grupa 4xx mówi, że problem leży w samym zapytaniu, a 5xx że serwer nie poradził sobie z jego obsługą.
Podział na 4xx i 5xx bywa mylący, bo obie grupy wyglądają dla użytkownika jak awaria. Różnica jest praktyczna: przy 4xx nie ma sensu ponawiać zapytania w tej samej formie, bo odpowiedź się nie zmieni, natomiast przy 5xx ponowienie po chwili często kończy się powodzeniem. Właśnie dlatego wyszukiwarka reaguje na te grupy zupełnie inaczej.
Kody 2xx, czyli zapytanie wykonane
| Kod | Nazwa | Kiedy występuje |
|---|---|---|
| 200 | OK | standardowa odpowiedź z treścią strony |
| 201 | Created | zasób został utworzony, typowe przy interfejsach programistycznych |
| 204 | No Content | zapytanie wykonane, ale odpowiedź nie zawiera treści |
Kod 200 to stan docelowy każdej podstrony, która ma trafić do wyników wyszukiwania. Zastrzeżenie brzmi tak: sam kod 200 niczego nie gwarantuje. Google wprost zaznacza, że treść może zostać zaindeksowana, ale nie jest to pewne, bo o indeksacji decydują też inne czynniki, w tym reguły indeksowania i jakość samej treści.
Osobną pułapką jest tak zwany miękki błąd, czyli strona zwracająca kod 200 mimo tego, że informuje użytkownika o braku szukanej treści. Dla wyszukiwarki jest to poprawna podstrona, więc trafia do indeksu i zaśmieca wyniki. Prawidłową odpowiedzią w takiej sytuacji jest kod z grupy 4xx.
Kody 3xx, czyli przekierowania
| Kod | Nazwa | Zastosowanie |
|---|---|---|
| 301 | Moved Permanently | trwała zmiana adresu, migracja domeny |
| 302 | Found | zmiana tymczasowa, testy, chwilowe zastępstwo |
| 303 | See Other | po wysłaniu formularza, żeby odświeżenie nie powtórzyło zapytania |
| 304 | Not Modified | treść nie zmieniła się od ostatniego pobrania |
| 307 | Temporary Redirect | tymczasowe, z zachowaniem metody zapytania |
| 308 | Permanent Redirect | trwałe, z zachowaniem metody zapytania |
Google opisuje różnicę między dwoma najważniejszymi kodami w kategoriach siły sygnału. Kod 301 jest silnym sygnałem przy wyborze adresu, który ma trafić do indeksu, a 302 sygnałem słabym. To znaczy, że przy trwałej zmianie użycie kodu tymczasowego nie tyle blokuje przejęcie pozycji, co osłabia je i wydłuża w czasie. Szczegóły wdrożenia opisuje osobny tekst o tym, jak wdrożyć przekierowanie 301.
Drugie ograniczenie dotyczy długości trasy. Robot Google podąża najwyżej za 10 kolejnymi przekierowaniami, a jak kosztowna bywa dłuższa trasa, pokazuje osobny tekst o tym, ile kosztuje łańcuch przekierowań. Treść adresów pośrednich jest przy tym pomijana, bo liczy się wyłącznie adres końcowy.
Kody 4xx, czyli problem w zapytaniu
| Kod | Nazwa | Znaczenie |
|---|---|---|
| 400 | Bad Request | zapytanie niepoprawne składniowo |
| 401 | Unauthorized | wymagane uwierzytelnienie |
| 403 | Forbidden | dostęp zabroniony mimo poprawnego zapytania |
| 404 | Not Found | nie znaleziono zasobu pod tym adresem |
| 405 | Method Not Allowed | metoda niedozwolona dla tego zasobu |
| 410 | Gone | zasób usunięty trwale |
| 429 | Too Many Requests | zbyt wiele zapytań w krótkim czasie |
| 451 | Unavailable For Legal Reasons | blokada z przyczyn prawnych |
Reakcja wyszukiwarki na całą tę grupę jest jednolita i konsekwentna. Adresy wcześniej zaindeksowane są z czasem usuwane z indeksu, a adresy nowo napotkane z takim kodem nie są przetwarzane. Częstotliwość odwiedzin stopniowo maleje, co oznacza, że przywrócenie strony po dłuższym okresie błędu wymaga cierpliwości.
Dwa kody z tej grupy mają na serwisach osobne, częste przyczyny i doczekały się własnych opracowań: błąd 403 Forbidden oraz błąd 405 Method Not Allowed.
404 czy 410, czyli mit o szybszym usuwaniu
W polskich poradnikach powtarza się rada, żeby przy trwale usuwanych podstronach zwracać kod 410 zamiast 404, bo wyszukiwarka usunie je wtedy szybciej. Dokumentacja Google mówi coś innego: oba kody są traktowane identycznie.
Praktyczny wniosek jest wygodny, bo zdejmuje z listy zadań decyzję, która i tak niczego nie zmienia. Jeśli system zarządzania treścią zwraca 404, nie ma powodu przebudowywać go tak, żeby zwracał 410. Czas lepiej zainwestować w rzecz naprawdę istotną, czyli w ustalenie, czy usuwany adres ma linki zewnętrzne albo ruch, bo wtedy właściwą decyzją nie jest żaden z tych kodów, tylko przekierowanie na najbliższy tematycznie odpowiednik. Szerzej o konsekwencjach pisze tekst o tym, jak błąd 404 wpływa na SEO.
Kody 5xx, czyli awaria po stronie serwera
| Kod | Nazwa | Typowa przyczyna |
|---|---|---|
| 500 | Internal Server Error | błąd aplikacji, wyjątek nieobsłużony przez kod |
| 502 | Bad Gateway | serwer pośredniczący dostał błędną odpowiedź od aplikacji |
| 503 | Service Unavailable | przeciążenie albo zaplanowana przerwa techniczna |
| 504 | Gateway Timeout | aplikacja nie odpowiedziała w wyznaczonym czasie |
Reakcja wyszukiwarki różni się tu zasadniczo od reakcji na grupę 4xx i ta różnica działa na korzyść serwisu. Tempo indeksowania spada proporcjonalnie do liczby adresów zwracających błąd, ale adresy już zaindeksowane pozostają w indeksie. Dopiero utrzymujący się długo stan awarii kończy się ich wypadnięciem.
Wniosek dla planowanych przerw technicznych jest jednoznaczny. Na czas prac serwis powinien odpowiadać kodem 503, a nie stroną z kodem 200 informującą o przerwie. Kod 503 mówi wyszukiwarce, że stan jest przejściowy, więc pozwala zachować pozycje, natomiast strona z kodem 200 zostanie potraktowana jako nowa treść podstrony.
Jak poprawnie ograniczyć ruch robotów
Przy przeciążeniu serwera pojawia się pokusa odcięcia robotów kodem 403. To jedna z częstszych pomyłek, bo Google wprost zaznacza, że kody 401 i 403 nie nadają się do ograniczania tempa indeksowania i nie mają na nie wpływu. Efektem jest utrata adresów z indeksu bez żadnej ulgi dla serwera.
Właściwym narzędziem jest kod 429, który wyszukiwarka odczytuje jako sygnał przeciążenia i odpowiada chwilowym zwolnieniem tempa odwiedzin. Przy zaplanowanych pracach tę samą rolę pełni kod 503. Oba rozwiązania są odwracalne, bo po powrocie odpowiedzi z grupy 2xx tempo indeksowania stopniowo wraca do poprzedniego poziomu.
Co Google robi z każdą grupą kodów
| Grupa | Wpływ na indeks | Wpływ na tempo indeksowania |
|---|---|---|
| 2xx | treść może zostać zaindeksowana, bez gwarancji | bez zmian |
| 3xx | przetwarzany jest wyłącznie adres końcowy | bez zmian, limit 10 skoków |
| 4xx | zaindeksowane adresy usuwane z czasem | stopniowo maleje |
| 5xx | adresy zostają, ale przy długiej awarii wypadają | spada, wraca po naprawie |
Jak sprawdzić kody odpowiedzi na swoich adresach
Pojedynczy adres sprawdzisz w narzędziach dla programistów w przeglądarce, ale przy audycie potrzebna jest cała lista naraz. Najwygodniej wkleić ją do narzędzia sprawdzającego kody odpowiedzi i przekierowania, które dla każdego adresu pokazuje kod końcowy oraz kolejne skoki, jeśli po drodze wystąpiły.
Przy takim przeglądzie zwróć uwagę na trzy rzeczy. Po pierwsze, czy adresy z mapy strony odpowiadają kodem 200, bo mapa powinna zawierać wyłącznie adresy gotowe do indeksacji. Po drugie, czy adresy z linków zewnętrznych nadal działają, bo to one przynoszą ruch spoza serwisu. Po trzecie, czy gdzieś nie pojawia się kod z grupy 5xx, który przy pojedynczym sprawdzeniu łatwo przeoczyć, a bywa objawem problemu ujawniającego się tylko pod obciążeniem.
Najczęstsze pytania
Co oznacza pierwsza cyfra kodu odpowiedzi?
Określa charakter odpowiedzi. Grupa 2xx to wykonanie zapytania, 3xx przekierowanie pod inny adres, 4xx problem w samym zapytaniu, a 5xx awaria po stronie serwera. Pozostałe dwie cyfry uszczegóławiają przyczynę wewnątrz grupy.
Czy kod 410 usuwa stronę z indeksu szybciej niż 404?
Nie. Dokumentacja Google mówi, że oba kody są traktowane identycznie. Przebudowywanie serwisu tak, żeby zwracał 410 zamiast 404, nie przynosi korzyści. Jeśli usuwany adres ma linki zewnętrzne albo ruch, właściwym rozwiązaniem jest przekierowanie na najbliższy tematycznie odpowiednik.
Jakim kodem odpowiadać podczas przerwy technicznej?
Kodem 503. Informuje on wyszukiwarkę, że stan jest przejściowy, dzięki czemu zaindeksowane adresy pozostają w indeksie, a tempo odwiedzin wraca po zakończeniu prac. Strona z komunikatem o przerwie zwracająca kod 200 zostanie potraktowana jako zwykła treść podstrony.
Czy kodem 403 można spowolnić robota?
Nie, i jest to kosztowna pomyłka. Google zaznacza, że kody 401 i 403 nie wpływają na tempo indeksowania. Ich użycie kończy się usunięciem adresów z indeksu bez żadnej ulgi dla serwera. Sygnałem przeciążenia jest kod 429, a przy pracach planowanych kod 503.
Czy kod 200 gwarantuje, że strona trafi do wyników?
Nie. Google wprost zaznacza, że treść może zostać zaindeksowana, ale nie jest to pewne. Kod 200 jest warunkiem koniecznym, natomiast o samej indeksacji decydują też reguły indeksowania oraz jakość i unikalność treści.
Ile przekierowań pod rząd zniesie wyszukiwarka?
Robot Google podąża najwyżej za 10 kolejnymi przekierowaniami. Treść adresów pośrednich jest przy tym pomijana, bo przetwarzany jest wyłącznie adres końcowy. W praktyce trasa powinna być znacznie krótsza, najlepiej jednoskokowa.






