Przekierowania HTTP: kompletny poradnik SEO (301, 302, 307, 308)

Przekierowania to fundament technicznego SEO — i jeden z najczęściej błędnie konfigurowanych elementów witryny. Wybór niewłaściwego typu przekierowania może kosztować Cię utratę autorytetu linkowego, zdezorientowanie robotów indeksujących lub niezamierzone duplikowanie treści. Ten poradnik omawia wszystkie typy przekierowań HTTP — 301, 302, 307, 308 i meta refresh — kiedy stosować każdy z nich, jak je poprawnie skonfigurować i jakich błędów unikać.
Przekierowanie 301 przekazuje 90–99% autorytetu linkowego — ale tylko jeśli jest prawidłowo skonfigurowane i nie tworzy łańcuchów przekierowań.

Czym jest przekierowanie HTTP?
Przekierowanie HTTP to instrukcja serwera informująca przeglądarkę lub robota wyszukiwarki: „ten zasób znajduje się pod innym adresem”. Serwer odpowiada kodem statusu 3xx i nowym URL w nagłówku Location. Przeglądarka lub bot automatycznie przechodzi na nowy adres.
Przekierowania stosuje się przy: zmianie struktury URL, migracji na nową domenę, usuwaniu przestarzałych stron, przejściu z HTTP na HTTPS, scalaniu dwóch witryn po rebrandingu.
Przekierowanie 301 — stałe
301 to najważniejszy typ przekierowania dla SEO. Oznacza trwałe przeniesienie zasobu. Gdy Google otrzymuje ten sygnał:
- Aktualizuje swój indeks — zastępuje stary URL nowym
- Przenosi zgromadzony autorytet linkowy (PageRank) na nową stronę
- Po pewnym czasie przestaje indeksować stary URL
Transfer autorytetu linkowego: według Google — od 90% do 99%. Straty są minimalne. Dlatego 301 jest standardem dla każdej stałej migracji URL.
Przekierowanie 302 — tymczasowe
302 sygnalizuje tymczasowe przeniesienie. Google interpretuje to jako: „oryginalny URL jest nadal aktywny, chwilowo wskazuje gdzie indziej”. Konsekwencje:
- Stary URL pozostaje w indeksie Google
- Autorytet linkowy nie jest przekazywany na nowy URL
- Teksty kotwicy zewnętrznych linków pozostają powiązane ze starym URL
Kiedy 302 jest właściwe: testy A/B, tymczasowe przekierowanie podczas prac technicznych, tymczasowy geotargeting.
Przekierowania 307 i 308
307 — Temporary Redirect (HTTP/1.1)
Funkcjonalnie odpowiednik 302, z ważną różnicą: zachowuje metodę żądania HTTP. Jeśli klient wysłał żądanie POST, po 307 ponownie wysyła POST (a nie GET jak przy 302). Istotne dla API i formularzy. Z perspektywy SEO odpowiednik 302.
308 — Permanent Redirect (HTTP/1.1)
Stały odpowiednik 307. Zachowuje metodę żądania i przekazuje autorytet jak 301. Obsługiwany przez nowoczesne przeglądarki, ale rzadziej stosowany. Dla zwykłych stron internetowych 301 pozostaje lepszym wyborem.
Meta Refresh — dlaczego należy go unikać
Meta refresh to tag HTML w sekcji <head>: <meta http-equiv="refresh" content="0; url=/nowy-url">. Technicznie nie jest to przekierowanie HTTP — to instrukcja dla przeglądarki na poziomie HTML. Problemy SEO:
- Wolne przetwarzanie przez roboty wyszukiwarek
- Słabe przekazywanie autorytetu (znacznie gorsze niż 301)
- Opóźnienie widoczne dla użytkownika (jeśli content > 0)
- Nie wszystkie boty prawidłowo go obsługują
Używaj meta refresh tylko gdy nie masz dostępu do konfiguracji serwera.
Kiedy stosować poszczególne typy przekierowań
- 301 — stała zmiana URL, migracja domeny, przejście na HTTPS, scalanie stron, przebudowa struktury
- 302 — tymczasowa niedostępność, test A/B, tymczasowy geotargeting
- 307 — tymczasowe przekierowanie wymagające zachowania metody HTTP (API)
- 308 — stałe przekierowanie wymagające zachowania metody HTTP (rzadko)
- Meta refresh — tylko gdy brak dostępu do serwera
Jak skonfigurować przekierowanie 301
Apache (.htaccess)
Najpopularniejsza metoda na hostingach Apache:
RewriteEngine On
RewriteRule ^stara-strona/?$ /nowa-strona/ [R=301,L]Dla całej domeny (migracja domeny):
RewriteCond %{HTTP_HOST} ^stara-domena\.pl [NC]
RewriteRule ^(.*)$ https://nowa-domena.pl/$1 [R=301,L]nginx
W bloku server pliku nginx.conf:
location = /stara-strona/ {
return 301 /nowa-strona/;
}WordPress (bez wtyczki)
Dodaj do functions.php:
add_action('template_redirect', function() {
if (is_page('stara-strona')) {
wp_redirect('/nowa-strona/', 301);
exit;
}
});WordPress (z wtyczką)
Wtyczka Redirection (bezpłatna, ponad 2 mln instalacji) umożliwia zarządzanie przekierowaniami z panelu WordPress bez dostępu do plików serwera. Obsługuje regex, 301/302/307/308 i prowadzi log żądań.
Typowe błędy przy przekierowaniach
Łańcuchy przekierowań
Powstają gdy URL-A → URL-B → URL-C → URL-D. Każdy dodatkowy skok:
- Zwiększa czas ładowania (~200–300ms na skok)
- Marnuje crawl budget
- Może redukować autorytet linkowy na każdym etapie
Rozwiązanie: zawsze przekierowuj bezpośrednio z A do docelowego URL-D. Podczas audytu sprawdzaj wszystkie łańcuchy za pomocą Screaming Frog.
Pętle przekierowań
URL-A → URL-B → URL-A — nieskończona pętla. Przeglądarka zwróci błąd „Too Many Redirects” (ERR_TOO_MANY_REDIRECTS). Typowe przyczyny: sprzeczne reguły w .htaccess lub konflikty wtyczek WordPress.
Użycie 302 zamiast 301
Najczęstszy błąd. Jeśli strona jest trwale usunięta i ustawione jest 302 — Google nadal zachowuje stary URL w indeksie, a nowy URL nie otrzymuje autorytetu. Sprawdź typ przekierowania przez curl:
curl -I https://twojadomena.pl/stara-strona/Wpływ przekierowań na SEO
Transfer PageRank
Przekierowanie 301 przekazuje zgromadzony PageRank niemal w całości. Kluczowe słowo to „zgromadzony”. Jeśli stary URL nie miał żadnych linków przychodzących — przekierowanie nie stworzy autorytetu dla nowego. Jedynie zachowuje istniejący.
Crawl budget
Googlebot zużywa zasoby na podążanie za łańcuchami przekierowań. Na dużych serwisach (10 000+ URL) nieprawidłowe łańcuchy mogą znacznie obniżyć częstotliwość indeksowania ważnych stron. Upraszczaj łańcuchy i usuwaj przestarzałe przekierowania.
Czas do indeksacji
Po ustawieniu 301 Google może zaktualizować indeks od 2 dni do 6 tygodni, w zależności od częstotliwości indeksowania domeny. Możesz przyspieszyć ten proces przez Google Search Console: Inspekcja URL → Poproś o indeksowanie.
Audyt przekierowań
- Google Search Console: Pokrycie → Wykluczone → znajdź „Błąd przekierowania”
- Screaming Frog SEO Spider: bezpłatnie do 500 URL. Reports → Redirects → Full Redirect Chain
- Ahrefs Site Audit: automatycznie wykrywa łańcuchy 3xx i pętle
- httpstatus.io: narzędzie online do sprawdzania pojedynczego URL
- curl:
curl -I --location URLpokazuje wszystkie skoki w łańcuchu
Checklista konfiguracji przekierowań
- Określono typ przekierowania dla każdego URL (stałe lub tymczasowe)
- Dla stałych przeniesień użyto 301, a nie 302
- Potwierdzono brak łańcuchów przekierowań (A→B→C — naprawiono na A→C)
- Potwierdzono brak pętli przekierowań (ERR_TOO_MANY_REDIRECTS)
- Przekierowanie HTTPS skonfigurowano na poziomie serwera (nie przez meta refresh)
- Wszystkie stare URL po migracji mają 301 do nowych URL
- sitemap.xml zaktualizowano — zawiera tylko docelowe URL (bez przekierowań)
- Linki wewnętrzne zaktualizowano — prowadzą bezpośrednio do docelowych URL
- Google Search Console: Pokrycie → sprawdzono błędy przekierowań
- Screaming Frog: pełny audyt łańcuchów wykonany
- Status HTTP każdego przekierowania zweryfikowany przez curl lub httpstatus.io
- Zaplanowano monitorowanie pozycji po migracji (tygodnie 2, 4, 8)
Najczęściej zadawane pytania
Jaka jest różnica między przekierowaniem 301 a 302?
Przekierowanie 301 jest stałe — przekazuje 90–99% autorytetu linkowego na nowy URL i informuje Google o trwałej zmianie. Przekierowanie 302 jest tymczasowe — Google zachowuje oryginalny URL w indeksie i nie przenosi autorytetu. Jeśli przenosisz treść na stałe, zawsze używaj 301.
Ile autorytetu linkowego przekazuje przekierowanie 301?
Według Google i niezależnych badań, przekierowanie 301 przekazuje od 90% do 99% autorytetu linkowego. Strata jest minimalna w porównaniu z bezpośrednim URL. Przekierowania 302 i meta refresh przekazują znacznie mniej, dlatego 301 jest standardem przy stałych zmianach URL.
Czym jest łańcuch przekierowań i dlaczego jest szkodliwy?
Łańcuch przekierowań to sytuacja, w której URL-A przekierowuje do URL-B, który przekierowuje do URL-C i tak dalej. Każdy dodatkowy skok zwiększa czas ładowania, marnuje crawl budget i może redukować autorytet na każdym etapie. Google zaleca nie więcej niż 1–2 przekierowania w łańcuchu. Najlepsza praktyka: zawsze kieruj bezpośrednio do docelowego URL.
Jak sprawdzić przekierowania na stronie?
Najszybciej przez Google Search Console: Pokrycie → Wykluczone → szukaj błędów przekierowań. Do pełnego audytu użyj Screaming Frog SEO Spider (bezpłatnie do 500 URL): Reports → Redirects → Full Redirect Chain. Możesz też skorzystać z httpstatus.io lub polecenia curl -I w terminalu.
Czy mogę użyć przekierowania 302 zamiast 301?
Tylko jeśli zmiana URL jest naprawdę tymczasowa — na przykład podczas prac technicznych lub testu A/B. W pozostałych przypadkach zawsze używaj 301. Błędne zastosowanie 302 przy stałej migracji powoduje, że Google zachowuje stary URL w indeksie, a nowy nie dziedziczy żadnego autorytetu linkowego.
Potrzebujesz audytu przekierowań lub wsparcia technicznego SEO przy migracji strony? Spilno Agency identyfikuje problemy z łańcuchami przekierowań i wdraża czyste techniczne SEO.
Tutaj pojawią się Twoje komentarze
Dołącz do dyskusji — rejestracja zajmie chwilę.
Zarejestruj sięMasz już konto? Zaloguj się


