Przekierowanie 301 i 302 (redirect permanent i temporary) – czym są, jak prawidłowo je wykonać i jaki mają wpływ na SEO?
Chociaż koncepcja przekierowania wydaje się prosta, niektórzy deweloperzy zapominają o jej stosowaniu lub stosują ją niepoprawnie. Czym właściwie jest przekierowanie, kiedy warto je stosować oraz jaki ma wpływ na pozycjonowanie? Na te pytania odpowiadamy w artykule na przykładzie przekierowań 301 i 302.
Spis treści
Czym jest przekierowanie oraz jakie są jego rodzaje?
Przekierowanie to mechanizm, który automatycznie przenosi użytkownika oraz roboty indeksujące pod nowy adres. Występuje kilka rodzajów przekierowań, jednak najpopularniejsze to te oznaczone kodem 301 oraz 302.
Dla użytkowników nie ma znaczenia, który z nich zostanie wykorzystany. W obu przypadkach zostanie im wyświetlona nowa zawartość. Kod ten ma jednak olbrzymie znaczenie dla robotów indeksujących. Jaka jest między nimi różnica?
Przekierowanie 301 (redirect permanent)
Przekierowanie 301 stałe (redirect permanent) to najczęściej wykorzystywany rodzaj przekierowania. Kod ten informuje roboty wyszukiwarek o tym, że dana strona nie jest już dostępna w wybranej lokalizacji i nie powinna być indeksowana.
Przekierowanie 301 powinno być używane, jeżeli chcemy na stałe przekierować usunietą lub przeniesioną stronę. Ponieważ redirect 301 prowadzi na stałe ze starego adresu na nowy, powinno się go stosować wyłącznie wtedy, gdy mamy pewność, że stary adres nie będzie już wykorzystywany.
Przekierowanie 302 (redirect temporary)
Przekierowanie 302 tymczasowe (redirect temporary) jest używane w przypadku tymczasowej zmiany adresu URL. Z tego powodu nie przekazuje “mocy” z jednego adresu URL na drugi, tak jak robi to 301. Oznacza to, że jest możliwe odzyskanie starego adresu URL z nienaruszoną wartością SEO.
Dlatego przekierowania 302 należy używać tylko wtedy, gdy jesteśmy pewni, że dana zawartość serwisu będzie niedostępna tylko tymczasowo.
Kiedy stosować przekierowania?
Przede wszystkim powinny być one stosowane w sytuacji, kiedy były wprowadzane zmiany w adresach URL i zależy nam, aby użytkownik oraz roboty indeksujące trafiły pod wskazaną przez nas stronę. W jakich sytuacjach będzie to szczególnie oczekiwane?
- Zmiana domeny – w przypadku, gdy zdecydujemy się na zmianę domeny należy pamiętać o przygotowaniu przekierowania dla każdej podstrony. Dlatego, jeszcze przed migracją, warto przygotować mapę przekierowań, czyli listę adresów URL wraz ze swoimi odpowiednikami na nowej domenie.
- Wdrożenie certyfikatu SSL – prawidłowe przejście z protokołu http na https wiąże się nie tylko z zainstalowaniem certyfikatu SSL, ale również ze stworzeniem odpowiednich przekierowań dla każdej podstrony. Ich brak spowoduje duplikację treści, co może mieć negatywny wpływ na pozycje strony. Poniżej przedstawiamy przykład instrukcji przekierowania na wersję https strony na serwerach Apache.
Pierwsza linijka sprawdza, czy został podany adres z https. Jeżeli tak nie jest, wykonywana jest druga linijka kodu, która przy pomocy kodu 301 przekierowuje na wersję https.RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] - Ujednolicenie adresu witryny – wielu użytkowników nie jest świadomych, że URL strony z www oraz bez www to dla wyszukiwarki dwa różne adresy. Brak przekierowań na właściwą wersję witryny powoduje, że Google traktuje je jako dwie oddzielne strony z duplikującą się treścią. Dlatego bardzo ważne jest ustawienie właściwego adresu strony przy pomocy odpowiednich reguł przekierowań.
Przykład instrukcji, która będzie przekierowywała na adres https://www.RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [L,R=301]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301] - Zmiana CMS – poszczególne CMSy różnią się między sobą m.in. strukturą adresów URL. Przeniesienie zawartości strony na nowy system wiąże się najczęściej ze stworzeniem nowych adresów. Dlatego – aby po takich zmianach nasza strona nie straciła widoczności w Google – warto zadbać, by stare adresy wskazywały na swoje odpowiedniki na nowym CMS.
- Zmiana pojedynczego adresu URL – optymalizacja strony internetowej często wiąże się ze zmianą adresów URL dla poszczególnych podstron. Aby po takich zmianach użytkownicy nie trafiali na stronę z błędem 404, również i tutaj musimy utworzyć przekierowania.
Poniżej przykład kodu, który przekieruje ze starego adresu na nowy.RewriteRule ^blog/stary\-adres/$ /blog/nowy\-adres/? [L,R=301]
- Produkty w sklepie, które nie są już dostępne – w przypadku, gdy któryś z produktów został wycofany ze sprzedaży, nie musimy od razu usuwać jego podstrony. Lepszym rozwiązaniem będzie wykorzystanie przekierowania z niedostępnego produktu na kategorię, w której się znajdował lub do produktu zbliżonego. Dzięki temu użytkownik trafi na wskazany przez nas adres, a nie na stronę z komunikatem o błędzie 404.
Tworzenie przekierowań
Istnieje co najmniej kilka sposobów na to, by ustawić przekierowania. To, który zostanie wykorzystany, jest uzależnione od serwera, z którego korzysta nasza strona (Apache czy nginx), CMS czy w końcu od naszych umiejętności technicznych. Poniżej skupimy się na dwóch sposobach, które są najczęściej wykorzystywane przez twórców stron na WordPressie.
Pierwszym z nich jest wykorzystanie pliku .htaccess, czyli domyślnego pliku konfiguracyjnego serwera www Apache. Dzięki niemu możemy określić podstawowe ustawienia dla katalogów i podkatalogów znajdujących się na serwerze. Dodatkowo – dzięki temu plikowi – możemy wpływać na zachowanie serwera m.in. tworząc przekierowania na inny plik czy witrynę.
Plik .htaccess najczęściej znajduje się w głównym katalogu CMS. Należy jednak pamiętać, że nieprawidłowe ustawienie reguł w tym pliku może spowodować, że strona przestanie działać. Dlatego zawsze przed rozpoczęciem prac z tym plikiem, warto wykonać jego kopię.
Drugim sposobem, w jaki możemy ustawić przekierowania, jest wykorzystanie do tego celu pluginów. Rozwiązanie to nie wymaga od nas ingerencji w kod strony ani technicznej wiedzy. Niestety wiąże się również z kilkoma wadami.
Przede wszystkim przekierowania ustawione przez plugin działają wolniej oraz w większym stopniu obciążają serwer. Dzieje się tak, ponieważ zanim zostaną uruchomione, musi zostać załadowany parser php, następnie CMS, a dopiero na końcu plugin, który przekierowania ma zapisane w bazie danych.
Kolejnym minusem tego rozwiązania jest brak gwarancji, że wykorzystywany plugin będzie działał z kolejnymi wersjami CMS. Niestety zdarza się, że autorzy porzucają swoje wtyczki, przez co nie są one kompatybilne z nową wersją CMS. M.in. dlatego zalecanym sposobem ustawienia przekierowań jest ich zapisywanie w pliku .htaccess.
Generatory przekierowań
Są to narzędzia, które w szybki oraz prosty sposób stworzą dla nas odpowiednie instrukcje, gotowe do wklejenia w plik .htaccess. Będą one szczególnie pomocne, gdy w serwisie były prowadzone prace optymalizacyjne i wiele adresów URL zmieniło się. Ułatwią nam również zadanie podczas przygotowywania mapy przekierowań, gdy konieczne jest masowe stworzenie przekierowań.
Przykładem takiego generatora jest donatstudio.com, gdzie wystarczy podać dwa adresy – ten, z którego chcemy wykonać przekierowanie oraz ten, pod który mamy zostać przeniesieni.
Przekierowanie 301 a pozycjonowanie
Przekierowania odgrywają kluczową rolę w procesie optymalizacji stron pod kątem wyszukiwarek internetowych. Pozwalają zachować “moc” przenoszonej strony oraz uniknąć podstron, na których występuje duplikacja treści.
Dodatkowo mają one znaczenie dla użyteczności serwisu. Użytkownicy dzięki nim nie trafiają na stronę 404, przez co zmniejsza się prawdopodobieństwo, że zrezygnują z jej dalszego przeglądania.
Brak przekierowań lub ich niepoprawne ustawienie, w sytuacji gdy zostały zmienione adresy URL, może mieć bardzo negatywne skutki dla pozycji oraz ruchu na naszej stronie.
W ramach pozycjonowania stron zajmujemy się na bieżąco ustawianiem niezbędnych przekierowań na stronach klientów. Takie działania możemy wykonać także jednorazowo w ramach optymalizacji stron internetowych, np. po zmianie domeny, zmianie CMS czy wdrożeniu certyfikatu SSL.