Co to jest przekierowanie 301? Definicja, SEO i przykłady wdrożenia
Przekierowanie 301 to odpowiedź serwera z kodem HTTP 301 Moved Permanently, która mówi przeglądarce i wyszukiwarce, że strona na stałe przeniosła się pod adres wskazany w nagłówku Location. Kod opisuje standard RFC 9110, a Google Search Central zaleca utrzymywać takie przekierowania po migracji przez co najmniej rok. To najważniejsze narzędzie przy każdej zmianie domeny, struktury adresów czy łączeniu podstron.
Jak działa przekierowanie 301
Przekierowanie 301 to krótka wymiana między przeglądarką a serwerem. Przeglądarka prosi o stary adres, a serwer zamiast treści odsyła kod 301 i nagłówek Location z nowym adresem, np.:
HTTP/1.1 301 Moved Permanently
Location: https://example.pl/nowa-strona/
Przeglądarka sama pobiera nową stronę, więc użytkownik nie musi nic klikać. RFC 9110 opisuje 301 jako trwałą zmianę i zaleca klientom aktualizację zapisanych odnośników. Odpowiedź jest domyślnie zapisywana w pamięci podręcznej, dlatego po błędnym wdrożeniu przeglądarka może jeszcze przez jakiś czas przenosić Cię pod zły adres, nawet gdy na serwerze wszystko już poprawiłeś.
Jeden szczegół techniczny ma znaczenie przy formularzach. Według MDN przeglądarki zwykle zamieniają żądanie POST na GET po otrzymaniu 301. Gdy metoda musi zostać zachowana, lepszym wyborem jest przekierowanie 308.
Jak Google traktuje przekierowanie 301
Przekierowanie 301 jest dla Google mocnym sygnałem, że nowy adres powinien stać się wersją kanoniczną. Googlebot podąża za przekierowaniem, a system indeksowania przenosi na nowy URL sygnały starej strony. Dokumentacja Google o migracjach mówi wprost, że stałe przekierowania nie powodują utraty PageRanku, więc wartość backlinków prowadzących do starego adresu nie przepada.
Kilka zasad z dokumentacji, o których warto pamiętać:
- Googlebot przejdzie do 10 kroków w łańcuchu przekierowań, ale każdy dodatkowy krok to strata czasu i ryzyko błędu, więc kieruj od razu na adres docelowy,
- masowe przekierowanie starych stron na stronę główną Google może uznać za soft 404,
- adres, który nie ma sensownego odpowiednika, powinien zwracać 404 lub 410, a nie przekierowanie na przypadkową stronę,
- za stałe Google uznaje też 308, natychmiastowy meta refresh i przekierowanie JavaScript, choć te dwa ostatnie są mniej pewne.
Kiedy stosować przekierowanie 301
Przekierowanie 301 wybieram zawsze wtedy, gdy adres zmienia się na stałe i nie planujemy powrotu do starego. Najczęstsze sytuacje u moich klientów:
- zmiana domeny, np. przejście z kilku domen krajowych na jedną domenę z katalogami językowymi,
- ujednolicenie wersji HTTP i HTTPS oraz adresów z www i bez www,
- nowa struktura adresów po zmianie CMS albo przebudowie kategorii,
- połączenie dwóch słabszych artykułów w jeden mocniejszy,
- wycofanie produktu, który ma bliski zamiennik w ofercie.
Przy zmianach chwilowych, jak sezonowa promocja czy test, lepiej sprawdzi się przekierowanie 302, bo daje Google sygnał, że oryginalny adres ma zostać w indeksie. Jeśli jednak „tymczasowa” zmiana trwa już kilka miesięcy i nie zanosi się na powrót, zamień 302 na 301. Google z czasem i tak zacznie traktować długo utrzymywane 302 jak stałe przekierowanie, ale jasny sygnał oszczędza czas i niepewność.
Jak ustawić przekierowanie 301: Apache, Nginx, WordPress
Przekierowanie 301 najlepiej ustawić po stronie serwera, zanim do przeglądarki trafi jakakolwiek treść. To najszybsza i najpewniejsza metoda, bo działa dla każdego robota, także takiego, który nie uruchamia JavaScriptu. Najpopularniejsze sposoby:
Apache
W pliku .htaccess wystarczy linia Redirect 301 /stara-strona/ https://example.pl/nowa-strona/. Dla reguł opartych na wzorcach użyj mod_rewrite z flagą [R=301,L].
Nginx
W bloku server: location = /stara-strona/ { return 301 https://example.pl/nowa-strona/; }. Przy wyrażeniach regularnych sprawdza się dyrektywa rewrite z flagą permanent.
WordPress i PHP
W WordPressie bez dotykania kodu ustawisz regułę we wtyczce Redirection albo Rank Math. W czystym PHP wyślesz nagłówek funkcją header z kodem 301 i zakończysz skrypt poleceniem exit.
Przekierowanie 301 przy migracji: jak nie stracić ruchu
Przekierowanie 301 to tylko narzędzie. O tym, czy ruch przetrwa migrację, decyduje mapa przekierowań, czyli tabela, w której każdy stary adres z ruchem lub linkami ma przypisany najbliższy odpowiednik. Po wdrożeniu aktualizuję też linki wewnętrzne, tagi canonical, hreflang i mapę witryny, żeby Google w ogóle nie musiał przechodzić przez przekierowania.
Najdroższe błędy, które naprawiałem, to przekierowanie całego bloga na stronę główną, 302 ustawione „na chwilę” i zostawione na dwa lata oraz łańcuchy po kilku kolejnych migracjach. Jeśli planujesz zmianę domeny albo struktury, audyt SEO przed wdrożeniem kosztuje ułamek tego, co odzyskiwanie pozycji po fakcie.
przekierowanie 301: najczęstsze pytania
Krótkie odpowiedzi na pytania, które często słyszę o tym, czym jest przekierowanie 301 i jak z tego korzystać.
Czy przekierowanie 301 przekazuje moc linków?
Tak. Według dokumentacji Google o migracjach stałe przekierowania nie powodują utraty PageRanku, więc wartość linków przechodzi na nowy adres.
Jak długo trzymać przekierowanie 301?
Google zaleca co najmniej rok, a w praktyce najlepiej bez końca. Stare linki z innych stron i zakładki użytkowników działają wtedy nadal.
Czym 301 różni się od 302?
301 oznacza stałą zmianę i sprawia, że nowy adres staje się kanoniczny. 302 to zmiana tymczasowa, przy której Google zwykle zostawia w indeksie stary adres.
Czy mogę przekierować wszystkie stare strony na stronę główną?
Nie warto. Google może potraktować takie przekierowania jak soft 404, a użytkownik nie znajdzie tego, czego szukał, więc lepiej wskazać najbliższy odpowiednik albo zwrócić 404.
przekierowanie 301: powiązane pojęcia
Pojęcia, które warto znać razem z hasłem przekierowanie 301.
- RFC 9110: HTTP Semantics · IETF / RFC Editor
- 301 Moved Permanently · MDN Web Docs
- Redirects and Google Search · Google Search Central
- Site moves with URL changes · Google Search Central