Przekierowania 301 i 302 - praktyczny przewodnik

Zmieniasz adresy podstron, domenę albo przenosisz stronę na HTTPS? Bez poprawnych przekierowań stracisz ruch i pozycje. Wyjaśniamy różnicę między 301 a 302, pokazujemy jak zrobić przekierowania w .htaccess, WordPressie i panelu hostingu - oraz najczęstsze błędy.

Czym jest przekierowanie i kiedy go potrzebujesz?

Przekierowanie to instrukcja serwera: „tej strony już tu nie ma - idź pod nowy adres". Przeglądarka użytkownika trafia we właściwe miejsce automatycznie, a wyszukiwarka dowiaduje się, co zrobić z dotychczasowym adresem w indeksie. Typowe sytuacje, w których przekierowania są obowiązkowe:

  • zmiana adresów podstron (nowe permalinki, reorganizacja kategorii);
  • przejście z http:// na https:// oraz ujednolicenie www/bez-www;
  • zmiana domeny firmy;
  • usunięcie produktu/wpisu, który miał ruch z Google;
  • krótkie adresy promocyjne (twojafirma.pl/promocja → długi adres docelowy).

301 czy 302 - kluczowa różnica

301 (Moved Permanently) - przeniesienie trwałe. Mówi Google: „stary adres znika na zawsze, przenieś jego pozycje i moc linków na nowy". Wyszukiwarka z czasem podmienia adres w indeksie. To właściwy wybór w 95% przypadków: zmiana adresów, domeny, HTTPS.

302 (Found / tymczasowe) - przeniesienie chwilowe. Mówi: „stary adres wróci, nie zmieniaj indeksu". Zastosowania: strona w przebudowie kierująca na tymczasową, testy A/B, sezonowe przekierowanie kategorii na landing promocji.

Najczęstszy błąd: użycie 302 tam, gdzie zmiana jest trwała - Google dłużej trzyma w indeksie stary adres i wolniej przekazuje sygnały na nowy. Współcześnie Google traktuje długo utrzymywane 302 jak 301, ale nie warto na to liczyć - wybieraj świadomie.

Sposób 1: Plik .htaccess (Apache/LiteSpeed) - uniwersalny

Na hostingu współdzielonym z Apache lub LiteSpeed przekierowania dopisujesz do pliku .htaccess w katalogu głównym strony. Przykłady najczęstszych scenariuszy:

Pojedyncza podstrona:

Redirect 301 /stara-strona /nowa-strona

Wymuszenie HTTPS (całość ruchu):

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ujednolicenie na wersję bez www:

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]

RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

Zmiana domeny (cała strona 1:1):

RewriteCond %{HTTP_HOST} ^(www\.)?staradomena\.pl$ [NC]

RewriteRule ^(.*)$ https://nowadomena.pl/$1 [L,R=301]

Uwaga praktyczna: przed edycją zrób kopię pliku - literówka w .htaccess potrafi położyć stronę błędem 500 (jak to zdiagnozować, pisaliśmy w artykule o błędach HTTP na blogu). Edytujesz wygodnie przez Menedżer plików w DirectAdmin.

Sposób 2: Wtyczka w WordPressie - wygodny dla nietechnicznych

Wtyczka Redirection (darmowa) daje panel zarządzania przekierowaniami: dodajesz stary i nowy adres, wybierasz kod, gotowe. Bonusy, za które ją kochamy:

  • log błędów 404 - widzisz, jakich nieistniejących adresów szukają ludzie i roboty, i jednym kliknięciem tworzysz przekierowanie;
  • automatyczne przekierowania przy zmianie sluga wpisu;
  • obsługa wyrażeń regularnych dla masowych reguł.

Wtyczki SEO (Rank Math, Yoast Premium) mają własne moduły przekierowań - nie łącz dwóch systemów naraz, wybierz jeden.

Sposób 3: Panel hostingu / strefa DNS

W DirectAdmin przekierowania całych domen ustawisz w sekcji Przekierowania URL - wygodne np. dla domen zapasowych (twojafirma.com.pl → twojafirma.pl) bez grzebania w plikach. Pamiętaj: przekierowanie domeny to co innego niż rekord DNS - DNS kieruje na serwer, przekierowanie HTTP robi dopiero serwer (więcej o tym rozróżnieniu: jak przekierować domenę).

Dobre praktyki i pułapki

  1. Przekierowuj 1:1 - stary artykuł na odpowiadający mu nowy, nie wszystko hurtem na stronę główną (Google traktuje masowe przekierowania na główną jak miękkie 404 i nie przekazuje pozycji).
  2. Unikaj łańcuchów - A→B→C→D spowalnia i gubi sygnały; po zmianach zaktualizuj stare reguły tak, by każda prowadziła bezpośrednio do celu.
  3. Uważaj na pętle - przekierowanie A→B i B→A = błąd ERR_TOO_MANY_REDIRECTS; częsty przy kombinacji wtyczka + .htaccess + Cloudflare robiących to samo.
  4. Zaktualizuj linki wewnętrzne - przekierowanie to plaster; docelowo menu, stopka i treści powinny linkować od razu do nowych adresów.
  5. Nie usuwaj przekierowań za szybko - po zmianie domeny trzymaj je minimum rok; linki z innych stron będą prowadzić do starych adresów latami.
  6. Testuj - narzędziem typu httpstatus.io albo curl -I adres sprawdzisz faktyczny kod odpowiedzi i cel przekierowania.

Najczęściej zadawane pytania

Czy przekierowanie 301 „gubi" moc SEO?

Google od lat deklaruje, że 301 przekazuje pełną wartość linków. W praktyce przy dobrze zrobionej migracji 1:1 wahnięcie pozycji jest chwilowe (dni-tygodnie). Ruch tracą migracje bez przekierowań lub „wszystko na główną".

Usunąłem stronę i nie ma dla niej zamiennika - co zwrócić?

Jeśli istnieje sensowna strona nadrzędna (kategoria) - 301 na nią. Jeśli nie - poprawne 404/410 jest w porządku; nie przekierowuj na siłę na stronę główną.

Jak szybko Google zauważy przekierowania?

Pierwsze efekty przy popularnych stronach - dni; pełna podmiana indeksu przy zmianie domeny - tygodnie do kilku miesięcy. Przyspieszysz to zgłaszając zmianę w Search Console (narzędzie zmiany adresu przy zmianie domeny) i wysyłając nową sitemapę.

Podsumowanie

Zasada jest prosta: zmiana trwała = 301, chwilowa = 302, zawsze 1:1 i bez łańcuchów. Do pojedynczych adresów wystarczy wtyczka Redirection, do reguł globalnych - kilka linijek w .htaccess. A jeśli planujesz większą operację - zmianę domeny albo przenosiny całego serwisu - zajrzyj do naszego przewodnika migracji bez przestoju lub po prostu napisz do nas: robimy to dla klientów regularnie.

Powiązane poradniki

Wszystkie poradniki z kategorii: Szybkość i wydajność

Powiązane usługi McProdukt

Zobacz również