Techniczne 28 marca 2026 8 min czytania

Przekierowania 301 i 302: różnice i wpływ na SEO

Przekierowanie HTTP to nie tylko sprawa techniczna. Zły wybór między 301 a 302 może kosztować pozycje w Google. Sprawdź, kiedy używać którego kodu i jak analizować łańcuchy przekierowań.

#przekierowania #301 #302 #SEO techniczne #HTTP #redirect
Spis treści

Przekierowania HTTP są na tyle powszechne, że łatwo je traktować jako detal. Ale błędne użycie 301 zamiast 302 (lub odwrotnie) może zabrać stronie link juice i pozycje w Google. Warto wiedzieć, czym się różnią i kiedy używać którego.

Co to jest przekierowanie HTTP?

Przekierowanie HTTP to odpowiedź serwera, która informuje przeglądarkę (i robota Google): “Ten zasób jest teraz dostępny pod innym adresem URL”. Przeglądarka automatycznie pobiera stronę z nowego adresu.

Przekierowania dzielą się na trwałe i tymczasowe. Ta różnica jest kluczowa z perspektywy SEO.

Kod 301: stałe przeniesienie

Przekierowanie 301 (Moved Permanently) mówi: “Ta strona trwale przeniosła się pod nowy adres. Zaktualizuj swoje zakładki i linki”.

Co to oznacza dla Google:

  • Google usuwa stary URL z indeksu i zastępuje go nowym
  • “moc linków” (link equity, PageRank) z linków zewnętrznych wskazujących na stary URL jest przekazywana do nowego
  • Googlebot aktualizuje swoją mapę witryny

Kiedy użyć 301?

  • Migracja domeny (stara-domena.pl przechodzi na nowa-domena.pl)
  • Wymuś HTTPS: http://example.com przekierowuje na https://example.com
  • Wybór kanonicznej wersji domeny: www.example.com przekierowuje na example.com (lub odwrotnie)
  • Usunięcie strony, której treść przeniosłeś na inną podstronę
  • Zmiana struktury URL (np. /produkt/nazwa zmienia się na /sklep/kategoria/nazwa)

Kod 302: tymczasowe przeniesienie

Przekierowanie 302 (Found) mówi: “Ten zasób jest chwilowo dostępny pod innym adresem, ale wróci tutaj”.

Co to oznacza dla Google:

  • Google zachowuje stary URL w indeksie (nie zastępuje go nowym)
  • Link equity nie jest przekazywana do nowego URL (lub jest przekazywana częściowo, zależy od interpretacji Google)
  • Googlebot nadal regularnie sprawdza stary URL

Kiedy użyć 302?

  • A/B testy: chcesz czasowo przenieść ruch na wariant B
  • Geolokalizacja: użytkownik z Polski jest tymczasowo przekierowywany na wersję polskojęzyczną
  • Maintenance: strona jest chwilowo niedostępna, użytkownik trafia na page “będziemy z powrotem wkrótce”
  • Testowanie nowego layoutu bez wpływu na SEO starego URL

Kod 307 i 308: HTTP method-safe redirects

Kody 307 (Temporary Redirect) i 308 (Permanent Redirect) działają podobnie do 302 i 301, ale z jedną różnicą: zachowują metodę HTTP żądania.

Praktycznie: jeśli formularz wysyła POST na stary URL, przekierowanie 302 sprawi, że przeglądarka wykona GET na nowy URL (tak działa większość przeglądarek). Przekierowanie 307 zachowuje POST.

W kontekście SEO 308 jest funkcjonalnym odpowiednikiem 301 dla aplikacji, które obsługują metody inne niż GET.

Łańcuchy przekierowań i pętle

Łańcuch

Łańcuch przekierowań to sytuacja, gdy A przekierowuje na B, B na C, C na D. Każdy dodatkowy hop:

  • wydłuża czas ładowania strony
  • osłabia przekazywanie link equity (chociaż Google twierdzi, że śledzi łańcuchy, wartość maleje z każdym skokiem)
  • może prowadzić do przekroczenia limitu przekierowań przez Googlebota

Zalecenie: maksymalnie 2 hopy. Jeśli masz więcej, zaktualizuj konfigurację, żeby A wskazywało bezpośrednio na D.

Pętla

Pętla to sytuacja, gdy A przekierowuje na B, a B na A. Przeglądarka wykryje ją po kilku skokach i wyświetli błąd “ERR_TOO_MANY_REDIRECTS”. Googlebot też nie zaindeksuje takich stron.

Pętle najczęściej pojawiają się po błędnej konfiguracji HTTPS (np. reguła .htaccess wymusza HTTPS, ale certyfikat nie jest skonfigurowany na serwerze i to powoduje kolejne przekierowanie).

Jak sprawdzić łańcuch przekierowań?

Możesz to zrobić manualnie poleceniem curl:

curl -I -L "https://example.com/stara-strona"

Flaga -I pobiera tylko nagłówki, -L podąża za przekierowaniami. W odpowiedzi zobaczysz każdy skok z kodem statusu i nowym adresem.

Szybsza opcja bez terminala: Redirect Checker w RankVoyager pokazuje pełny łańcuch przekierowań z kodami statusu, czasem TTFB każdego skoku i adresem finalnym. Działa bez rejestracji.

Przekierowania a HTTP/2 i HTTP/3

W HTTP/2 i HTTP/3 serwer może zepchnąć zasoby do klienta (server push) zanim klient je zażąda. Przekierowania są jednak nadal obsługiwane tak samo jak w HTTP/1.1: serwer zwraca nagłówek Location z nowym adresem.

Jedyną różnicą jest overhead: jedno przekierowanie HTTP/3 jest szybsze niż HTTP/1.1 ze względu na brak handshake przy pierwszym połączeniu. Ale to nie zmienia faktu, że każdy dodatkowy skok wydłuża czas ładowania.

Debugowanie problemów z przekierowaniami

Najczęstsze problemy, z którymi trafiają do mnie klienci:

Niespójne przekierowanie www/non-www: example.com działa, ale www.example.com albo nie przekierowuje, albo przekierowuje przez kilka skoków. Efekt: dwa odrębne URL-e w oczach Google, ryzyko duplikacji treści.

HTTP nie przekierowuje na HTTPS: strona jest dostępna zarówno po HTTP jak i HTTPS, bez przekierowania. Google widzi dwa zestawy URL-i z identyczną treścią.

Przekierowanie na URL z trailing slash: example.com/strona przekierowuje na example.com/strona/ (lub odwrotnie). To jeden skok, ale jeśli linki zewnętrzne wskazują na wersję bez slash i musisz je “przepuścić” przez redirect, tracisz trochę link equity.

Do szybkiego audytu całej listy URL-i używaj Redirect Checkera. Wklej adres i od razu zobaczysz, gdzie jest problem.

Zespół RankVoyager

Monitoring SEO i dostępności stron internetowych

Przetestuj RankVoyager za darmo

Dodaj swoją stronę i w kilka minut sprawdź, co działa, a co wymaga poprawy.

Zacznij za darmo