Przekierowanie 301 jest bardzo popularnym tematem. Wiele webmasterów wie o co chodzi. Jednak nie wszyscy. Niektórzy coś o tym słyszeli, ale nie wiedzą dokładnie do czego to jest, a jeszcze inni nawet nie słyszeli o przekierowaniach.
Przekierowanie jest bardzo przydatne przy pozycjonowaniu. Dzięki niemu można spreparować wyświetlanie adresów WWW według własnych potrzeb – a co za tym idzie, przygotować je dla wyszukiwarek.
Możliwość przekierowania 301 daje nam serwer Apache. Można na nim utworzyć plik .htaccess, w którym możemy dokonać przekierowań.
Przekierowanie na nową domenę
Jednym z najpopularniejszych zastosowań przekierowania 301 (tzw. przekierowanie permanentne) jest przekierowanie na nową domenę.
Załóżmy, że mamy serwis pod domeną www.staradomena.pl. W międzyczasie znaleźliśmy lepszą domeną – lepiej pasującą dla naszej witryny: www.nowadomena.pl. Chcemy, żeby nasz serwis znalazł się pod nową domeną. Wszystko byłoby w porządku, gdyby nie fakt, że wszędzie w Internecie jesteśmy znani pod domeną www.staradomena.pl – w tym również wyszukiwarki znają nas pod tą domeną.
W tym momencie można zrobić przekierowanie 301 z dotychczasowej
domeny na nową. Dzięki temu każdy, kto wpisze w wyszukiwarkę stary adres zostanie przekierowany na nowy. Również wyszukiwarki zmienią w swoich indeksach na strony z nową domeną. Jest to szczególnie ważne dla wyszukiwarek takich, jak Google, gdyż gdyby istniały dwie domeny z tą samą treścią, to witryny te mogły by podpaść jako duplicate content (skopiowana treść). Z kolei gdyby serwis został tylko podczepiony pod nową domeną, a stara stałaby bez użytku, to właściwie zaczynalibyśmy pozycjonowanie nowej domeny od początku – cała moc poprzedniej domeny by przepadła, a przekierowanie 301 przenosi moc poprzedniej domeny na nową.
Aby przekierować ruch na nową domenę wystarczy w katalogu głównym starej domeny stworzyć plik .htaccess a w nim wpisać następujący fragment:
RewriteEngine On RewriteRule ^(.*)$ http://www.nowadomena.pl/$1 [R=301,L]
Pierwsza linijka uruchamia moduł mod-rewrite. Z kolei druga (korzystająca z owego modułu) przekierowuje cały ruch na domenę www.nowadomena.pl.
Domena „z www” i „bez www”
Zapewne wiesz, że chcąc wejść na stronę www.przykładowadomena.pl nie ma znaczenia czy wpiszesz adres „z www” na początku czy bez. Wpisując przykladowadomena.pl czy www.przykladowadomena.pl znajdziemy się na tej samej stronie.
Dla człowieka zapis jest nieistotny, bo i tak trafiamy na pożądaną stronę. Niestety w przypadku wyszukiwarek tak nie jest. www.przykladowadomena.pl i przykladowadomena.pl dla wyszukiwarek to dwie różne domeny! Mimo, iż prowadzą do tej samej strony. Dla Google mamy dwie domeny z tą samą treścią.
Dlatego stawiając serwis na danej domenie należy zdecydować się na używanie jednej z wersji: „z www” lub bez. Następnie należy przekierować ruch na wybraną wersję oraz pozycjonować i rozpowszechniać tylko wybraną wersję.
Jeśli chcemy używać tylko domeny „z www” należy zastosować poniższy kod w pliku .htaccess w katalogu głównym domeny:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^przykladowadomena.pl [NC]
RewriteRule ^(.*)$ http://www.przykladowadomena.pl/$1 [R=301,L]
Jeśli ktoś wpisze naszą domenę „z www” to nic się nie stanie – normalnie wejdzie na stronę. Jeśli zaś wpisze „bez www” to zostanie automatycznie przekierowany do wersji „z www”.
W przypadku gdy chcemy używać domenę „bez www” należy w .htaccess wpisać fragment:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.przykladowadomena.pl [NC]
RewriteRule ^(.*)$ http://przykladowadomena.pl/$1 [R=301,L]
Przekierowanie zachowa się odwrotnie niż w poprzednim przykładzie.
Pliki „index” w adresach URL
Inną sprawą są pliki „index” (np. index.htm, index.html, index.php). Mając takie pliki w folderach na serwerze wystarczy wpisać w przeglądarkę adres z nazwą folderu – przykładowo www.przykladowadomena.pl/folder/. Trafimy wówczas np. na stronę index.htm danego folderu, mimo, iż nie
wyświetla się ten plik w pasku przeglądarki.
Tu mamy kolejną zagwozdkę, gdyż na stronę można wejść z dwóch adresów. Przykładowo z www.przykladowadomena.pl/folder/ i www.przykladowadomena.pl/folder/index.htm. Webmasterzy często o tym zapominają. Co więcej, zdarza się, że linkują do obu wersji (np. do strony głównej – www.przykladowadomena.pl/index.html). Czasem linkują w taki sposób również wewnątrz własnych serwisów.
Z pomocą znów przychodzi nam .htaccess. Można dzięki niemu przekierować wszystkie adresy zawierające plik „index” w nazwie na domyślny adres – bez pliku „index”. Wystarczy umieścić poniższy kod pod fragmentem włączającym mod-rewrite:
Rewriterule ^(.*)\/index\.htm$ $1 [R=301,L] Rewriterule ^index\.htm$ / [R=301,L]
Pierwsza linijka przekierowuje wszystkie adresy folderów z plikiem index.htm na adres samego folderu. Np. www.przykladowadomena.pl/folder1/folder2/index.htm zostanie przekierowane na www.przykladowadomena.pl/folder1/folder2/.
Druga linijka przekierowuje stronę główną. Czyli: www.przykladowadomena.pl/index.htm będzie przekierowane na www.przykladowadomena.pl.
Jeśli używamy innych rozszerzeń np. html, php to wystarczy wpisać to rozszerzenie w powyższym fragmencie zamiast „htm”. Ewentualnie jeśli stosujemy różne rozszerzenia, należy wpisać w .htaccess kilka wersji powyższego kodu.
Jak widać przekierowania za pomocą .htaccess mogą przynieść wiele korzyści – zwłaszcza w procesie pozycjonowania. Przekierowania permanentne dają nam gwarancję, że adresy są udostępnione w oczekiwany przez nas sposób.





Dodaj komentarz