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”. Brzmi technicznie, ale to jedna z najważniejszych rzeczy w SEO technicznym: użyty błędny kod potrafi rozsypać pozycje po migracji albo rozproszyć moc linków między dwa adresy. Dobra wiadomość – gdy raz zrozumiesz logikę, decyzja „który kod tu zastosować” zajmuje sekundy.
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).
Spis treści
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.
Zamów audyt →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.
Najczęstsze pytania (FAQ)
Czym różni się przekierowanie 301 od 302?
301 to przekierowanie trwałe – Google pokazuje w wynikach nowy adres i przenosi na niego sygnały rankingowe. 302 to przekierowanie tymczasowe – Google zachowuje w wynikach stary adres, zakładając, że wróci. Przy trwałej zmianie zawsze używaj 301.
Czy błąd 404 szkodzi SEO?
Pojedyncze 404 dla stron, które faktycznie nie istnieją, są normalne i nie szkodzą. Problemem są 404 na ważnych stronach z linkami oraz masowe 404 po nieudanej migracji. Wtedy warto przekierować (301) na trafny odpowiednik lub przywrócić stronę.
Czy mogę przekierować wszystkie błędy 404 na stronę główną?
Nie jest to zalecane. Masowe przekierowania na stronę główną Google traktuje jako soft 404 – strona udaje, że istnieje, choć nie ma trafnej treści. Przekierowuj tylko tam, gdzie istnieje realny odpowiednik; w przeciwnym razie lepsze jest uczciwe 404.
Czy przekierowanie 301 przekazuje moc linków?
Tak. Przekierowanie 301 konsoliduje sygnały rankingowe (w tym moc linków) na stronie docelowej, o ile jest ona realnym odpowiednikiem starej. Przekierowanie do niezwiązanej treści tej mocy nie zachowa.
Czym różni się 404 od 410?
404 (Not Found) oznacza, że strony nie znaleziono – mogła zniknąć przejściowo lub przez błędny adres. 410 (Gone) to wyraźny sygnał, że treść została trwale usunięta i nie wróci. 410 bywa szybciej respektowane, gdy świadomie kasujesz stronę na zawsze.
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 🐶

Mateusz Owczarek
Head of SEO @ PUWU · Solution Architect @ KPCM
Karierę zaczynałem jako analityk danych i właśnie dlatego w SEO najmocniej stawiam na liczby — decyzje opieram na danych, nie na przeczuciach. Na co dzień łączę dwa światy: jako Head of SEO w PUWU zajmuję się strategią treści, technicznym SEO i wykorzystaniem AI w pozycjonowaniu, a jako Solution Architect w KPCM programuję i projektuję rozwiązania (PHP/Laravel, TypeScript, bazy danych). Skończyłem socjologię na UAM w Poznaniu ze specjalizacją w badaniach rynkowych i marketingu. Uważam, że od SEO fajniejszy jest tylko mój pies Robin.
Zobacz profil na LinkedIn