Przekierowanie 301 najczęściej wykonuje się w obrębie domeny przekierowując adres stron www na bez www lub odwrotnie. Pozwala to uniknąć duplikacji treści (duplicate content) wynikającej z występowania jednej wersji strony pod dwoma różnymi adresami tej samej domeny. Jest to niestety bardzo często występujący błąd który w stosunkowo prosty i szybki sposób można skorygować.

W jaki sposób sprawdzić czy brakuje przekierowania w obrębie domeny?
Aby sprawdzić czy strona indeksuje się błędnie zarówno w wersji z przedrostkiem www jak i bez niego wpisujemy w google operator „site:”.
Przykładowo: „site:semonit.pl” pozwala nam sprawdzić ile podstron domeny jest obecnie zaindeksowanych i w jakiej postaci. Pozwala to również wychwycić inne błędy, dziwne adresy których nie powinno być w wynikach wyszukiwania. Kolejny krok to zwyczajne wywołanie adresu www.mojadomena.pl. Jeśli nie przenosi nas na mojadomena.pl (lub odwrotnie w zależności od domyślnej wersji) przekierowanie musi zostać ustawione.

W jaki sposób wykonać przekierowanie 301:
Przekierowanie można zrealizować na różne sposoby, jednak najczęściej w tym celu wykorzystuje się plik .htaccess (jest to domyślna nazwa pliku konfiguracyjnego serwera apache) który ulokowany jest w katalogu głównym domeny. Jeśli go tam nie ma, można utworzyć nowy właśnie o takiej nazwie (plik nie ma rozszerzenia). Najłatwiej utworzyć plik tekstowy, uzupełnić go jedną z poniższych dyrektyw i osunąć rozszerzenie.

Aby przekierować domenę z jednego adresu na drugi należy edytować plik uzupełniając go o odpowiednią regułę (dyrektywę). Zmiana będzie dotyczyć katalogu oraz jego podkatalogów jeśli nie są skonfigurowane jako osobne pod serwery. Najczęściej przekierowanie 301 wygląda w taki sposób:

Przekierowanie adresu z www na adres bez www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.adres-twojej-strony.pl(.*) [NC]
RewriteRule ^(.*)$ http://adres-twojej-strony.pl/$1 [R=301,L]

Przekierowanie adresu z bez www na adres z www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^adres-twojej-strony.pl(.*) [NC]
RewriteRule ^(.*)$ http://www.adres-twojej-strony.pl/$1 [R=301,L]

Przekierowanie 301 na nową domenę wykonuje się w analogicznie. Najczęściej stosuje się je chcąc po prostu przekierować użytkowników ze starej lokalizacji na nową. Dodatkowym atutem jest możliwość przeniesienia mocy linków na nową domenę, niestety jeśli stara ma nałożony filtr zostanie on zaciągnięty wraz z przekierowaniem.

Przekierowanie adresu domeny głównej oraz podstron na odpowiadjące im podstrony w nowej domenie:
RewriteEngine On
RewriteBase /
RewriteRule ^kategoria/podkategoria-1$ http://adres-nowej-strony.pl/kategoria/podkategoria-1 [R=301,L]
RewriteRule ^kategoria/podkategoria-2$ http://adres-nowej-strony.pl/kategoria/podkategoria-2 [R=301,L]
RewriteRule ^kategoria/podkategoria-3$ http://adres-nowej-strony.pl/kategoria/podkategoria-3 [R=301,L]
RewriteRule ^(.*)$ http://adres-nowej-strony.pl/ [R=301,L]

Plik wystarczy zapisać i wgrać na serwer do katalogu głównego domeny. Jeśli edytowaliśmy plik który już tam występował warto wcześniej sprawdzić czy nie zawierał innych danych. Można je wtedy edytować lub dopisać nowe reguły. Pamiętajmy również o tym, że niektóre CMSy takie jak WordPress tworzą pliki htaccess automatycznie podczas instalacji i zapisują podany wtedy wybór podstawowego adresu domeny.

Wyjaśnienie rodzajów przekierowań które można zastosować w zależności od konieczności:
301 – przekierowanie stałe (permanentnie zmienił się adres)
302 – przekierowanie chwilowe (adres tymczasowo uległ zmianie, za jakiś czas zostanie przywrócony poprzedni)