Przekierowanie 301 – co to jest?
5 min
5 min
Na skróty
Poprzez przekierowanie 301 można pokazać robotom wyszukiwarki, że strona www jest dostępna pod innym adresem. To pozwala uniknąć duplikacji treści i innych problemów, które mogłyby mieć negatywny wpływ na pozycjonowanie. Stosowanie tego typu rozwiązań jest powszechną praktyką SEO. Jak ustawić przekierowanie 301 w pliku .htaccess? W naszym opracowaniu są szczegółowe wskazówki na ten temat.
Przekierowanie 301 powiadamia wyszukiwarkę o trwałym przeniesieniu zawartości witryny lub konkretnej podstrony na inny adres URL. Informacja ta jest przekazywana w formie kodu statusu HTTP. Dzięki takiemu rozwiązaniu w momencie, kiedy użytkownicy wpiszą nieaktualny adres witryny, zostaną automatycznie przekierowani na ten nowy. Zapobiega to wyświetleniu błędu 404, który często zniechęca do ponownych odwiedzin strony. Brak przekierowania 301 nierzadko powoduje, że dana witryna traci swoją pozycję w wyszukiwarce i zaczyna funkcjonować jako nowa, która dopiero została założona.
Uważa się, że redirect 301 w pliku .htaccess jest nie tylko jedną z najbardziej skutecznych, ale i przyjaznych dla wyszukiwarek metod przekierowania. Takie rozwiązanie znajduje zastosowanie w różnych sytuacjach:
Przekierowanie 301 często stosuje się również w przypadku, gdy konkretny produkt nie jest już dostępny na stronie. Jednak jeżeli jego brak jest tylko chwilowy, lepiej zastosować przekierowanie 302, mające charakter tymczasowy.
Poniżej znajduje się wyjaśnienie, jak zrobić przekierowanie 301 w zależności od powodu, dla którego jest ono konieczne.
Przekierowanie 301 strony bez www na www
Żeby zrobić przekierowanie 301, najpierw należy otworzyć plik tekstowy noszący nazwę .htaccess. Znajduje się on w katalogu głównym na serwerze. W przypadku problemów z jego wyszukaniem trzeba wybrać opcję pokazywania plików ukrytych. Jeśli to nie pomoże, pozostaje stworzenie nowego pliku, można modyfikować go w dowolnym edytorze tekstowym (również w Notatniku).
Chcąc przekierować witrynę bez przedrostka www na taką, gdzie będzie on obecny, należy wkleić w pliku .htaccess kod:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$
RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]
Jeśli strona została przeniesiona na nową domenę, zmiany nie będą bardzo duże, gdyż często wystarczy zrobić jedno przekierowanie 301, wklejając kod:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?twojastaradomena\.pl [NC]
RewriteRule (.*) http://twojanowadomena.pl/$1 [R=301,L]
Aby wymusić protokół HTTPS, w pliku .htaccess wkleja się kod:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Przy przekierowywaniu podstron stosuje się kod:
RewriteEngine On
RewriteBase /
RewriteRule ^index.html$ http://www.nazwatwojejdomeny.pl/ [R=301,L]
RewriteRule ^podstrona1.php$ http://www.nazwatwojejdomeny.pl/nowapodstrona1.html [R=301,L]
Pierwsza podana wyżej reguła (RewriteRule ^index.html$ http://www.nazwatwojejdomeny.pl/ [R=301,L]) pozwala przekierować podstronę na stronę główną. Ta druga umożliwia przeniesienie wskazanej zakładki na nową. Stosuje się ją również przy zmianie silnika witryny, której często towarzyszy modyfikacja adresów URL.
Aby wykonane w ten sposób przekierowanie 301 działało, konieczne jest wpisanie pełnego adresu witryny razem z fragmentem http://.
Naprawianie błędów w adresach URL również nie jest skomplikowane. Kiedy w wynikach wyszukiwania zaindeksowane zostały podstrony z błędem 404, należy zastosować kod:
RewriteEngine On
#przekierowanie strony z 404 na prawidłową
RewriteRule ^strona_404$ http://www.nazwatwojejdomeny.pl/strona_prawidlowa [R=301,L]
Zwykle nie trzeba poświęcać dużo czasu, aby zrobić przekierowanie 301 w systemie WordPress czy innym CMS-ie. Witryny, które powstają na ich bazie, tworzą własny plik .htaccess, więc to nim należy się posługiwać. Jednak zdarzają się sytuacje, kiedy do stworzenia odpowiedniego kodu na przekierowanie 301 potrzebny jest generator. Można łatwo znaleźć go w Internecie. Dzięki temu nawet osoba bez webmasterskich umiejętności poradzi sobie z przekierowaniem całej witryny lub wybranej podstrony.
Przekierowanie 301 w dużym stopniu wpływa na SEO. Pozwala ono na zachowanie widoczności witryny na wskazane słowa kluczowe, zapobiega zjawisku duplicate content, a ponadto ułatwia walkę z kanibalizacją fraz lub całkowicie eliminuje ten problem. Nie bez znaczenia jest to, że tworzone w pliku .htaccess redirect 301 przenosi na nową stronę moc, która wcześniej została pozyskana z zewnętrznego linkowania prowadzącego do starej witryny.
Stosowanie przekierowań 301 niesie za sobą korzyści także dla użytkowników. W przypadku braku możliwości wyświetlenia określonej podstrony nie są zostawieni sami sobie, ponieważ otrzymują propozycję podobnych treści. Poza tym eliminuje to dezorientację i umożliwia dalsze stosowanie znajomego adresu URL.
Trzeba przy tym zdawać sobie sprawę z tego, że czasami przekierowanie 301 jest szkodliwe dla strony. Dzieje się tak m.in. gdy zostanie ono ustawione dla wszystkich podstron, aby prowadziły do strony głównej. Niewskazane jest też przenoszenie domeny przed przygotowaniem przekierowań, ponieważ prowadzi to zarówno do utraty ogólnej widoczności, jak i zmniejszenia ruchu czy mocy linków zwrotnych.
Przekierowania 301 są wykorzystywane bardzo często. Można przygotować je nie tylko w obrębie jednej domeny, ale i w dwóch różnych. To, jaki kod należy zastosować, zależy od sytuacji. Warto pamiętać, że przekierowanie 301 ma charakter stały (z angielskiego moved permanently) i pozwala na przeniesienie niemal całkowitej mocy SEO na nowy, wskazany przez siebie adres.