Strona główna / Baza wiedzy / Narzędzia i integracje / Przekierowanie 301 czy 302: które wybrać i kiedy ma to znaczenie dla SEO

Przekierowanie 301 czy 302: które wybrać i kiedy ma to znaczenie dla SEO

Narzędzia i integracje 6 min czytania Zaktualizowano 13.10.2026
Przekierowanie stałe i tymczasowe, gdzie pasują 303, 307 i 308, meta refresh i przekierowania JavaScript, jak traktuje je Google, łańcuchy i pętle oraz lista kontrolna migracji.

Przekierowanie wysyła odwiedzających i wyszukiwarki z jednego adresu na inny. Dla człowieka wynik wygląda tak samo bez względu na typ. Dla wyszukiwarki typ jest sygnałem: „strona przeniosła się na stałe” albo „strona jest tymczasowo gdzie indziej”. Zły wybór rzadko psuje witrynę z dnia na dzień, ale może spowolnić przeniesienie pozycji na nowy adres i wpłynąć na to, który URL Google pokazuje w wynikach.

301 i 302 — po jednym zdaniu

  • 301 Moved Permanently — starego adresu już nie ma, odtąd używaj nowego. Wyszukiwarki traktują to jako silny sygnał, że indeksowany i kanoniczny ma być adres docelowy.
  • 302 Found (tymczasowe) — treść jest chwilowo pod innym adresem, głównym pozostaje adres pierwotny. Wyszukiwarki zwykle zostawiają w indeksie adres pierwotny.

Zmieniasz URL i nie zamierzasz wracać do starego — użyj 301. Wrócisz (strona konserwacji, krótka promocja, test A/B, chwilowo niedostępny produkt) — 302.

Wszystkie typy przekierowań w jednej tabeli

TypZnaczenieMetoda żądania przy przekierowaniuTypowe zastosowanie
301StałePrzeglądarka może zmienić POST na GETZmiana URL, przeniesienie domeny, HTTP→HTTPS
302TymczasowePrzeglądarka może zmienić POST na GETTymczasowe przeniesienie, routing geograficzny i językowy, testy
303Zobacz innyZawsze GETPo wysłaniu formularza (post/redirect/get)
307TymczasoweMetoda i treść zachowaneTymczasowe przekierowania API i formularzy
308StałeMetoda i treść zachowaneStałe przeniesienie, gdy POST musi pozostać POST
Meta refreshZnacznik HTML, opóźnienie 0 lub więcej—Gdy nie masz dostępu do konfiguracji serwera
JavaScriptwindow.location w skrypcie—Aplikacje jednostronicowe, ostateczność

Dla SEO dokumentacja Google zalicza 301 i 308 do stałych, a 302, 303 i 307 do tymczasowych. Różnica między 301 a 308 (czy 302 a 307) ma znaczenie dla przeglądarek i API, a nie dla pozycji.

O kodzie 307 w przeglądarce
Jeśli strona używa HSTS, po wpisaniu http:// przeglądarka może pokazać „wewnętrzne” 307: sama przechodzi na HTTPS, zanim wyśle żądanie. To nie jest odpowiedź serwera — prawdziwy kod sprawdź narzędziem po stronie serwera.

Jak Google traktuje przekierowania

Google opisuje stałe przekierowania po stronie serwera jako silny sygnał przy wyborze adresu kanonicznego, a tymczasowe jako słaby. W praktyce:

  • Przy 301/308 Google zwykle zastępuje w wynikach stary adres nowym i przenosi na niego sygnały, np. linki.
  • Przy 302/307 Google zwykle jeszcze przez jakiś czas pokazuje stary adres — przecież zadeklarowałeś, że przeniesienie jest tymczasowe.
  • Jeśli 302 działa długo, a adres docelowy wygląda na stałe zastępstwo, Google z czasem może zacząć traktować je jako stałe. Nie warto na tym polegać: jeśli chodzi Ci o „na zawsze”, powiedz to kodem 301.
  • Meta refresh z zerowym opóźnieniem jest zwykle rozumiany jako przekierowanie stałe, z opóźnieniem — jako tymczasowe. Przekierowania JavaScript działają dopiero po wyrenderowaniu strony, co następuje później i mniej niezawodnie. Używaj obu tylko wtedy, gdy przekierowanie serwerowe jest niemożliwe.

Przekierowanie to tylko jeden z sygnałów kanonizacji, obok tagu rel=canonical, linków wewnętrznych i mapy witryny. Dbaj o ich spójność; jak współdziałają, wyjaśnia artykuł o adresie kanonicznym.

Kiedy wybór naprawdę ma znaczenie

  • Migracja strony lub zmiana domeny — zawsze 301 (lub 308). 302 może tu dłużej trzymać stare adresy w wynikach i opóźnić przeniesienie sygnałów.
  • HTTP → HTTPS oraz www ↔ bez www — 301, jedno na adres, od razu na wersję docelową. To decyzje na stałe.
  • Usunięty produkt lub artykuł z bliskim zamiennikiem — 301 na zamiennik. Jeśli prawdziwego odpowiednika nie ma, 404 lub 410 jest uczciwsze niż przekierowanie na stronę główną, które Google i tak może uznać za „miękki 404”.
  • Strony sezonowe lub produkty, które wrócą — 302, a jeszcze lepiej pozostawienie strony z informacją.
  • Wykrywanie języka lub kraju — tymczasowe przekierowania są częste, ale nie odsyłaj na siłę robotów wyszukiwarek od wersji językowych; łącz wersje za pomocą hreflang.

Łańcuchy i pętle

Łańcuch to przekierowanie prowadzące do kolejnego przekierowania: http://example.com/page → https://example.com/page → https://www.example.com/page → https://www.example.com/new-page. Każdy krok to dodatkowa runda żądania dla odwiedzającego. Google przechodzi ograniczoną liczbę kroków (dokumentacja wspomina o maksymalnie 10) i przy długim łańcuchu może zatrzymać się przed końcem. Rozwiązanie: każdy stary adres kieruje od razu na docelowy, a linki wewnętrzne są zaktualizowane do niego.

Pętla to łańcuch wracający do punktu wyjścia: A → B → A. Przeglądarka zatrzymuje się z błędem „zbyt wiele przekierowań” i strona jest niedostępna dla wszystkich, łącznie z robotami. Pętle zwykle powstają, gdy dwie reguły sobie przeczą — np. CDN wymusza HTTP, a serwer wymusza HTTPS.

Jak skonfigurować 301

Przekierowania ustawia się na serwerze lub w CMS, a nie w kodzie strony. Dla dwóch najpopularniejszych serwerów WWW:

# Apache (.htaccess)
Redirect 301 /old-page/ https://example.com/new-page/

# Nginx
location = /old-page/ { return 301 https://example.com/new-page/; }

W WordPressie i większości innych CMS to samo zrobi wtyczka do przekierowań lub wbudowany menedżer przekierowań — bez edycji plików serwera. Jeśli strona działa za CDN, jego reguły przekierowań wykonują się, zanim żądanie dotrze do Twojego serwera: wygodne, ale pamiętaj o nich przy debugowaniu. Przy przenoszeniu całej domeny kieruj każdą ścieżkę na tę samą ścieżkę w nowej domenie, a nie wszystko na stronę główną. Bez względu na metodę sprawdź wynik z zewnątrz: literówka w regule może po cichu zwracać 302, utworzyć pętlę lub przekierować podstrony, których nie zamierzałeś ruszać.

Jak sprawdzić przekierowanie

Nie ufaj paskowi adresu: przeglądarki agresywnie zapamiętują 301, więc po zmianie reguły możesz jeszcze długo widzieć stare zachowanie. Sprawdzaj po stronie serwera:

  • Sprawdzanie przekierowań przechodzi cały łańcuch i pokazuje każdy krok z kodem — widać 302 tam, gdzie oczekiwano 301, zbędne kroki i pętle.
  • Sprawdzenie kodu odpowiedzi pokazuje dokładny kod pojedynczego adresu i jego punkt docelowy.
  • Z terminala: curl -I https://example.com/old-page wyświetli kod i nagłówek Location.

Krok po kroku o czytaniu łańcuchów i szukaniu ich źródeł — w artykule jak sprawdzić przekierowania i łańcuchy przekierowań.

Lista kontrolna migracji

  1. Wyeksportuj pełną listę starych adresów: z crawlera, mapy witryny, analityki i Search Console (najpierw strony z ruchem i linkami zwrotnymi).
  2. Przypisz każdemu staremu adresowi najbliższy nowy, jeden do jednego. Nie kieruj wszystkiego na stronę główną.
  3. Skonfiguruj przekierowania 301 na serwerze, a nie przez meta refresh czy JavaScript.
  4. Łącz zmianę protokołu, hosta i ścieżki w jeden krok, gdzie to możliwe.
  5. Zaktualizuj linki wewnętrzne, canonical, hreflang i mapę witryny do nowych adresów — niech przekierowania obsługują tylko linki zewnętrzne i zakładki.
  6. Sprawdź próbkę starych adresów (także z parametrami i ukośnikiem na końcu) narzędziem do przekierowań przed startem i zaraz po nim.
  7. Przy zmianie domeny użyj narzędzia „Zmiana adresu” w Google Search Console i utrzymuj przekierowania długo — Google zaleca co najmniej rok.
  8. Obserwuj w Search Console błędy 404 i błędy przekierowań w kolejnych tygodniach.

Częste pytania

Którego przekierowania użyć: 301 czy 302?
301, gdy przeniesienie jest stałe i nie wrócisz do starego adresu: zmiana URL, przeniesienie domeny, HTTP na HTTPS. 302 w naprawdę tymczasowych sytuacjach: strona konserwacji, krótka promocja, test.
Czy przekierowanie 301 obniża pozycje?
Google deklaruje, że przekierowania stałe przekazują sygnały na adres docelowy i same w sobie nie powodują utraty PageRank. Pozycje podczas migracji mogą jednak się wahać, dopóki Google ponownie nie przeskanuje i nie przetworzy witryny.
Czym różni się 301 od 308?
Oba są stałe. Przy 308 przeglądarka musi powtórzyć żądanie tą samą metodą i z tą samą treścią, więc POST zostaje POST; przy 301 przeglądarka może przejść na GET. Dla SEO Google traktuje je tak samo.
Co się stanie, jeśli 302 zostanie na długo?
Google z czasem może zacząć traktować je jako stałe, jeśli adres docelowy wygląda na trwałe zastępstwo, ale nie jest to gwarantowane. Jeśli przeniesienie jest stałe, zmień je na 301.
Ile przekierowań w łańcuchu to za dużo?
Dąż do jednego kroku. Google przechodzi ograniczoną liczbę przekierowań, a każdy dodatkowy krok spowalnia odwiedzających, więc kieruj stare adresy od razu na docelowy.
Czy artykuł był pomocny?
Wypróbuj na swoim projekcie Wszystko, co opisano w artykule, jest dostępne w panelu — bonus przy rejestracji już na saldzie.
Open dashboard