Kod statusu HTTP to trzycyfrowa liczba, którą serwer generuje w odpowiedzi na żądanie przeglądarki. Przykładem może być kod 404, który był widoczny praktycznie dla każdego. Za każdym razem, gdy odwiedzasz stronę, przeglądarka wysyła żądanie do serwera. Następnie serwer odpowiada wyświetlając status kodu HTTP. Wygląda to tak jak rozmowa. Każdy z kodów wskazuje, które elementy działają oraz czy istnieją jakieś nieprawidłowości.
Pierwsza liczba w każdym kodzie statusu rozpoczyna się od cyfry od 1 do 5, wskazującej kategorię kodu. Kolejne dwie cyfry udzielają bardziej konkretnych informacji w ramach kategorii. Jako przykładu użyjmy ponownie kodu 404. Pierwsza cyfra (4) wskazuje błąd klienta, a konkretnie 404 oznacza, że serwer nie mógł znaleźć żądanego zasobu.
Z kolei 402 wskazuje błąd klienta. Natomiast trzecia i czwarta cyfra informuje nas, że serwer odnalazł stronę, ale nie może uzyskać do niej dostępu ze względu na brak płatności. Zwróćmy uwagę na różne kategorie statusu HTTP oraz kody i to jaki mają one wpływ na SEO.
Kompletna lista kodów statusu HTTP
| Kod statusu | Funkcja |
|---|---|
| 1XX — Informacyjny | |
| 100 | Kontynuacja |
| 101 | Zmiana protokołów |
| 102 | Przetwarzanie |
| 103 | Wczesne porady |
| 2XX — Sukces | |
| 200 | OK |
| 201 | Utworzono |
| 202 | Zaakceptowano |
| 203 | Niemiarodajne informacje |
| 204 | Brak treści |
| 205 | Restart treści |
| 206 | Częściowa treść |
| 207 | Złożony status |
| 208 | Już zgłoszono |
| 226 | Wykorzystany IM |
| 3XX — Przekierowanie | |
| 300 | Wielokrotny wybór |
| 301 | Przeniesiono na stałe |
| 302 | Znaleziono |
| 303 | Sprawdź inne |
| 304 | Nie zmodyfikowano |
| 307 | Tymczasowe przekierowanie |
| 308 | Stałe przekierowanie |
| 4XX — Błąd klienta | |
| 400 | Złe żądanie |
| 401 | Brak autoryzacji |
| 402 | Wymagana płatność |
| 403 | Zakazano |
| 404 | Nie znaleziono |
| 405 | Metoda niedozwolona |
| 406 | Nieakceptowana |
| 407 | Wymagane uwierzytelnianie Proxy |
| 408 | Przekroczono czas żądania |
| 409 | Konflikt |
| 410 | Brak |
| 411 | Wymagana długość |
| 412 | Błędny warunek wstępny |
| 413 | Zbyt duża treść |
| 414 | Zbyt długi URI |
| 415 | Nieobsługiwany typ mediów |
| 416 | Niezadowalający zakres |
| 417 | Błąd oczekiwania |
| 421 | Nieprawidłowo kierowane żądanie |
| 422 | Treść niemożliwa do przetworzenia |
| 423 | Zablokowana |
| 424 | Nieprawidłowa zależność |
| 425 | Zbyt wcześnie |
| 426 | Wymagana aktualizacja |
| 428 | Wymagany wstępny warunek |
| 429 | Zbyt wiele żądań |
| 431 | Pola nagłówka żądania są za duże |
| 451 | Niedostępne z powodów prawnych |
| 5XX — Błąd serwera | |
| 500 | Wewnętrzny błąd serwera |
| 501 | Nie wdrożono |
| 502 | Zła brama |
| 503 | Usługa niedostępna |
| 504 | Przekroczenie czasu bramy |
| 505 | Wersja HTTP niewspierana |
| 506 | Wariant obejmuje też negocjacje |
| 507 | Niewystarczająca ilość miejsca |
| 508 | Wykryte zapętlenie |
| 511 | Wymagane uwierzytelnianie sieciowe |
Wyjaśnienie kodów różnych statusów HTTP
Istnieje pięć różnych kategorii (lub klas) kodów statusów HTTP. Każdy oznacza różną odpowiedź z serwera do przeglądarki.
- 1XX — Kody informacyjne: serwer przyjmuje do wiadomości i przetwarza żądanie,
- 2XX — Kody sukcesu: serwer skutecznie odebrał, zrozumiał oraz przetworzył żądanie,
- 3XX — Kody przekierowania: serwer otrzymał żądanie, ale przekierowanie istnieje w innym miejscu (lub w rzadkich przypadkach, należy wykonać dodatkowe czynności inne niż przekierowanie),
- 4XX — kody błędu klienta: Serwer nie mógł znaleźć (lub osiągnąć) strony. Jest to błąd powiązany ze stroną,
- 5XX — Kody błędu serwera: klient przekazał prawidłowe żądanie, ale serwer nie był w stanie go zrealizować.
Kody statusu HTTP 1XX
Ta kategoria jest informacyjna, tymczasowa i niewidoczna dla klienta. Informuje, że serwer otrzymał żądanie i będzie je przetwarzać.
100 — Kontynuacja: ten tymczasowy kod statusu oznacza, że serwer otrzymał początkowe żądanie, a klient powinien kontynuować.
101 — Zmiana protokołów: ten kod jest odpowiedzią na żądanie aktualizacji pola nagłówka i wskazuje protokół, na który serwer powinien się przełączyć.
102 — Przetwarzanie: ta odpowiedź wskazuje, że serwer otrzymał i przetwarza żądanie, ale żadna odpowiedź nie jest jeszcze dostępna.
103 — Wczesne porady: ten kod jest wykorzystywany z nagłówkiem linku i pozwala przeglądarce na wstępne załadowanie zasobów, podczas gdy serwer przygotowuje odpowiedź.
Kody statusu HTTP 2XX
Ta kategoria kodu statusu oznacza udane odpowiedzi.
200 — OK: jest to standardowa odpowiedź na udane żądania HTTP. Rzeczywiste znaczenie tej odpowiedzi zależy od zastosowanej metody żądania:
- GET (UZYSKAJ): zasób został uzyskany i znajduje się w treści wiadomości,
- HEAD (NAGŁÓWEK): nagłówki są uwzględnione w odpowiedzi,
- POST lub PUT (UMIEŚĆ): zasób opisujący rezultat działania został wysłany w treści wiadomości,
- TRACE (ŚLEDŹ): treść wiadomości zawiera żądanie takie jak otrzymane przez serwer.
201 — Utworzono: żądanie było udane i stworzono nowy zasób. Zwykle jest to odpowiedź na żądania POST lub PUT.
202 — Zaakceptowano: żądanie zostało zaakceptowane, ale nadal jest przetwarzane. Kod ten wykorzystuje się jeśli inny serwer zajmuje się żądaniem lub w przypadku przetwarzania partiami.
203 — Niemiarodajne informacje: zwrócone dane nie pochodzą z oryginalnego serwera. Zamiast tego jest to ich zmodyfikowana wersja pozyskana z zewnętrznego źródła.
204 — Brak treści: Żądanie zostało skutecznie przetworzone, ale brakuje treści. Nagłówki mogą być przydatne.
205 — Restart treści: serwer spełnił żądanie, ale poprosił użytkownika o zrestartowanie dokumentu.
206 — Częściowa treść: serwer dostarcza część zasobów. Ta odpowiedź jest wykorzystywana, gdy klient wysyła nagłówek Zakres, aby zażądać tylko części zasobu.
207 — Złożony status: zapewnia statusy wielu zasobów, w zależności od tego jak wiele pojawiło się żądań podrzędnych.
208 — Już zgłoszono: części elementu DAV:propstat zostały wyszczególnione i nie zostaną ponownie uwzględnione.
226 — Wykorzystano IM: serwer zrealizował żądanie GET. Odpowiedź wskazuje jeden lub więcej rezultatów manipulacji.
Kody statusu HTTP 3XX
Kody statusu zaliczane do tej kategorii pokazują, że zasób znajduje się w innej lokalizacji i w rezultacie użytkownik zostaje przekierowany.
300 — Wielokrotny wybór: żądanie posiada więcej niż jedną możliwą odpowiedź. Użytkownik powinien wybrać jedną z nich.
301 — Przeniesiono na stałe: ten kod statusu przekierowania wskazuje, że żądane źródło zostało na stałe przeniesione pod nowy adres URL. Przeglądarka wyświetla nowy URL.
302 — Znaleziono (znany wcześniej jako przeniesiono tymczasowo): ten kod wskazuje, że żądane źródło zostało tymczasowo przeniesione pod nowy adres URL.
303 — Sprawdź inne: serwer przekierowuje użytkownika do żądanego źródła z żądaniem GET pod innym adresem URL.
304 — Nie zmodyfikowano: wykorzystuje się do celów pamięci podręcznej. Odpowiedź nie została zmodyfikowana, więc klient może używać tej samej wersji żądanego zasobu, zachowanej w pamięci podręcznej.
307 — Tymczasowe przekierowanie: żądane źródło zostało tymczasowo przeniesione pod inny adres URL. Jedyną różnicą w stosunku do kodu 301 jest to, że użytkownik nie może zmienić wykorzystywanej metody HTTP.
308 — Stałe przekierowanie: żądane źródło zostało na stałe przeniesione pod inny adres URL. Jedyną różnicą w stosunku do kodu 302 jest to, że użytkownik nie może zmienić wykorzystywanej metody HTTP.
Kody statusu HTTP 4XX
Ta kategoria informuje, że serwer nie może osiągnąć strony ze względu na błąd po stronie klienta.
400 — Złe żądanie: serwer nie może lub nie chce przetworzyć żądania ze względu na błąd klienta, taki jak na przykład nieprawidłowa wiadomość żądania, nieprawidłowa ścieżka żądania, zbyt duży rozmiar, itp.
401 — Brak autoryzacji: użytkownik nie posiada ważnych danych uwierzytelniających potrzebnych do uzyskania żądanego zasobu.
402 — Wymagana płatność: zarezerwowano do przyszłego użytku. Początkowo kod ten był przeznaczony do cyfrowych systemów płatności. Jest używany rzadko i nie reguluje go żadna standardowa konwencja.
403 — Zakazano: klient nie posiada praw dostępu do treści. Na przykład może wymagać podania hasła. W przeciwieństwie do kodu błędu HTTP 401, serwer nie zna tożsamości klienta.
404 — Nie znaleziono: serwer nie może znaleźć żądanego zasobu i nie ustanowiono żadnego przekierowania. Błędy 404 wpływają negatywnie na działania SEO.
405 — Metoda niedozwolona: serwer wspiera metodę żądania, ale nie robi tego zasób docelowy.
406 — Nieakceptowana: serwer nie znajduje żadnej treści spełniającej kryteria podane przez użytkownika zgodnie z żądanymi nagłówkami Akceptacji.
407 — Wymagane uwierzytelnianie Proxy: ten kod jest podobny do 401, ale proxy musi uwierzytelnić klienta, aby móc kontynuować.
408 — Przekroczono czas żądania: upłynął czas żądania serwera, ponieważ klient nie stworzył żądania w wyznaczonym czasie.
409 — Konflikt: serwer nie może spełnić żądania, ponieważ występuje konflikt z zasobem. Wyświetlane będą informacje o problemie, tak aby klient mógł dokonać naprawy i ponownie wprowadzić żądanie.
410 — Brak: żądana treść została całkowicie usunięta z serwera i nie zostanie przywrócona.
411 — Wymagana długość: serwer odrzuca żądanie, ponieważ wymaga określonego pola nagłówka Treść-Długość.
412 — Błędny warunek wstępny: klient wskazuje warunki wstępne w polach nagłówka, których serwer nie jest w stanie spełnić.
413 — Zbyt duża treść: żądanie klienta jest większe niż określone limity serwera, więc serwer odmawia jego przetworzenia.
414 — Zbyt długi URI: URI (Uniform Resource Identifier) żądany przez klienta jest zbyt długi dla serwera, aby mógł go przetworzyć.
415 — Nieobsługiwany typ mediów: żądanie wykorzystuje format mediów, który nie jest obsługiwany przez serwer.
416 — Niezadowalający zakres: serwer nie potrafi spełnić wartości wskazanej w polu nagłówka Zakresu żądania.
417 — Błąd oczekiwania: serwer nie potrafi spełnić wymagań wskazanych w polu nagłówka żądania Oczekiwania.
421 — Nieprawidłowo kierowane żądanie: klient wysyła żądanie do serwera, który nie jest w stanie stworzyć odpowiedzi.
422 — Treść niemożliwa do przetworzenia: klient prawidłowo wysyła żądanie, ale serwer nie może go przetworzyć ze względu na błędy semantyczne lub podobne problemy.
423 — Zablokowana: zasób żądanej metody jest zablokowany i niedostępny.
424 — Nieprawidłowa zależność: żądanie było nieudane ze względu na to, że nieudane było również pierwsze żądanie, od którego obecne jest zależne.
425 — Zbyt wcześnie: serwer nie chce przetwarzać żądania, które może zostać odtworzone.
426 — Wymagana aktualizacja: serwer odmawia przetworzenia żądania z wykorzystaniem obecnego protokołu chyba, że klient dokona aktualizacji do innego protokołu.
428 — Wymagany wstępny warunek: serwer wymaga, aby żądanie było warunkowe.
429 — Zbyt wiele żądań: użytkownik wysyła zbyt wiele żądań w określonym czasie.
431 — Pola nagłówka żądania są za duże: serwer nie może przetwarzać żądania, ponieważ pola nagłówka są za duże.
451 — Niedostępne z powodów prawnych: użytkownik żąda zasobu, którego serwer nie jest w stanie dostarczyć zgodnie z prawem.
Kody statusu HTTP 5XX
Ta kategoria obejmuje błędy po stronie serwera. Mogą one być istotne dla Twoich działań SEO, ponieważ wyszukiwarki mogą spowolnić analizowanie oraz usunąć zaindeksowane adresy URL, które ciągle zwracają takie błędy.
500 — Wewnętrzny błąd serwera: serwer napotkał niespodziewany błąd i nie może zrealizować żądania.
501 — Nie wdrożono: serwer nie może spełnić żądania lub nie rozpoznaje jego metody.
502 — Zła brama: serwer działa jako brama i otrzymuje nieprawidłową odpowiedź z hosta.
503 — Usługa niedostępna: serwer nie jest w stanie przetwarzać żądania. Zdarza się to często, gdy serwer jest przeciążony lub wyłączony z powodu prac konserwacyjnych.
504 — Przekroczenie czasu bramy: serwer działał jako brama lub proxy i przekroczono jego czas w oczekiwaniu na odpowiedź.
505 — Niewspierana wersja HTTP: serwer nie wspiera wersji HTTP w żądaniu.
506 — Wariant obejmuje też negocjacje: serwer również posiada wewnętrzny błąd konfiguracji.
507 — Niewystarczająca ilość miejsca: serwer nie ma wystarczająco miejsca, aby prawidłowo przetworzyć żądanie.
508 — Wykryte zapętlenie: serwer wykrywa nieskończone zapętlenie podczas przetwarzania żądania.
511 — Wymagane uwierzytelnianie sieciowe: klient musi być uwierzytelniony, aby uzyskać dostęp do sieci. Błąd powinien obejmować link, w którym użytkownik może podać dane.
Jak sprawdzić kod statusu HTTP strony?
Niektóre kody statusu są widoczne, podczas gdy inne nie są. Jeśli chcesz sprawdzić kod statusu HTTP strony, możesz użyć przeglądarki, Google Search Console lub narzędzia SEO. Przykładowo możesz otworzyć dowolną stronę w przeglądarce Chrome i kliknąć prawym przyciskiem myszy gdziekolwiek na ekranie. Następnie kliknij „Zbadaj” i wybierz „Network” w górnym menu.
Powinieneś ujrzeć kody statusu w kolumnie „Status”. Każdy wiersz reprezentuje zasób, a każda kolumna oznacza informacje na temat zasobu. Górnym zasobem jest zwykle dokument HTML. Ostatnim zasobem jest to co było żądane po raz ostatni. Możesz korzystać z tej metody przeglądarkowej, jeśli nie jesteś właścicielem lub nie zarządzasz badaną stroną.
Jeśli posiadasz stronę, najlepszym sposobem sprawdzenia jej kodu statusu HTTP jest wykorzystanie Google Search Console. Zacznij od wpisania adresu URL i kliknięcia „View crawled page” (sprawdź przeanalizowaną stronę), a następnie wybrania „More Info” (więcej informacji). Kod statusu pojawi się pod „HTTP Response”.
Jeśli chcesz jednak dokładniej sprawdzić kody błędu, o wiele lepszą opcją będzie skorzystanie z narzędzia SEO. Na przykład po przeanalizowaniu strony przy pomocy Semrush Site Audit, zobaczysz kody statusu 4XX oraz 5XX w zakładce „Issues”.
Kody statusu HTTP a SEO
Roboty wyszukiwarek, takie jak na przykład Googlebot, rejestrują kody statusu podczas analizowania strony i wykorzystują te dane do oceny stanu strony. Ma to oczywiście wpływ na SEO strony. Poniżej przedstawione zostały najważniejsze kody statusu HTTP, które należy poznać i zrozumieć ich wpływ na SEO:
200 OK
Kod statusu HTTP 200 to wiadomość o powodzeniu. Wskazuje, że strona działa prawidłowo zarówno dla robotów, jak i użytkowników. Jest to kod statusu, którego należy oczekiwać w przypadku każdej istotnej, prawidłowo funkcjonującej strony.
301 Przeniesiony na stałe
Kody przekierowania 301 oznaczają, że roboty oraz użytkownicy trafiający na stronę zostaną przekierowani do innego adresu URL. Należy korzystać z przekierowania 301, aby poinformować wyszukiwarki o tym, że przekierowanie jest stałe oraz moc linku powinna przejść do nowego URL.
404 Nie znaleziono strony
Kod statusu HTTP 404 może negatywnie wpłynąć na skuteczność działań SEO Twojej strony. Wyszukiwarki nie indeksują stron, które zwracają błąd 404. Wszelkie linki zewnętrzne wskazujące taką stronę, nie będą przekazywać jej swojej wartości. Jeśli strona zwraca taki błąd przez pomyłkę, należy ją natychmiast naprawić. Trzeba to zrobić szczególnie, jeśli jest to istotna strona pod względem ruchu, pozycjonowania, wartości komercyjnej, itp.
Najlepszą praktyką jest stworzenie przekierowania 301 do podobnej strony, która służy do tego samego celu. Jeśli jednak nie posiadasz stosownej strony do przekierowania na nią użytkowników, możesz stworzyć własną, niestandardową stronę 404. Takie niestandardowe strony 404 pomagają użytkownikom znaleźć to czego szukają i zachęcają ich do dalszego przeglądania serwisu.
Błędy serwera 5XX
Błędy serwera mają wpływ na dostęp do Twojej strony. Oznacza to, że wpływają negatywnie na pozycjonowanie oraz doświadczenia użytkowników. Ponadto błędy serwera 5XX spowalniają proces crawlingu. Jeśli problem będzie się utrzymywać, wyszukiwarki mogą uznać stronę za serwis niskiej jakości i usunąć z indeksu strony pokazujące takie błędy. Warto więc zwracać uwagę na takie kody statusów i jak najszybciej wprowadzać działania naprawcze.
Poszukiwanie i naprawa błędów kodów statusów http
Błędy kodów statusów HTTP mogą wpłynąć negatywnie na SEO i doświadczenia użytkowników. Znalezienie takich błędów jest możliwe dzięki narzędziu Semrush Site Audit, Screaming Frog Crawler czy Screaming Frog Log Analyser. Warto dowiedzieć się czegoś więcej na ten temat.