308 Permanent Redirect to kod odpowiedzi HTTP oznaczający trwałe przeniesienie zasobu pod nowy adres URL, przy zachowaniu oryginalnej metody żądania (np. POST pozostaje POST). Różni się tym od klasycznego przekierowania 301, które mogło zmienić metodę żądania na GET. Kod 308 standaryzowany jest przez RFC 7538 i stosowany wszędzie tam, gdzie integralność metody HTTP ma znaczenie — np. w formularzach i API.
- 308 trwale przenosi zasób i każe klientowi zapamiętać nowy adres.
- Metoda żądania HTTP (GET, POST, PUT) jest zachowywana — to główna różnica wobec 301.
- Google traktuje 308 tak samo jak 301: przekazuje sygnały rankingowe (link equity) do nowego URL.
- Stosowany głównie w API REST i formularzach, rzadziej w klasycznym SEO.
Jak 308 Permanent Redirect działa w praktyce
Gdy serwer zwraca kod 308, informuje przeglądarkę lub klienta HTTP, że zasób trwale zmienił adres — i że przy każdym kolejnym żądaniu należy używać nowego URL. Przeglądarka powinna zaktualizować zakładki, a wyszukiwarki — zaindeksować nowy adres.
Czym 308 różni się od 301?
Podstawowa różnica między 308 a 301 dotyczy zachowania metody HTTP podczas przekierowania. Kod 301 historycznie pozwalał przeglądarkom na zmianę metody żądania z POST na GET — co w praktyce oznaczało, że dane formularza mogły zostać utracone. Kod 308 tej zmiany nie dopuszcza: jeśli klient wysłał żądanie POST, po przekierowaniu również wykona POST do nowego adresu.
| Cecha | 301 Moved Permanently | 308 Permanent Redirect |
|---|---|---|
| Charakter przekierowania | Trwałe | Trwałe |
| Zachowanie metody HTTP | Może zmienić POST→GET | Zachowuje oryginalną metodę |
| Przekazanie link equity (SEO) | Tak | Tak |
| Standard | RFC 7231 | RFC 7538 (2015) |
| Typowe zastosowanie | Migracje stron, zmiany URL | API REST, formularze, migracje |
Kiedy stosuje się 308 zamiast 301?
Kod 308 jest szczególnie przydatny w sytuacjach, gdy aplikacja wysyła żądania inne niż GET — przede wszystkim w API REST oraz przy przesyłaniu danych formularzem metodą POST. Klasyczny przykład: endpoint API zmienia adres z https://api.przyklad.pl/v1/dane na https://api.przyklad.pl/v2/dane. Użycie 308 gwarantuje, że aplikacja kliencka powtórzy żądanie POST (wraz z treścią) pod nowym adresem, zamiast wykonać bezużyteczny GET. W kontekście zwykłych stron WWW, gdzie dominują żądania GET, różnica między 308 a 301 jest praktycznie niewidoczna dla użytkownika.
Jak skonfigurować 308 na serwerze?
Konfiguracja zależy od środowiska serwerowego. Na serwerze Apache wystarczy wpis w pliku .htaccess:
Redirect 308 /stara-strona https://domena.pl/nowa-strona
W Nginx można użyć dyrektywy return 308 https://domena.pl/nowa-strona; wewnątrz bloku location. W środowiskach opartych na PHP lub Node.js przekierowanie ustawia się w nagłówkach odpowiedzi: header("Location: nowy-url", true, 308);. Warto sprawdzić poprawność konfiguracji narzędziami takimi jak curl lub Google Search Console.
Znaczenie 308 dla SEO i widoczności
Z punktu widzenia pozycjonowania stron, kod 308 działa identycznie jak dobrze znany 301 — przekazuje moc linków (link equity) do nowego URL i sygnalizuje Googlebotowi, że zmiana adresu jest trwała. Google oficjalnie potwierdziło, że traktuje 308 na równi z 301 przy konsolidacji sygnałów rankingowych.
Praktyczne znaczenie dla SEO:
- Googlebot zapamiętuje nowy URL i stopniowo przestaje indeksować stary adres.
- PageRank (moc linków) jest przekazywana do nowego URL — nie tracisz wypracowanych pozycji przy migracji.
- Błędna konfiguracja (np. użycie 307 zamiast 308 przy trwałej zmianie) sprawia, że Googlebot nie aktualizuje indeksu na stałe.
- Łańcuchy przekierowań (A→B→C) spowalniają crawl i rozpraszają link equity — warto je spłaszczać do jednego skoku.
Jeśli prowadzisz audyt SEO strony, weryfikacja konfiguracji przekierowań powinna być jednym z pierwszych elementów do sprawdzenia. Błędy na poziomie kodów HTTP potrafią blokować indeksowanie całych sekcji witryny.
FAQ — najczęstsze pytania o 308 Permanent Redirect
Czy 308 jest lepszy od 301 w SEO?
Dla typowych witryn opartych na żądaniach GET nie ma praktycznej różnicy w zakresie SEO — Google przekazuje link equity w obu przypadkach. Kod 308 jest lepszym wyborem technicznie, gdy zależy Ci na zachowaniu metody HTTP (np. w API lub formularzach), natomiast w standardowym pozycjonowaniu stron informacyjnych czy sklepów 301 pozostaje najpowszechniejszym standardem.
Jak sprawdzić, czy przekierowanie 308 działa poprawnie?
Najprostszym narzędziem jest polecenie curl -I https://twoja-domena.pl/stary-url w terminalu — zwróci ono nagłówki odpowiedzi z kodem statusu. Możesz też skorzystać z narzędzi online, takich jak Redirect Checker lub zakładka „Inspekcja URL” w Google Search Console, która pokaże, jak Googlebot widzi dany adres.
Co się stanie, jeśli użyję 307 zamiast 308?
Kod 307 (Temporary Redirect) działa analogicznie do 308 pod względem zachowania metody HTTP, jednak sygnalizuje przekierowanie tymczasowe. Wyszukiwarki nie będą na stałe przenosić indeksowania ani link equity na nowy URL. Stosowanie 307 przy trwałych zmianach adresów to częsty błąd skutkujący długotrwałą utratą widoczności w Google.
Czy wszystkie przeglądarki obsługują 308?
Współczesne przeglądarki (Chrome, Firefox, Edge, Safari) obsługują 308 bez problemów. Standard RFC 7538 opublikowano w 2015 roku i od tamtej pory wsparcie jest powszechne. Jedynym obszarem ryzyka mogą być starsze klienty HTTP w środowiskach korporacyjnych lub niestandardowe implementacje API — warto to weryfikować przy wdrożeniach w specyficznych środowiskach.
Właściwy kod HTTP to fundament technicznego SEO
Kod 308 jest niszowym, ale precyzyjnym narzędziem w arsenale każdego specjalisty od technicznego SEO i architektury aplikacji webowych. Jego właściwe zastosowanie — zwłaszcza przy migracjach i budowie API — chroni przed utratą wypracowanych pozycji i zapewnia poprawne działanie formularzy. Jeśli planujesz migrację domeny, redesign serwisu lub chcesz sprawdzić, czy przekierowania na Twojej stronie są skonfigurowane prawidłowo, zespół Webiti chętnie przeprowadzi szczegółowy przegląd techniczny.










