Przekierowanie 301 to uniwersalny sposób na przekierowanie użytkownika z jednego adresu na inny. Jest to jedna z metod przeniesienia użytkownika na inny adres, niemniej najlepsza z punktu widzenia pozycjonowania i optymalizacji witryny. Dzięki przekierowaniom 301 przekazujemy „wartość” danej strony/podstron na drugi adres. W tym przypadku kod 301 oznacza trwałe przeniesienie. Stosując przekierowanie 301 wyszukiwarki widzą tylko adres do którego kieruje przekierowanie. Unikamy w ten sposób duplikatów powodujących spadek w wynikach wyszukiwania. O przekierowaniu 301 warto pamiętać, w sytuacji gdy dokonujemy zmian na stronie: zmiana CMS’a, zmiany adresów podstron itp.
Przekierowania 301 umieszcza się w pliku .htaccess, który umieszczony jest w głównym katalogu na serwerze.
Przedstawiamy najpopularniejsze przekierowania 301:
1. Przekierowanie 301 ze strony bez www na stronę z www
W pliku .htaccess w głównym folderze należy wprowadzić następującą formułkę:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ http://www.adreswitryny.pl/$1 [L,R=301]
Oczywiście musimy zamieścić adres naszej witryny
2. Przekierowanie 301 z podstrony www.adreswitryny.pl/podstrona na domenę główną www.adreswitryny.pl.
W pliku .htaccess w głównym folderze należy wprowadzić następującą formułkę:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^\/podstrona$
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ http://www.adreswitryny.pl/ [L,R=301]
W miejsce podstrona należy wpisać odpowiednią podstronę wraz z rozszerzeniem z której ma być przekierowanie do domeny głównej, np. index.php, index.html, strona-glowna.html itp.
3. Przekierowanie z każdej podstrony witryny na domenę główną:
RewriteCond %{REQUEST_URI} ^(.*)
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ http://www.adreswitryny.pl/ [L,R=301]
4. Przekierowanie z domeny A na domenę B:
W pliku .htaccess domeny A należy wprowadzić następującą regułkę:
RewriteEngine On
RewriteRule ^(.*)$ http://www.adreswitrynyB.pl/$1 [R=301,L]
5. Dwie domeny kierują do jednej strony
Czasami zdarza się, iż dwie domeny kierują na tą samą stronę. Są to duplikaty, które należy zniwelować wykorzystując poniższą regułkę:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?adreswitryny1.pl(.*) [NC]
RewriteRule ^(.*)$ http://www.adreswitryny2.pl/$1 [R=301,L]
Niestety nie zawsze powyższe regułki się sprawdzają. Możemy jednak zapewnić, iż w 90% ich wprowadzenie będzie skutkowało odpowiednimi przekierowaniami. W kolejnych artykułach będziemy starali się wyjaśnić kolejne formułki związane z przekierowaniami 301.