Przekierowanie 301 redirect

Szacowany czas czytania 7 minuty

Przekierowanie 301 302

Co to jest przekierowanie

Przekierowanie adresu URL to odesłanie użytkowników oraz wyszukiwarek pod inny adres URL niż początkowo zażądany, lub inaczej nadanie więcej niż jednego adresu URL stronie lub całej witrynie w sieci internetowej. Metoda ta zatem umożliwia kierowanie ruchu na inny adres w obrębie domeny lub do całkowicie innej domeny. Właściwe przekierowania w obrębie witryny są jednym z podstawowych działań optymalizacji strony www.

Najogólniej przekierowania można podzielić na dwie grupy: przekierowania po stronie serwera i przekierowania po stronie klienta (przeglądarki internetowej). Może to wpływać m.in. na czas wczytywania, ale dla przeciętnego użytkownika nie widać pomiędzy nimi różnicy a samo zagadnienie ściśle techniczne.

Istnieją różne zastosowania przekierowania i zależnie od potrzeb do dyspozycji mamy różne rodzaje przekierowań. Powodem zastosowania przekierowania może być np. konserwacja witryny lub zmiana dotychczasowego adresu URL domeny, np. z „http://adres1.pl” na „http://adres2.pl” lub pojedynczego pliku, strony np. – „http://adres.pl/plik/” na „http://adres.pl/nowy-adres-pliku” . Znanymi, częstymi zastosowaniami przekierowań są: wymuszenie łączenia szyfrowanego przez protokół SSL lub przekierowania witryn na www <-> bez-www.

Wymuszanie połączenia szyfrowanego SSL

Powszechnym zastosowaniem przekierowań jest kierowanie całego ruchu w witrynie na połączenie poprzez szyfrowany protokół HTTPS (SSL) zamiast standardowego protokołu HTTP. Wówczas użytkownik wchodząc na adres „http://wigsbridge.pl”, zostanie automatycznie przekierowany do witryny „https://wingsbridge.pl”.

Połączenie https szyfrowane
Połączenie https szyfrowane
Połączenie http nieszyfrowane
Połączenie http nieszyfrowane

Wymuszanie połączeń szyfrowanych jest niezbędne dla sklepów internetowych, żeby zapewnić możliwość elektronicznych płatności online. Sam certyfikat SSL jest brany również pod uwagę jako czynnik określania pozycji w wynikach wyszukiwania stron Google.

Przekierowanie 301 z bez-www na www

Innym powszechnym zastosowaniem przekierowania jest przekierowanie bez-www -> www. Następuje ono, gdy użytkownik wchodzący na adres URL bez subdomeny www zostaje przekierowany na adres URL zawierający subdomenę www: „http://wigsbridge.pl” -> „http://www.wigsbridge.pl” .

Subdomena www
Subdomena www

Adresy z www i bez-www są traktowane jako odrębne i w przypadku działania takiego jak optymalizacja SEO, konieczny jest wybór tylko jednego z nich jako adresu kanonicznego. Adres kanoniczny informuje o tym, że jest on preferowanym i oryginalnym adresem, który używamy i który powinien być indeksowany. bez ustawienia adresu kanonicznego i przekierowania strony z o tym samym adresie z subdomeną www i bez, są traktowane jak duplikat treści.

301 przekierowujący www na bez-www

Analogiczna sytuacja do powyższej następuje, gdy chcemy stworzyć przekierowanie z www -> bez-www: „http://www.wigsbridge.pl” -> „http://wigsbridge.pl”. Wówczas użytkownik będzie kierowany zawsze do adresu bez przedrostka (subdomeny) www.

Czy przekierowania są złe dla SEO

Właściwie zastosowane przekierowanie nie jest złe dla SEO. Natomiast złe wdrożenie może spowodować różnego rodzaju problemy, poczynając od utraty pozycji domeny i utraty ruchu po całkowite zablokowanie dostępu do witryny. Jeśłi nie mamy pewności jakiego przekierowania użyć i jak je wdrożyć, lepiej skorzystać z usług doświadczonej firmy SEO, która oferuje pozycjonowanie stron internetowych.

Stałe przekierowania 301 umożliwiają przeniesienie całego ruchu ze starej strony i linków zwrotnych na nowy adres strony. Stary adres jest usuwany z indeksu Google a moc linków przenoszona na nowy adres.

Sam proces indeksacji po ustawieniu przekierowania nie jest natychmiastowy i może potrwać zanim zauważymy zmianę w wynikach wyszukiwania oraz ewentulany wpływ na pozycję w rankingach.

Również prawidłowe użycie tymczasowego przekierowania nie zaszkodzi działaniom SEO. W przypadku okresowego przekierowania oryginalna strona pozostaje zaindeksowana w Google a moc linków i autorytet strony nie są przenoszone do nowego adresu URL.

Rodzaje przekierowań

Dwa najpopularniejsze rodzaje przekierowań to tymczasowe przekierowanie 302 i stałe przekierowania 301. Rożnica pomiędzy nimi jest istotna i każdego z nich należy używać odpowiednio do pożądanego efektu. Inne kody przekierowań, które są nowsze i mniej powszechne z powodu jeszcze ograniczonego wsparcia to: 303, 307, 308.

Co to jest przekierowanie 301

Przekierowania 301 są stałym przekierowaniem, które służy do upewnienia się, że przeglądarki i użytkownicy są kierowani na właściwy adres URL, który jest trwale przeniesiony w inne miejsce. Przeglądarka odczytując kod 301, automatycznie przekierowuje nas na odpowiednią stronę internetową.

Stałe przekierowania najlepiej implementować po stronie serwera. Ta metoda jest rekomendowana przez Google.

Tymczasowe przekierowanie 302

Przekierowanie 302 jest używane jako tymczasowe. Kod 302 oznacza, że żądana treść została znaleziona, ale znajduje się w innym miejscu. Jeśli chcesz skierować odwiedzających tymczasowo na alternatywny adres a stary adres URL będzie wykorzystywany w przyszłości, należy użyć przekierowania czasowego 302.

Ponieważ jest to tymczasowe przekierowanie, wyszukiwarka Google nie usunie starego adresu z indeksu. Mimo wszystko, jeśli przekierowanie 302 będzie ustawione dłuższy czas, Google może zacząć traktować je jako stałe przekierowanie 301.

John Mueller, Senior Webmaster Trends Analyst w Google mówi o tym jak Google traktuje przekierowania 302:

Kiedy rozpoznajemy przekierowanie i widzimy, że jest to przekierowanie 302, zakładamy najpierw, że jest to przekierowanie tymczasowe i zakładamy, że chcesz zaindeksować pierwotny adres URL, a nie przekierowany cel. […] Jednak kiedy rozpoznamy, że jest to bardziej jak stałe przekierowanie, a 302 może być czymś, co przypadkowo skonfigurowałeś, wtedy traktujemy to jako 301. I mówimy, że zamiast zaindeksować przekierowany adres URL, zaindeksujemy cel przekierowania.

John Mueller, Webmaster Trends Analyst Google

Jak zrobić przekierowanie w WordPress

Jest to techniczne zagadnienie, ale istnieją różne typy serwerów internetowych i zależnie od rodzaju serwera, sposób przekierowania może się różnić. Najpopularniejszymi serwerami są: Apache, Windows / IIS, AWS i Nginx. Spośród wymienionych tylko serwery Apache używają pliku .htaccess (hypertext access file), za pomocą którego dość często dokonuje się przekierowania w WordPress. Należy przy tym uważać i zawsze mieć kopię zapasową, strony. Niewłaściwa konfiguracja tego pliku, może zablokować dostęp do strony.

W przypadku WordPress na serwerze Apache, samo przekierowanie można zrobić:

  • przy pomocy modyfikacji pliku htaccess,
  • instalując wtyczkę,
  • za pomocą kodu PHP.

W niektórych przypadkach można zrobić przekierowanie PHP, dodając odpowiedni kod do pliku strony lub za pomocą akcji (actions), haczyków (hooks) lub filtrów (filters).

Przekierowanie 301 w .htaccess

Pierwszą rzeczą, którą musisz zrobić, jest otwarcie pliku tekstowego o nazwie .htaccess , który znajduje się w katalogu głównym witryny na serwerze. W tym celu należy się połączyć z serwerem za pomocą FTP.

Jeśli masz problemy z odnalezieniem pliku .htaccess, możliwe że konieczne będzie pokazanie ukrytych plików lub stworzyć zupełnie nowy plik, jeśli .htaccess nie ma także pośród ukrytych plików. Plik .htaccess można edytować w dowolnym edytorze zwykłego tekstu, takim jak Notatnik. Wszystkie poniższe operacje należy dokonywać z ostrożnością a w przypadku braku doświadczenia, warto rozważyć opcję przekierowania za pomocą wtyczki.

Stałe przekierowanie 301 całej domeny w .htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?stara_domena\.pl [NC]
RewriteRule (.*) http://nowa_domena.pl/$1 [R=301,L]

Przekierowanie podstrony do innej domeny

Redirect 301 /stara-domena.pl/stara-strona http://www.nowa-domena.pl/nowa-strona
Redirect 301 /stara-domena-2.php http://www.nowa-domena.pl

Przekierowanie SSL / Wymuszenie protokołu HTTPS

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}

Przekierowanie ze slasha (ukośnik) w adresie URL na adres bez slasha

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]

Przekierowanie dla adresu URL bez subdomeny www

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]

Przekierowanie dla adresu URL z subdomeną www

RewriteEngine On
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Przekierowanie za pomocą wtyczki WordPress

Łatwiejszym podejściem do stworzenia przekierowania 301, jest użycie jednej z wielu wtyczek dostępnych dla WordPress. Pozwala to na skonfigurowanie przekierowań bez pisania kodu. Nową wtyczkę można dodać z panelu wp-admin. Jedną z popularnych i rozwijanych wtyczek dla przekierowań jest Redirection.

Po aktywacji wtyczki, podobnie jak w przypadku dodawania nowego postu, będziemy mogli zarządzać przekierowaniami w panelu wp-admin.

Ogólne SEO Web Development