301 kontra 308: przekierowania
301 i 308 to stałe przekierowania; kluczowa różnica polega na tym, że 308 gwarantuje zachowanie metody HTTP i treści żądania. Wyjaśniamy, dlaczego powstał 308, jak Google i Bing traktują go względem 301 oraz kiedy warto go użyć.
Języki
1 sygnał dowodowy na tej stronie
- Powiązane działające narzędzieHTTP Status & Redirect Checker
301 i 308 to stałe przekierowania, a Google i Bing traktują 308 tak samo jak 301. Na poziomie protokołu 308 gwarantuje ponowienie tej samej metody i treści żądania pod nowym adresem, więc POST pozostaje POST-em; 301 historycznie dopuszczał zamianę POST na GET. Przy zwykłej migracji strony 301 pozostaje pragmatycznym domyślnym wyborem dzięki szerszej obsłudze narzędzi. Po 308 sięgaj wtedy, gdy trzeba zachować żądanie inne niż GET — w API, webhooku lub formularzu — i sprawdź rzeczywistego klienta, bo sam kod nie gwarantuje zachowania danych uwierzytelniających, ciasteczek ani idempotencji. SEO nie daje przewagi żadnemu z tych kodów.
TL;DR — 301 i 308 to przekierowania stałe, a Google i Bing traktują 308 tak samo jak 301. Najważniejsza różnica techniczna dotyczy metody: 308 gwarantuje ponowienie żądania w tej samej postaci (wysłany formularz pozostaje wysłanym formularzem), podczas gdy 301 nie daje takiej ścisłej gwarancji dla POST. Przy zwykłym komunikacie „ta strona została przeniesiona” użyj 301. Po 308 sięgaj wtedy, gdy przenosisz coś więcej niż zwykłą stronę — na przykład API albo formularz — i metoda pierwotnego żądania musi dotrzeć do celu bez zmian (choć sam kod nie gwarantuje zachowania ciasteczek ani danych uwierzytelniających; sprawdź rzeczywistego klienta).
Co oznaczają te dwa kody
Gdy serwer przenosi Cię z jednego adresu URL na inny, dołącza do odpowiedzi kod statusu. Dwa z nich oznaczają „przeniesiono na stałe”:
- 301 — „Moved Permanently” (przeniesiono na stałe). Oryginalny, najstarszy kod stałego przekierowania, obecny w sieci od jej początków.
- 308 — „Permanent Redirect” (stałe przekierowanie). Nowszy kod, dodany w 2015 roku, który robi to samo, a ponadto daje jedną dodatkową gwarancję.
Ta dodatkowa gwarancja wyjaśnia cały sens 308. Gdy wysyłasz formularz, przeglądarka wykonuje żądanie POST z danymi. Przy starszym 301 może po cichu zamienić POST na zwykły GET podczas podążania za przekierowaniem i zgubić dane. 308 tego zabrania: mówi, aby pod nowy adres wysłać dokładnie to samo żądanie, z tą samą metodą i danymi.
Czy ma to znaczenie dla SEO? Nie.
To częsta pomyłka, więc powiedzmy to jasno: w wyszukiwaniu 301 i 308 są traktowane tak samo. Dokumentacja Google opisuje 308 jako “equivalent to
301.” (tłumaczenie) „równoważne z 301”. Gary Illyes ujął to jeszcze dosadniej: “we just merge that with 301
so we really don’t care.” (tłumaczenie) „po prostu łączymy to z 301, więc naprawdę nas to nie obchodzi”. Fabrice Canel z Binga potwierdził: “Bing treats 308 redirects the same as 301 redirects.” (tłumaczenie) „Bing traktuje przekierowania 308 tak samo jak przekierowania 301.”
Nie słuchaj więc rad, że 308 jest „lepszy dla SEO” albo że należy masowo zamieniać 301 na 308, aby poprawić pozycje. Nie ma takiej korzyści. Wyszukiwarki powiedziały to wprost. Evidence for this claim Google treats 308 as equivalent to 301 for Search while advising sites to use the semantically appropriate status code. Scope: Google Search processing; client behavior still differs when method preservation matters. Confidence: high · Verified: Google: HTTP status codes and Search
Którego użyć?
- Przekierowujesz zwykłą stronę (zmieniasz adres URL, włączasz HTTPS albo zmieniasz domenę)? → Użyj 301. To domyślny kod rozumiany przez większość narzędzi, CDN-ów i wtyczek.
- Przekierowujesz coś, co niesie dane (endpoint API, adres wysyłki formularza, logowanie przez POST)? → Użyj 308, aby zachować pierwotną metodę, ale sprawdź, czy dane uwierzytelniające i ciasteczka rzeczywiście docierają do celu.
Jeśli nie przekierowujesz API ani formularza, niemal na pewno potrzebujesz 301. To cała krótka odpowiedź.
Chcesz poznać pełny obraz — dlaczego powstał 308, co dokładnie powiedziały Google i Bing oraz jak wdrożyć oba kody? Przejdź do karty Advanced.
TL;DR — 301 i 308 to przekierowania stałe, a Google i Bing przetwarzają 308 tak samo jak 301: dokumentacja Google mówi “equivalent to
301,” (tłumaczenie) „równoważne z 301”, Illyes mówi “we just merge that with 301,” (tłumaczenie) „po prostu łączymy to z 301”, a Canel potwierdza, że Bing traktuje je tak samo. Na poziomie protokołu kluczowa jest gwarancja zachowania metody: 308 (RFC 7538 z 2015 roku) nakazuje klientowi ponowić tę samą metodę pod nowym adresem, wraz z treścią żądania; 301 pochodzi z epoki HTTP/1.0 i jest niejednoznaczny przede wszystkim w kwestii zamiany POST na GET — RFC nie rozstrzyga analogicznie PUT ani DELETE. 308 powstał jako stały odpowiednik 307: RFC 7231 zdefiniował tymczasowy kod zachowujący metodę, ale nie stały. Dla zwykłych migracji stron, domen i HTTPS domyślnie wybierz 301, bo jest starszy, szerzej rozpoznawany i lepiej obsługiwany przez CDN-y, CMS-y oraz wtyczki. Po 308 sięgaj wtedy, gdy trzeba zachować żądanie inne niż GET — API, webhook, formularz albo logowanie POST — i zawsze sprawdź dane uwierzytelniające, ciasteczka oraz idempotencję na prawdziwym kliencie. Żaden z tych kodów nie jest „lepszy dla SEO” — wyszukiwarki obaliły ten mit.
Najpierw różnica semantyczna
301 i 308 mówią wyszukiwarkom to samo o stałości: zasób został przeniesiony na dobre, a miejsce docelowe powinno stać się kanoniczne. Różnią się wąską, mechaniczną gwarancją dotyczącą tego, jak klient ponawia żądanie.
- 301 (Moved Permanently) to pierwotny kod stałego przekierowania z epoki HTTP/1.0. Zawsze pozostawiał niejasność, czy metoda żądania musi zostać zachowana. W praktyce przeglądarki i inni klienci historycznie zamieniały POST na GET po 301 — co nie szkodzi zwykłej stronie, ale po cichu psuje wszystko, co zależy od metody lub treści żądania.
- 308 (Permanent Redirect) to wersja ścisła. Gwarantuje ponowienie pod nowym adresem dokładnie tej samej metody i treści. POST pozostaje POST-em, a dane jadą razem z nim.
Najkrócej ująłbym to tak: 308 to 301 z dodatkową gwarancją, że przeglądarka po cichu nie zamieni POST na GET. Evidence for this claim RFC 9110 defines both 301 and 308 as permanent redirects; 308 forbids changing the request method, while 301 permits POST-to-GET rewriting for historical reasons. Scope: HTTP semantics for 301 and 308 responses. Confidence: high · Verified: IETF: RFC 9110 §§15.4.2, 15.4.9 IETF: RFC 7538 §3 — 308 Permanent Redirect
Dlaczego w ogóle powstał 308: brakujący „stały 307”
Tego fragmentu prawie nikt nie wyjaśnia, a najlepiej pokazuje on sens całego porównania: specyfikacji brakowało jednego pola.
Nowoczesne kody przekierowań układają się w siatkę: tymczasowe lub stałe oraz luźne lub ścisłe.
| Tymczasowe | Stałe | |
|---|---|---|
| Metoda może się zmienić (luźne) | 302 | 301 |
| Metoda zachowana (ścisłe) | 307 | 308 |
RFC 7231 zdefiniował 307 jako przekierowanie tymczasowe, zachowujące metodę — ścisły odpowiednik luźnego, niejednoznacznego 302. Nie zdefiniował jednak stałego odpowiednika zachowującego metodę. RFC 7538 z kwietnia 2015 roku dodał 308, aby wypełnić tę lukę: 308 ma się do 301 tak, jak 307 ma się do 302. Jeśli czytasz porównanie 302 z 307 w tym klastrze, tutaj widzisz tę samą relację poziom wyżej — stałe luźne kontra stałe ścisłe.
301 powstał wcześniej niż cały ten model. Pochodzi z HTTP/1.0, zanim sformalizowano pojęcie zachowania metody — właśnie dlatego jest niejednoznaczny i dlatego trzeba było stworzyć 308, zamiast tylko doprecyzować 301.
Co w praktyce oznacza zachowanie metody i treści
W zdecydowanej większości przekierowań ktoś klika link, przeglądarka wysyła GET, a serwer kieruje ją dalej — praktycznej różnicy nie ma. Współczesne przeglądarki dobrze zachowują GET po 301. Różnica ujawnia się dopiero wtedy, gdy żądanie nie jest zwykłym GET-em:
| Typ żądania | Po 301 | Po 308 |
|---|---|---|
GET (zwykła strona) | Dalej jako GET (w praktyce bez problemu) | Dalej jako GET |
POST (formularz, API) | Może po cichu zmienić się na GET, a treść zniknie | Ponowione jako POST z zachowaną treścią |
PUT / DELETE (API) | RFC tego nie dokumentuje — historyczne zezwolenie dotyczy tylko POST→GET, więc zachowanie zależy od klienta i wymaga weryfikacji | Metoda zachowana (reguła automatycznego podążania 308 nie dotyczy wyłącznie POST) |
Ryzyko 301 dotyczy więc przede wszystkim POST i treści żądania — formularzy, API, webhooków i logowania. Stwierdzenie „301 zawsze zepsuje mój formularz” byłoby przesadą; zwykły GET jest bezpieczny. Historyczny wyjątek w specyfikacji 301 dotyczy konkretnie POST→GET, a nie PUT ani DELETE, więc zachowanie tych metod trzeba sprawdzić na realnym kliencie. Specyfikacja jasno gwarantuje w 308, że klient nie zmieni metody, którą ponawia — ale nie obiecuje osobno zachowania nagłówków, ciasteczek, danych uwierzytelniających ani całej transakcji. To zależy od klienta i integracji.
Czy Google traktuje 301 i 308 różnie w SEO? Nie.
To rzadki przypadek, w którym dokumentacja, pracownicy Google i Bing są zgodni — i od lat mówią to samo.
Dokumentacja Google dotycząca kodów statusu HTTP umieszcza 301 i 308 w tej samej grupie. W wierszu 301 czytamy: “Google follows the redirect, and
Google systems use the redirect as a strong signal that the redirect target should be
processed.” (tłumaczenie) „Google podąża za przekierowaniem, a systemy Google używają go jako silnego sygnału, że cel przekierowania powinien zostać przetworzony.” Wiersz 308 zawiera jedno zdanie: “Equivalent to
301.” (tłumaczenie) „Równoważne z 301”. To najmocniejsza i najłatwiejsza do zacytowania odpowiedź — własna dokumentacja Google zrównuje oba kody. Evidence for this claim Google treats 308 as equivalent to 301 for Search while advising sites to use the semantically appropriate status code. Scope: Google Search processing; client behavior still differs when method preservation matters. Confidence: high · Verified: Google: HTTP status codes and Search
Przewodnik po przekierowaniach potwierdza to już na początku: “The 301 and 308 status codes mean that a page has
permanently moved to a new location” (tłumaczenie) „Kody statusu 301 i 308 oznaczają, że strona została trwale przeniesiona pod nowy adres.” Dalej nie rozróżnia ich.
Pracownicy Google mówili to samo nieformalnie przez lata, zanim trafiło to do dokumentacji:
- Gary Illyes (2021): w dyskusji o tym, czy Google traktuje 308 jak 301, powiedział: “just merge that with 301 so we really don’t care.” (tłumaczenie) „po prostu łączymy to z 301, więc naprawdę nas to nie obchodzi”. Barry Schwartz opisał późniejsze dodanie tej informacji do dokumentacji jako moment formalizacji: “Three years later it was added to the official Google documents that Google treats 308 redirects like 301 redirects — so now it is official.” (tłumaczenie) „Trzy lata później dodano do oficjalnych dokumentów Google informację, że przekierowania 308 są traktowane jak 301 — więc stało się to oficjalne.”
- John Mueller (2018): trzy lata wcześniej powiedział: “If you use it [a 308 redirect] like a 301 we’ll treat it as such.” (tłumaczenie) „Jeśli użyjesz go [przekierowania 308] jak 301, potraktujemy go właśnie tak.” To stanowisko Google poprzedzało dokumentację.
Jest jednak ważny niuans, będący tezą całego artykułu. Zaraz po zrównaniu kodów Google dodaje: “While Google treats these status codes the same way, keep in mind that they’re semantically different. Use the status code that’s appropriate for the redirect so other clients (for example, e-readers, other search engines) may benefit from it.” (tłumaczenie) „Chociaż Google traktuje te kody statusu tak samo, pamiętaj, że różnią się semantycznie. Użyj kodu odpowiedniego dla przekierowania, aby mogli na tym skorzystać inni klienci, na przykład czytniki e-booków i inne wyszukiwarki.” Innymi słowy: wybieraj kod dla poprawności i interoperacyjności, nie dla SEO.
Czy Bing traktuje 301 i 308 różnie? Również nie.
Większość tekstów na ten temat omawia tylko Google, pomijając ważną lukę. Fabrice Canel z Binga odpowiedział wprost we wrześniu 2024 roku na pytanie, czy Bing traktuje stałe 308 tak samo jak 301: “Bing treats 308 redirects the same as 301 redirects.” (tłumaczenie) „Bing traktuje przekierowania 308 tak samo jak przekierowania 301.” Schwartz zauważył, że zgadza się to z wypowiedzią Google z 2021 roku.
Obie główne wyszukiwarki mają więc jasne stanowisko: dla crawlowania, indeksowania i konsolidacji sygnałów 308 działa funkcjonalnie tak samo jak 301. Żadna nie uznaje 308 za lepszy dla SEO.
Mit do obalenia: „308 jest lepszy dla SEO / zamień wszystkie 301 na 308”
Powiem to wprost, bo słabsze materiały wciąż sugerują coś przeciwnego. Typowe przekierowanie 308 nie daje przewagi SEO nad 301 i nie ma powodu masowo zmieniać istniejących 301 na 308. To nie moja opinia, tylko stanowisko wyszukiwarek:
- Dokumentacja Google mówi, że 308 jest “equivalent to
301.” (tłumaczenie) „równoważne z 301”. - Illyes: “we just merge that with 301.” (tłumaczenie) „po prostu łączymy to z 301”.
- Canel: Bing “treats 308 redirects the same as 301 redirects.” (tłumaczenie) „traktuje przekierowania 308 tak samo jak 301”.
Masowa zamiana 301→308 nie daje żadnej korzyści rankingowej, a wprowadza ryzyko w starszych narzędziach i warstwach brzegowych, które dobrze rozpoznają tylko 301/302. To czysta praca pozorna.
Warto odróżnić to od naprawdę spornego mitu, że „301 traci lub rozcieńcza PageRank”. Ten zarzut wciąż wraca, ale Google wielokrotnie go obalało. W przypadku równoważności 301 i 308 Google, Bing i dokumentacja od 2018 roku konsekwentnie mówią to samo. To sprawa rozstrzygnięta, a nie dyskusyjna.
Kiedy 308 jest technicznie właściwym wyborem
Wybierz 308, gdy utrata metody żądania albo jego treści zepsułaby działanie, a nie pozycje:
- Endpointy API, które przenosisz, a klienci wywołują metodami
POST/PUT/DELETE. - Adresy webhooków — nadawca wysyła POST z danymi, których nie możesz zgubić.
- Adresy docelowe formularzy — element
<form>wysyła dane, które muszą dotrzeć pod nowy URL. - Logowanie i uwierzytelnianie przez POST, gdy dane logowania lub tokeny znajdują się w treści.
W przypadku POST 301 może zamienić żądanie na GET i pozostawić treść bez celu; 308 zabrania tej konwersji. Dla PUT i DELETE RFC również nie opisuje zachowania 301 w obie strony, więc nie zgaduj — reguła zachowania metody przez 308 działa niezależnie od wybranej metody.
Przed przełączeniem API, webhooka albo przepływu logowania pamiętaj, że sam kod statusu nie gwarantuje przetrwania wszystkich elementów. Sprawdź to w ramach tej samej zmiany:
- Dane uwierzytelniające, ciasteczka i nagłówki autoryzacji. Żaden z tych kodów niczego tu nie obiecuje; sprawdź prawdziwego klienta, zamiast zakładać, że wszystko przejdzie dalej.
- Zachowanie między originami. Przekierowanie między originami może zmienić to, co wyśle przeglądarka albo klient fetch — zweryfikuj je rzeczywistym wywołaniem, nie tylko ręcznym
curl. - Idempotencja i podwójne skutki uboczne. Jeśli ponowione żądanie nie jest idempotentne (np. webhook tworzący rekord albo płatność POST), ponowienie po przekierowaniu może wykonać operację dwa razy. Dodaj klucz idempotencji lub kontrolę duplikatów.
- Wdrożenie i wycofanie z uwzględnieniem cache. Odpowiedzi 301 i 308 mogą być heurystycznie buforowane, więc klient lub pośrednik, który zapamiętał poprzednią odpowiedź, może używać jej po zmianie kodu. Sprawdź nowego klienta i klienta, który odwiedził adres przed zmianą, oraz przygotuj plan wycofania.
Dlaczego 301 nadal jest pragmatycznym domyślnym wyborem
Dla wszystkiego, co jest zwykłym GET-em — a to większość przekierowań SEO — rozsądnym domyślnym kodem pozostaje 301:
- Zwykłe zmiany adresów stron i przenoszenie treści.
- Zmiany domeny i łączenie witryn.
- Migracje HTTP → HTTPS.
- Ujednolicanie wariantów
www/bezwwworaz adresów z końcowym ukośnikiem.
Dlaczego wybrać starszy kod, skoro 308 jest „bardziej ścisły”? Są trzy praktyczne powody:
- Szersze rozpoznawanie. 301 jest starszy od 308 o dwie dekady i rozpoznaje go ogromna większość przeglądarek, proxy, CDN-ów, crawlerów i narzędzi analitycznych. 308 jest dziś szeroko obsługiwany, ale długa lista starszych klientów i narzędzi brzegowych pozostaje mniej pewna.
- Rzeczywistość narzędzi. Wiele narzędzi domyślnie używa 301/302 albo udostępnia tylko te opcje. Wtyczki przekierowań WordPressa, kreatory reguł Cloudflare i część platform serverless/CDN mogą zwrócić 302/307 niezależnie od tego, co ustawisz.
- Nic nie zyskujesz. Skoro Google i Bing przetwarzają oba kody tak samo pod kątem crawlowania i indeksowania, zwykła strona nie zyskuje nic na mniej uniwersalnym kodzie.
Reguła praktyczna: zwykły GET → 301; zachowywane żądanie inne niż GET → 308.
Jak wdrożyć oba kody
Składnia jest niemal identyczna — zmienia się tylko numer.
Apache (.htaccess)
# 301 — permanent, for a normal page move
Redirect 301 /old-page /new-page
# 308 — permanent + method-preserving, for an API/form endpoint
RewriteEngine On
RewriteRule ^old-api/(.*)$ /new-api/$1 [R=308,L]nginx
# 301
location = /old-page {
return 301 /new-page;
}
# 308 — preserves POST body to the API
location = /old-api {
return 308 /new-api;
}Dotyczy to obu kodów: niektóre CDN-y, platformy edge i wtyczki CMS nie honorują skonfigurowanego 308 i zamiast niego emitują 301/302/307. Jeśli zachowanie metody ma znaczenie, sprawdź rzeczywistą odpowiedź (wykonaj curl i odczytaj wiersz statusu), zamiast ufać konfiguracji. Składnia dyrektyw zmienia się między wersjami serwerów i frameworków, więc sprawdź bieżącą dokumentację.
Dźwignia ważniejsza niż wybór 301 kontra 308: długość łańcucha
Niezależnie od kodu większy wpływ na wydajność ma krótki łańcuch. Google podąża za około 10 przekierowaniami i po tej granicy może zrezygnować; każdy dodatkowy skok zwiększa opóźnienie i ryzyko rozproszenia sygnałów. Jeden czysty skok do końcowego miejsca docelowego jest lepszy niż łańcuch technicznie poprawnych przekierowań.
Gdzie znajduje się ten artykuł
301 i 308 to dwa kody przekierowania stałego, a każdy ma osobne omówienie w tym klastrze obok odpowiedników tymczasowych (302 i jego ścisłego brata 307) oraz drugiego kodu 3xx, czyli 303. Porównania tworzą siatkę: 301 kontra 302 to stałe kontra tymczasowe, 302 kontra 307 to tymczasowa para luźna kontra ścisła, a ten artykuł — 301 kontra 308 — to para stała luźna kontra ścisła. Uważaj też na łańcuchy i pętle przekierowań. Całą rodzinę odpowiedzi serwera opisuje centrum kodów statusu HTTP, a typ przekierowania jest jednym z sygnałów kanonikalizacji omówionych w kanonikalizacji.
Podsumowanie AI
Skrócona wersja wariantu Advanced:
- Oba kody są stałymi przekierowaniami i Google oraz Bing przetwarzają 308 tak jak 301. Dokumentacja Google mówi “equivalent to
301,” (tłumaczenie) „równoważne z 301”, Illyes mówi “we just merge that with 301,” (tłumaczenie) „po prostu łączymy to z 301”, a Canel potwierdza: “Bing treats 308 redirects the same as 301 redirects.” (tłumaczenie) „Bing traktuje przekierowania 308 tak samo jak 301”. - Na poziomie protokołu najważniejsze jest zachowanie metody. 308 (RFC 7538 z 2015 r.) gwarantuje ponowienie tej samej metody pod nowym adresem. 301 pochodzi z epoki HTTP/1.0 i jest niejednoznaczny przede wszystkim w kwestii POST→GET; RFC nie rozstrzyga tak samo PUT ani DELETE.
- Dlaczego istnieje 308: RFC 7231 zdefiniował tymczasowy kod zachowujący metodę (307), ale nie stały. 308 wypełnia lukę — ma się do 301 tak, jak 307 do 302.
- W praktyce liczy się to tylko dla żądań innych niż GET. Zwykły GET jest bezpieczny po 301; ryzyko dotyczy treści POST/PUT/DELETE, formularzy, API, webhooków i logowania.
- Użyj 308, gdy musisz zachować metodę inną niż GET: przy endpointach API, webhookach, adresach formularzy i logowaniu POST.
- W pozostałych przypadkach użyj 301: przy zmianie stron, domeny, HTTPS i wariantów www — to kod starszy, powszechnie rozpoznawany i lepiej obsługiwany przez CDN-y, CMS-y i wtyczki.
- Mit do odrzucenia: 308 nie jest „lepszy dla SEO” i nie ma powodu masowo zmieniać 301 na 308. Wybieraj kod dla poprawności i interoperacyjności, nie dla pozycji.
- Większa dźwignia niż wybór kodu: skracaj łańcuchy; Google podąża za około 10 skokami, więc kieruj od razu do końcowego URL.
Dokumentacja oficjalna
Dokumentacja źródłowa wyszukiwarek i specyfikacji HTTP:
- Kody statusu HTTP, błędy sieci i DNS oraz Google Search — źródło, które określa 308 jako „Equivalent to
301” i wyjaśnia, że kody są semantycznie różne, choć traktowane tak samo. - Przekierowania i Google Search — stwierdzenie, że kody
301i308oznaczają trwałe przeniesienie strony, oraz uwaga o implementacji po stronie serwera. - Zmiany witryny z modyfikacją URL — miejsce przekierowań stałych w migracji.
- Search Off the Record — „Porozmawiajmy o przekierowaniach” — odcinek omawiający typy 307 i 308.
Bing / Microsoft
- Migracja witryny z Bing — wskazówki Binga dotyczące przenoszenia witryn i sygnalizowania stałej zmiany kodem 301.
Specyfikacja i materiały referencyjne
- RFC 7538 — HTTP Status Code 308 (Permanent Redirect) — specyfikacja z 2015 roku, która stworzyła stałe przekierowanie zachowujące metodę.
- MDN — 308 Permanent Redirect — zachowanie metody i treści oraz porównanie z 301.
Cytaty ze źródła
Udokumentowane wypowiedzi Google i Binga. Tam, gdzie pozwala na to strona źródłowa, każdy link prowadzi bezpośrednio do cytowanego fragmentu.
Dokumentacja Google — 308 jest równoważne 301
- “Google follows the redirect, and Google systems use the redirect as a strong signal that the redirect target should be processed.” (tłumaczenie) „Google podąża za przekierowaniem, a systemy Google używają go jako silnego sygnału, że cel powinien zostać przetworzony.” (wiersz 301) — Google Search Central. Przejdź do cytatu
- “Equivalent to
301.” (tłumaczenie) „Równoważne z 301.” (cały wiersz 308) Przejdź do cytatu - “While Google treats these status codes the same way, keep in mind that they’re semantically different. Use the status code that’s appropriate for the redirect so other clients (for example, e-readers, other search engines) may benefit from it.” (tłumaczenie) „Chociaż Google traktuje te kody tak samo, pamiętaj, że różnią się semantycznie. Użyj kodu odpowiedniego dla przekierowania, aby skorzystali z niego inni klienci.” Przejdź do cytatu
Dokumentacja Google — oba kody oznaczają „trwale przeniesiono”
- “The
301and308status codes mean that a page has permanently moved to a new location.” (tłumaczenie) „Kody statusu 301 i 308 oznaczają, że strona została trwale przeniesiona pod nowy adres.” Przejdź do cytatu
Gary Illyes, Google (2021) (za Search Engine Roundtable) — 308 zostaje scalone z 301
- “we just merge that with 301 so we really don’t care iirc.” (tłumaczenie) „po prostu łączymy to z 301, więc naprawdę nas to nie obchodzi”. Omówienie
John Mueller, Google (2018) (za Search Engine Roundtable) — wcześniejsze nieformalne stanowisko
- “If you use it [a 308 redirect] like a 301 we’ll treat it as such.” (tłumaczenie) „Jeśli użyjesz go [przekierowania 308] jak 301, potraktujemy go właśnie tak.” Omówienie
Fabrice Canel, Microsoft Bing (2024) (za Search Engine Roundtable) — zgodność Binga
- “Bing treats 308 redirects the same as 301 redirects.” (tłumaczenie) „Bing traktuje przekierowania 308 tak samo jak 301.” Omówienie
#:~:text= w bieżących stronach i przed uznaniem cytatów za ostateczne trzeba ponownie sprawdzić źródła. Wypowiedzi Illyesa, Muellera i Canela pochodzą z relacji Search Engine Roundtable i również wymagają weryfikacji względem oryginałów. Odcinek Search Off the Record omawia 307/308, ale nie cytujemy go bezpośrednio. Które stałe przekierowanie wybrać: 301 czy 308?
Ponieważ Google i Bing traktują 301 i 308 tak samo podczas crawlowania i indeksowania, ta ścieżka decyzyjna nie dotyczy rankingów. Odpowiedz na jedno pytanie: czy żądanie niesie metodę lub treść, którą trzeba zachować?
301 or 308 — which permanent redirect should I use?
Skrót: zwykły GET → 301; inne niż GET żądanie, które musi zostać zachowane (jeśli stos potrafi je emitować) → 308. Dla SEO oba kody są wymienne, więc decydują kwestie metody i możliwości narzędzi.
Siatka stałości i metody
Wybierz jeden z czterech powszechnych kodów przekierowania według dwóch osi. SEO wynika z pierwszej osi, a zachowanie aplikacji z drugiej.
| Metoda może się zmienić | Metoda musi zostać zachowana | |
|---|---|---|
| Tymczasowe | 302 | 307 |
| Stałe | 301 | 308 |
Podejmuj decyzję w tej kolejności:
- Czy zmiana jest stała? Jeśli nie, zostań w wierszu tymczasowym. Jeśli tak, użyj wiersza stałego, aby miejsce docelowe było właściwym adresem kanonicznym.
- Czy żądanie niesie metodę lub treść, która musi przetrwać? Zwykły
GETstrony nie potrzebuje ścisłej gwarancji. Może jej potrzebowaćPOST,PUT,DELETE, webhook, formularz albo API. - Wybierz pole. Zwykła stała zmiana strony →
301. Stałe przeniesienie endpointu z żądaniem innym niż GET →308. - Sprawdź wyemitowaną odpowiedź. Domyślne ustawienia platformy mogą różnić się od kodu wybranego w interfejsie lub frameworku. Testuj odpowiedź i przekierowane żądanie, nie samą konfigurację.
Siatka celowo upraszcza pytanie SEO: Google i Bing traktują 301 oraz 308 tak samo. Wybierz między nimi dla poprawności HTTP.
301 kontra 308 w skrócie
| Pytanie | 301 Moved Permanently | 308 Permanent Redirect |
|---|---|---|
| Stałość | Stałe | Stałe |
| Traktowanie SEO przez Google/Bing | Ten sam sygnał stały | Ten sam sygnał stały |
| Metoda/treść żądania | Może się zmienić, szczególnie POST → GET | Musi zostać zachowana |
| Najlepsze zastosowanie | Zwykłe strony, domeny, HTTPS, normalizacja URL | API, webhooki, formularze i logowanie z żądaniami innymi niż GET |
| Główna zaleta | Uniwersalne narzędzia i długa historia obsługi | Ścisła gwarancja metody i treści |
| Zły powód wyboru | „301 przekazuje więcej SEO” | „308 daje premię rankingową” |
Reguła praktyczna: stała zmiana zwykłej strony przez GET → 301; stałe przeniesienie endpointu, którego żądanie inne niż GET musi dotrzeć bez zmian → 308.
Narzędzia do weryfikacji stałego przekierowania
Bezpłatne narzędzia Patricka
- Redirect Checker — sprawdź pierwszy status, każdy skok i końcowy adres. Narzędzie ujawni, że platforma zwróciła
301,302albo307, choć skonfigurowano308. - Bulk HTTP Status Code Checker — sprawdź do 500 adresów stron i eksportuj mieszane kody lub łańcuchy podczas migracji.
Sprawdź zachowanie metody, gdy ma to znaczenie
curlz rzeczywistą metodą i bezpiecznym ładunkiem testowym — potwierdź, że przekierowane żądanie nadal jestPOST/PUT/DELETE, a cel otrzymuje treść. Użyj środowiska testowego lub endpointu bez skutków ubocznych.- Logi aplikacji i bramy API — porównaj obsługę metody i treści u źródła i w celu. Checker może potwierdzić
308, ale tylko system odbierający dowodzi, że żądanie dotarło w całości. - Panel Network w DevTools — przydatny dla formularzy, ale klienty API i webhooki testuj osobno, bo zachowanie klienta jest powodem całego rozróżnienia.
Sprawdź się: 301 kontra 308
Pięć pytań o różnicę między tymi stałymi przekierowaniami i ich traktowanie przez wyszukiwarki. Wybierz odpowiedź przy każdym, a potem sprawdź wynik.
Materiały warte uwagi
Moje powiązane teksty
- 11 typów przekierowań i ich wpływ na SEO (Ahrefs, z Joshuą Hardwickiem) — pełne omówienie typów przekierowań. W definicji 308 pada: “the same as a 301 redirect, except it retains the HTTP method of the original request, GET or POST.” (tłumaczenie) „to samo co przekierowanie 301, z wyjątkiem zachowania metody HTTP pierwotnego żądania, GET lub POST”. Wniosek dla tego porównania brzmi: “For SEO purposes, they’re the same, but if you have data being sent through forms, you don’t want to be switching between GET and POST.” (tłumaczenie) „Dla SEO są takie same, ale gdy formularze wysyłają dane, nie chcesz przełączać się między GET i POST”. Hierarchia wdrożeniowa: najpierw 308/301, potem odświeżenie meta/HTTP, a na końcu JavaScript.
- Kody statusu HTTP i ich wpływ na SEO (Ahrefs) — wyjaśnienie, że 308 “has the same functionality as a 301 redirect, except you can’t switch between POST and GET,” (tłumaczenie) „ma tę samą funkcję co przekierowanie 301, z wyjątkiem braku możliwości przełączenia POST i GET” oraz że “308s are treated the same as 301s and consolidate forward.” (tłumaczenie) „Przekierowania 308 są traktowane tak samo jak 301 i konsolidują sygnały”.
- Przewodnik dla początkujących po technicznym SEO — miejsce przekierowań w szerszym obrazie.
Moje wystąpienia
- Patrick Stox on SlideShare i Speaker Deck — moje prelekcje o technicznym SEO, z których kilka omawia przekierowania i kanonikalizację. Obowiązuje stałe zastrzeżenie: “This is my understanding of systems… not going to be 100% complete or accurate.” (tłumaczenie) „To moje rozumienie systemów… nie będzie w 100% kompletne ani dokładne.”
Oficjalne
- Google — kody statusu HTTP i Google Search (308 = „Equivalent to 301”) oraz przewodnik po przekierowaniach.
- RFC 7538 — HTTP Status Code 308 (Permanent Redirect) — dlaczego powstał 308.
- MDN — 308 Permanent Redirect — źródło o zachowaniu metody i treści.
Z branży
- Google oficjalnie traktuje przekierowania 308 jak 301 (Search Engine Roundtable, 2021) — cytat Illyesa “we just merge that with 301” (tłumaczenie) „po prostu łączymy to z 301”.
- Google może traktować przekierowania 308 jak 301 (Search Engine Roundtable, 2018) — wcześniejsze stwierdzenie Muellera „potraktujemy go właśnie tak”.
- Bing traktuje przekierowania 308 tak samo jak 301 (Search Engine Roundtable, 2024) — potwierdzenie Fabrice’a Canela.
- Google obala mity dotyczące typów przekierowań (Search Engine Journal) — używaj technicznie właściwego kodu.
- 308 Permanent Redirect: What It Means & When to Use It (Semrush) — solidny materiał porównawczy.
- r/TechSEO — społeczność zajmująca się debugowaniem przekierowań i kanonikalizacji.
Dziennik zmian
Zaktualizowano 8 sie 2026.
Podsumowanie redakcyjne i zapisane szczegóły zmian.Szczegóły zmian
-
Szczegółowe uwagi dotyczące zmian są obecnie dostępne po angielsku.
Pełne porównanie jest niedostępne — dla tej wersji nie zarchiwizowano wcześniejszej migawki.
Zaktualizowano 17 lip 2026.
Podsumowanie redakcyjne i zapisane szczegóły zmian.Szczegóły zmian
-
Szczegółowe uwagi dotyczące zmian są obecnie dostępne po angielsku.
Pełne porównanie jest niedostępne — dla tej wersji nie zarchiwizowano wcześniejszej migawki.
Try it live
These are real endpoints on this site — not a simulation.
Hit them from the button, open them in a new tab, or
curl -i them from your terminal, and the server answers with the actual status code this article is about.