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.
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:
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.
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.
Wtyczka Redirection (darmowa) daje panel zarządzania przekierowaniami: dodajesz stary i nowy adres, wybierasz kod, gotowe. Bonusy, za które ją kochamy:
Wtyczki SEO (Rank Math, Yoast Premium) mają własne moduły przekierowań - nie łącz dwóch systemów naraz, wybierz jeden.
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ę).
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ą".
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ą.
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ę.
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.
Wszystkie poradniki z kategorii: Szybkość i wydajność