TSEO

Kody odpowiedzi HTTP 301, 302 i 404 – kompletny przewodnik

Kody odpowiedzi HTTP to trzycyfrowe komunikaty, którymi serwer odpowiada przeglądarce i robotom Google przy każdym wejściu na stronę. Przekierowanie 301 oznacza „przeniesiono na stałe”, przekierowanie 302 – „przeniesiono tymczasowo”, a 404 – „nie znaleziono strony”.

Kody odpowiedzi HTTP 301, 302 i 404 – kompletny przewodnik

W tym przewodniku tłumaczymy, czym są kody odpowiedzi HTTP, jak działają przekierowania 301 i 302, czym jest błąd 404, kiedy używać którego kodu, jakich błędów unikać oraz jak sprawdzić kody odpowiedzi na własnej stronie. A że temat bywa suchy – możesz sobie każdy kod podejrzeć w wersji z psami na http.dog 🐶 (tak, to istnieje).

Czym są kody odpowiedzi HTTP?

Za każdym razem, gdy przeglądarka lub Googlebot prosi serwer o stronę, serwer odpowiada kodem statusu. To jak krótki meldunek: „proszę bardzo” albo „nie ma takiej strony”. Kody dzielą się na pięć grup według pierwszej cyfry:

  • 1xx – informacyjne (rzadko widoczne na co dzień).
  • 2xx – sukces. Najważniejszy to 200 OK – strona istnieje i została poprawnie zwrócona.
  • 3xx – przekierowania. Tu mieszczą się 301 i 302.
  • 4xx – błąd po stronie klienta. Tu jest 404.
  • 5xx – błąd po stronie serwera (np. 500, 503).

Dla SEO najistotniejsze są grupy 2xx, 3xx i 4xx – bo to one decydują, czy strona zostanie zaindeksowana, czy jej „moc” zostanie przekazana dalej, czy może zniknie z wyników.

Przekierowanie 301 – przeniesiono na stałe

301 (Moved Permanently) to przekierowanie stałe. Mówi przeglądarce i Google: „ta strona przeniosła się na nowy adres na zawsze – zapomnij o starym, używaj nowego”. To najważniejszy kod w arsenale każdego SEO-wca. (Podejrzyj psa: http.dog/301)

Według dokumentacji Google przekierowanie stałe sprawia, że w wynikach wyszukiwania pojawia się nowy, docelowy adres, a sygnały rankingowe (w tym moc linków, czyli „link equity”) są konsolidowane na nowym URL-u – pod warunkiem że strona docelowa jest realnym odpowiednikiem starej. Przekierowanie do czegoś zupełnie niezwiązanego tej mocy nie zachowa.

Kiedy używać 301:

  • migracja strony na nową domenę,
  • przejście z HTTP na HTTPS,
  • zmiana struktury adresów URL,
  • łączenie kilku podstron w jedną,
  • usuwanie strony, która ma trwały odpowiednik pod innym adresem.

Praktyczna zasada: przekierowanie 301 warto zostawić aktywne przez co najmniej rok, by Google zdążył w pełni przenieść sygnały. Google traktuje przy tym kod 308 (o nim niżej) tak samo jak 301.

Przekierowanie 302 – przeniesiono tymczasowo

302 (Found) to przekierowanie tymczasowe. Komunikat brzmi: „ta strona jest chwilowo pod innym adresem, ale stary wróci – nie ruszaj go”. Kluczowa konsekwencja: Google rozumie, że oryginał ma pozostać, więc nadal indeksuje i pokazuje stary URL, a nie docelowy. (Podgląd z psem: http.dog/302)

Kiedy używać 302:

  • testy A/B różnych wersji strony,
  • krótkie kampanie sezonowe i promocje,
  • czasowa przerwa techniczna (strona w konserwacji),
  • tymczasowe kierowanie użytkownika na inną stronę bez naruszania oryginału w wynikach.

Uwaga na niuans: Google oświadczyło, że nowoczesne systemy potrafią przekazywać sygnały także przez 302, jeśli z czasem rozpoznają, że przekierowanie jest de facto trwałe. Mimo to nie warto na tym polegać – przy trwałej zmianie używaj 301. 302 dla czegoś, co jest faktycznie stałe, to proszenie się o kłopoty.

301 vs 302 – które przekierowanie wybrać?

To najczęstsze źródło błędów, więc upraszczamy do jednej zasady: zmiana trwała → 301, zmiana tymczasowa → 302. Reszta wynika z konsekwencji:

  • 301 – pokazuje w wynikach nowy adres, konsoliduje sygnały na nim, traktuje go jako kanoniczny. Dla migracji, restrukturyzacji, HTTP→HTTPS, scalania stron.
  • 302 – zachowuje stary adres w wynikach, nie przenosi go „na stałe”. Dla testów, promocji, konserwacji.

Najgroźniejszy błąd to użycie 302 przy trwałej przeprowadzce. Mówisz wtedy Google: „stary URL jest nadal tym właściwym”, więc wyszukiwarka indeksuje stronę, której już nie ma, zamiast nowej – a sygnały się nie przenoszą. Efektem bywają spadki i sytuacja, w której w wynikach kręcą się oba adresy naraz.

Planujesz migrację albo gubisz pozycje na przekierowaniach?

Zlećmy audyt techniczny — sprawdzimy wszystkie kody odpowiedzi, łańcuchy przekierowań i błędy 404 i przygotujemy mapę przekierowań, która nie rozsypie Twojego SEO.

Błąd 404 – nie znaleziono strony

404 (Not Found) oznacza, że pod danym adresem nie ma strony. To najbardziej znany kod błędu – i wbrew obiegowej opinii nie zawsze jest problemem. (Podgląd pieska: http.dog/404)

404 jest naturalne i poprawne, gdy strona faktycznie nie istnieje – usunąłeś produkt, wygasł wpis, ktoś wpisał błędny adres. Google nie karze witryny za to, że pojedyncze, nieistniejące adresy zwracają 404; to prawidłowe zachowanie serwera. Problem zaczyna się, gdy 404 zwracają strony, które powinny działać (np. ważne produkty z linkami z zewnątrz) albo gdy jest ich nagle bardzo dużo po nieudanej migracji.

Dobre praktyki przy 404:

  • Zadbaj o przyjazną stronę 404 – z wyszukiwarką, linkami do najważniejszych sekcji i jasnym komunikatem, by użytkownik nie utknął w ślepej uliczce.
  • Przekieruj (301) tylko tam, gdzie istnieje trafny odpowiednik. Jeśli usunięty produkt ma następcę albo właściwą kategorię – skieruj tam. Jeśli nie ma sensownego celu, lepsze jest uczciwe 404 niż przekierowanie donikąd.
  • Nie przekierowuj masowo wszystkich 404 na stronę główną. Dla Google to tzw. soft 404 – strona udaje, że istnieje, choć treściowo jest pusta. To gorsze niż zwykłe 404 i psuje doświadczenie użytkownika.
  • Rozważ 410 (Gone), gdy chcesz wprost zasygnalizować, że strona została trwale usunięta i nie wróci – to mocniejszy sygnał niż 404.

Krewni, których warto znać: 307, 308 i 410

Poza klasyczną trójką spotkasz czasem ich „nowsze” odpowiedniki:

  • 308 (Permanent Redirect) – jak 301, ale gwarantuje zachowanie metody żądania (GET/POST). Google traktuje je jak 301.
  • 307 (Temporary Redirect) – jak 302, również z zachowaniem metody żądania. Google traktuje je jak 302.
  • 410 (Gone) – „trwale usunięto”. Mocniejsza wersja 404, gdy świadomie kasujesz treść na zawsze.

W praktyce na zwykłej stronie WWW najczęściej wystarczą 301, 302 i 404 – 307/308 częściej pojawiają się tam, gdzie ważna jest metoda żądania (formularze, API).

Najczęstsze błędy z kodami odpowiedzi

Pierwszy to wspomniane 302 zamiast 301 przy trwałej zmianie – klasyk, który kosztuje pozycje. Drugi to łańcuchy i pętle przekierowań (A→B→C lub A→B→A): każdy dodatkowy „skok” to opóźnienie, marnowanie budżetu indeksowania i realne pogorszenie Core Web Vitals (zwłaszcza LCP – strona zwleka z ładowaniem, zanim w ogóle ruszy treść). Trzeci to linki wewnętrzne prowadzące do przekierowanych adresów – zawsze linkuj bezpośrednio do finalnego URL-a, nie zmuszaj Google do skakania po pośrednikach. Czwarty to masowe przekierowania na stronę główną generujące soft 404. Piąty to pozostawienie starych adresów w mapie strony (sitemap) – w sitemapie powinny być wyłącznie adresy zwracające 200, kanoniczne i indeksowalne.

Warto też pamiętać o powiązaniu z innymi mechanizmami: przekierowanie to nie to samo co znacznik canonical (kanoniczny wskazuje preferowaną wersję duplikatu, ale obie strony nadal działają), a blokada w pliku robots.txt nie usuwa strony z wyników – od tego jest indeksacja sterowana znacznikiem noindex.

Jak sprawdzić kody odpowiedzi na swojej stronie?

Nie musisz zgadywać – kody odpowiedzi łatwo zweryfikować:

  • Google Search Console – narzędzie „Sprawdzenie adresu URL” pokazuje, co widzi Googlebot: czy adres przekierowuje, dokąd, czy finalna strona zwraca 200 i jest indeksowalna.
  • Crawlery – Screaming Frog czy Netpeak Spider przeskanują całą witrynę i wypiszą wszystkie 3xx, 4xx i 5xx oraz łańcuchy przekierowań w jednym miejscu.
  • Narzędzia deweloperskie przeglądarki – zakładka „Network” pokazuje kod odpowiedzi i kolejne przeskoki przekierowań dla pojedynczego adresu.
  • Dedykowane checkery przekierowań – szybkie sprawdzenie pojedynczego URL-a online.

Regularny audyt kodów odpowiedzi to element zdrowia technicznego strony – szczególnie po każdej migracji, zmianie struktury URL czy większej aktualizacji serwisu.

Zadbaj o zdrowe kody odpowiedzi na swojej stronie

Kody odpowiedzi HTTP to fundament SEO technicznego – niepozorne trzy cyfry, które decydują o tym, czy migracja przebiegnie gładko, czy moc Twoich linków trafi tam, gdzie powinna, i czy użytkownik znajdzie to, czego szuka. Reguła jest prosta: 301 na stałe, 302 tymczasowo, 404 dla tego, czego naprawdę nie ma.

Planujesz migrację, zmianę struktury URL albo podejrzewasz, że Twoja strona gubi pozycje na błędnych przekierowaniach? Zlećmy audyt techniczny – sprawdzimy wszystkie kody odpowiedzi, łańcuchy przekierowań i błędy 404, i przygotujemy mapę przekierowań, która nie rozsypie Twojego SEO.

Źródła

  • Google Search Central — „Redirects and Google Search”: kody 301/308 (trwałe) vs 302/303/307 (tymczasowe), konsolidacja sygnałów, przekierowania serwerowe i meta refresh. developers.google.com
  • Google Search Central — Google traktuje 301 jak 308, a 302 jak 307 (Search Relations); soft 404 i unikanie masowych przekierowań na stronę główną.
  • MDN Web Docs — „HTTP response status codes”: definicje grup 1xx–5xx oraz kodów 301, 302, 307, 308, 404, 410. developer.mozilla.org
  • http.dog — wizualna ściągawka kodów HTTP (dla zabawy). http.dog 🐶

kontakt

Potrzebujesz pomocy?

Opisz sytuację. Odpowiemy w ciągu 1 dnia roboczego.

Polityka prywatności