Kody odpowiedzi serwera to trzycyfrowe komunikaty, które serwer wysyła do przeglądarki po każdym żądaniu. Informują, czy strona została poprawnie załadowana, czy nastąpiło przekierowanie, czy zasób nie istnieje, czy pojawiły się problemy po stronie serwera. Znajomość tych kodów pomaga diagnozować błędy na stronie i podejmować właściwe działania techniczne.
Jak działają kody odpowiedzi HTTP
Każda wizyta na stronie internetowej to wymiana sygnałów między przeglądarką a serwerem. Przeglądarka wysyła żądanie, serwer odpowiada kodem statusu i treścią. Kody podzielone są na grupy według pierwszej cyfry:
- 2xx – sukces, żądanie zostało poprawnie obsłużone
- 3xx – przekierowania, zasób znajduje się pod innym adresem
- 4xx – błędy po stronie klienta, np. zły adres URL
- 5xx – błędy po stronie serwera
200 OK – strona działa poprawnie
Kod 200 oznacza, że serwer poprawnie odebrał żądanie i zwrócił żądany zasób. To stan oczekiwany dla każdej działającej podstrony. Jeśli strona zwraca 200, wyszukiwarki mogą ją normalnie indeksować i uwzględniać w wynikach.
301 Moved Permanently – trwałe przekierowanie
Kod 301 informuje, że zasób został trwale przeniesiony pod nowy adres. Przeglądarka i roboty wyszukiwarek są automatycznie kierowane na nowy URL. Przekierowanie 301 przenosi sygnały SEO ze starego adresu na nowy, dlatego stosuje się je przy zmianie struktury URL, migracji domeny lub likwidacji duplikatów treści.
Ważne: przekierowanie 301 powinno prowadzić bezpośrednio do docelowego adresu. Łańcuchy przekierowań, np. A → B → C, spowalniają ładowanie strony i osłabiają przepływ sygnałów rankingowych.
404 Not Found – strona nie istnieje
Kod 404 pojawia się, gdy serwer nie może odnaleźć zasobu pod podanym adresem. Przyczyny bywają różne: usunięta podstrona, literówka w URL, niedziałający link wewnętrzny lub zewnętrzny. Wyszukiwarki nie indeksują adresów zwracających 404, a zbyt duża liczba takich błędów może sygnalizować zaniedbanie techniczne witryny.
Jeśli strona została usunięta celowo i istnieje aktywny odpowiednik pod innym adresem, warto ustawić przekierowanie 301. Jeśli żadna alternatywna strona nie jest odpowiednia, poprawnym rozwiązaniem jest pozostawienie kodu 404 lub zmiana na 410.
410 Gone – zasób usunięty na stałe
Kod 410 działa podobnie do 404, ale precyzyjniej informuje, że zasób został celowo i trwale usunięty. Dla robotów wyszukiwarek to wyraźny sygnał, że dany URL nie powinien być ponownie sprawdzany. W praktyce 410 przyspiesza usuwanie strony z indeksu w porównaniu do standardowego 404.
Stosuje się go np. przy likwidacji produktów w sklepie internetowym, które nie mają żadnego zamiennika, lub przy usuwaniu całych sekcji serwisu.
500 Internal Server Error – błąd wewnętrzny serwera
Kod 500 oznacza, że serwer napotkał nieoczekiwany problem i nie mógł obsłużyć żądania. Nie ujawnia szczegółów błędu użytkownikowi, co utrudnia diagnozę bez dostępu do logów serwera. Przyczyny mogą być różne: błąd w konfiguracji, problem z kodem aplikacji, przepełniona pamięć lub awaria jednej ze składowych środowiska.
Błąd 500 wymaga interwencji technicznej. Jeśli pojawia się sporadycznie, warto sprawdzić logi serwera i logi aplikacji. Jeśli utrzymuje się dłużej, wyszukiwarki mogą tymczasowo obniżyć częstotliwość indeksowania witryny.
503 Service Unavailable – serwer niedostępny
Kod 503 informuje, że serwer jest chwilowo niedostępny, zazwyczaj z powodu przeciążenia lub planowanych prac serwisowych. W przeciwieństwie do 500, sugeruje stan tymczasowy. Aby wyszukiwarki wiedziały, kiedy wrócić, można dołączyć nagłówek Retry-After z informacją o przewidywanym czasie przywrócenia usługi.
Przy krótkich przerwach technicznych 503 jest właściwym kodem do wyświetlenia zamiast pustej strony lub błędu 500. Roboty wyszukiwarek zazwyczaj nie penalizują witryn za pojedyncze epizody niedostępności, jeśli są one krótkie i opatrzone właściwym kodem.
Jak monitorować kody odpowiedzi na swojej stronie
Regularna kontrola kodów HTTP to element podstawowej opieki technicznej nad witryną. Błędy 4xx i 5xx można wykrywać za pomocą Google Search Console w sekcji indeksowania, narzędzi do crawlowania takich jak Screaming Frog, a także analizy logów serwera. Wczesne wykrycie problemów pozwala reagować, zanim wpłyną na widoczność strony i doświadczenie użytkowników.
FAQ - najczęstsze pytania
Czy kod 404 zawsze szkodzi pozycjom strony w wyszukiwarce?
Pojedyncze błędy 404 są naturalną częścią działania każdej witryny i same w sobie nie powodują spadków pozycji. Problem pojawia się, gdy jest ich dużo i dotyczą adresów, do których prowadzą linki wewnętrzne lub zewnętrzne – wtedy warto je systematycznie korygować.
Co się dzieje z wartością linków przy przekierowaniu 301?
Przekierowanie 301 przenosi większość sygnałów rankingowych ze starego adresu na nowy, choć Google przyznaje, że może wystąpić niewielka utrata. Im krótszy łańcuch przekierowań, tym lepiej – docelowo każde przekierowanie powinno prowadzić bezpośrednio do właściwego adresu.
Kiedy wybrać kod 410 zamiast 404?
Kod 410 warto stosować wtedy, gdy masz pewność, że dany zasób nie wróci i nie istnieje dla niego żaden sensowny zamiennik. Dla robotów wyszukiwarek 410 jest jednoznacznym sygnałem do szybszego usunięcia adresu z indeksu, co może być istotne przy większych porządkach w strukturze serwisu.
Jak nagłówek Retry-After wpływa na indeksowanie podczas przerwy technicznej?
Nagłówek Retry-After wysyłany razem z kodem 503 informuje roboty wyszukiwarek, kiedy mogą spróbować ponownie odwiedzić stronę. Dzięki temu robot nie traktuje niedostępności jako trwałego problemu i nie zmniejsza częstotliwości crawlowania witryny.
Czy kod 200 na stronie oznacza, że Google ją zaindeksuje?
Kod 200 to warunek konieczny, ale niewystarczający do indeksowania. Google bierze pod uwagę również jakość treści, linki, ustawienia w pliku robots.txt oraz dyrektywę noindex – strona zwracająca 200 może być świadomie wykluczona z indeksu przez właściciela witryny.
Skąd wiadomo, że błąd 500 nie jest jednorazowym incydentem?
Najszybszym sposobem jest analiza logów serwera, które pokazują, jak często dany kod się pojawia i przy jakich żądaniach. Jeśli błąd 500 wraca regularnie lub dotyczy konkretnych podstron, to sygnał do głębszej diagnozy konfiguracji serwera lub kodu aplikacji.