Przekierowanie 301 – Moved Permanently

Przekierowanie 301 to kod odpowiedzi serwera HTTP informujący nas o tym, że dane zasoby zostały trwale przeniesione na inny adres URL. Można również używać kodu przekierowania 302, jednakże pod kątem pozycjonowania powinno używać się 301 ponieważ przenoszą one „moc” ze starego adresu na nowy.

Kiedy je stosujemy i dlaczego?

Myślę, że wszyscy, którzy kiedykolwiek zetknęli się z pozycjonowaniem słyszeli o „duplicate content”. Chodzi oczywiście o powielanie treści, czyli o czynnik mający negatywny wpływ na pozycjonowanie. Może do niego dojść chociażby poprzez zaindeksowanie przez wyszukiwarkę naszej witryny z prefiksem ”
„www” jako jednego adresu, a bez prefiksu „www” jako drugiego adresu. W takim przypadku dla wyszukiwarki Google będą to dwa niezależne adresy – niestety z dokładnie taką samą treścią. Aby uniknąć takich niespodzianek, należy wdrożyć do naszej strony przekierowanie 301 z jednego adresu na drugi.

Ja zazwyczaj przekierowuję ruch na adres z prefiksem „www”. Wówczas nieistotne jest to, czy w przeglądarkę wpiszemy przykładowo: „www.przerwanareklame.pl”, czy po prostu „przerwanareklame.pl” – zawsze zostaniemy przeniesieni na domenę z prefiksem, czyli www.przerwanareklame.pl. Jeśli w naszym serwisie zmienią nam się URL-e z powodu np. przebudowy serwisu lub też jego optymalizacji pod kątem pozycjonowania, również powinniśmy skorzystać z przekierowania 301, aby uniknąć zduplikowania treści.

Jak to zrobić ?

Jest kilka sposobów na stworzenie przekierowania 301. Najczęściej stosowane są przekierowania umieszczane w pliku .htaccess umieszczonym w katalogu głównym domeny.

Poniżej przedstawiam kilka różnych opcji przekierowań 301.

1. Przekierowanie domeny głównej bez prefiksu „www” na domenę z prefiksem „www” oraz z /index.php na domenę główną z prefiksem „www”.

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

2. Przekierowanie domeny głównej z prefiksem „www” na domenę bez prefiksu „www” oraz z /index.php na domenę główną bez prefiksu „www”.

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

3. Przekierowanie domeny głównej oraz wszystkich podstron na nową domenę. W tym przypadku struktura linków wewnętrznych serwisu musi pozostać niezmieniona.

RewriteEngine On
RewriteRule ^(.*)$ http://www.przerwanareklame.pl/$1 [R=301,L]

4. Przekierowanie domeny głównej serwisu oraz wszystkich jego podstron na nową domenę.

RewriteEngine On
RewriteRule ^(.*)$ http://www.przerwanareklame.pl/ [R=301,L]

5. Przekierowanie strony z błędem HTTP na domenę główną serwisu.

RewriteEngine On
ErrorDocument 404 http://przerwanareklame.pl/

6. Przekierowanie podstrony serwisu z jednego katalogu do drugiego.

RewriteEngine On
Redirect 301 /autors/us.php http://przerwanareklame.pl/autorzy/my.php

7. Przekierowanie podstron serwisu na nowe adresy URL w obrębie tej samej domeny.

RewriteEngine On
RewriteRule ^about_us\.php$ http://www.przerwanareklame.pl/o_nas.php [R=301]
RewriteRule ^contact\.html$ http://www.przerwanareklame.pl/kontakt.php[R=301,L]