Przekierowanie w htaccess

Początek WWW jest zmorą webmasterów. Niestety wielu ludzi nadal wpisuje ten przedrostek. Łatwym sposobem na pozbycie się tego problemu jest przekierowanie w htaccess strony z www, na bez www lub odwrotnie.

Wydaje się, że problem jest dosyć prosty do rozwiązania i nie ciągnie za sobą żadnych konsekwencji. Niestety nie jest tak kolorowo jak się wydaje. Zwłaszcza jeśli chodzi o pozycjonowanie.

Strona z przedrostkiem WWW jest w rzeczywistości tą samą stroną, co bez tego przedrostka. Jednak dla wyszukiwarek, są to dwie różne strony. Co to oznacza?

Do pozycjonowanej strony prowadzą różne linki. Część z nich jest dodana przez pozycjonerów, jednak część stanowią linki naturalne, czyli dodane przez zwykłych użytkowników internetu. Jedni piszą adres z przedrostkiem, inni bez. W ten sposób naturalnie pozycjonują się dwie strony, a nie jedna. Można powiedzieć, że część linków idzie na zmarnowanie.

Aby temu zapobiec, wystarczy zrobić przekierowanie w htaccess. Jednak należy pamiętać o sposobach przekierowań. Zły sposób przekierowania nie przeniesie mocy linków z jednej strony na drugą.

Jednym z najgorszych przekierowań jest przekierowanie bez żadnej informacji, czyli przekierowanie w JavaScript lub zwykły redirect. Takie przekierowania nie budzą zaufania w wyszukiwarkach i moc takiego linka będzie osłabiona.

Niestety wielu ludzi robi zwykłe przekierowanie w htaccess lub przekierowanie z błędem 404. Chyba nie muszę tłumaczyć, co oznacza ten kod błędu.

Takie przekierowanie nie jest dobre. Wyszukiwarki nie zwracają większej uwagi na takie strony, ponieważ uważają, że nie ma tam wartościowej treści. Jeśli zrobimy przekierowanie z WWW na bez WWW przez 404, to faktycznie takie przekierowanie może być interpretowane jako przekierowanie ze strony wartościowej na mało wartościową.

Najlepsze do tego celu jest przekierowanie 301 (moved permanently), które oznacza, że strona została definitywnie przeniesiona z jednego adresu na drugi. Dzięki temu z jednej strony na drugą będzie przenoszona cała moc linku.

A oto sposoby na przekierowania w htaccess o których pisałem:

  • przekierowanie z www na bez www (najczęściej wybierana opcja)
          <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
            RewriteRule ^http://%1%{REQUEST_URI} [L,R=301]
          </IfModule>
  • przekierowanie bez www na www
          <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{HTTP_HOST} !^(www.|$) [NC]
            RewriteRule ^http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
          </IfModule>

Jak zauważyliście, użyłem warunku <IfModule>. Jest on potrzebny na wypadek, gdyby na serwerze nie było odpowiedniego modułu. Jeśli tego warunku nie będzie, to zostanie zwrócony błąd 500, informujący o błędzie serwera i strony nie zobaczą ani użytkownicy ani wyszukiwarki.

Opisane tutaj przekierowanie jest bardzo proste do zrobienia i nie powinno nastręczać nikomu żadnych problemów.

Twitter Obserwuj mnie na Blip.pl 

Dodaj komentarz

Twój komentarz

CommentLuv badge