SEO – Strona widoczna z jednego adresu i przyjazne linki. mod_rewrite i php
Przyszło mi ostatnio zająć się pewną stronką. Uznałem, że przydała by się optymalizacja widoczności strony w google
Jedną z rzeczy jaką postanowiłem zrobić było ustawienie, że strona jest widoczna tylko z jednego adresu. Według wielu stron o SEO jeśli strona jest widoczna pod adresami www.strona.pl www.strona.com www.strona.com.pl i do tego jeszcze strona.pl itd. to google ustawia page rank dla wszystkich adresów oddzielnie, albo zaniża pagerank z uwagi na duplikującą się treść. Jak temu zaradzić? Trzeba zwrócić kod 301 Moved permanently i przekierować na właściwy adres. W ten sposób google będzie widział, że ma budować statystyki tylko dla tego jednego adresu. Dokonamy tego najpierw przy pomocy modułu serwera Apache o nazwie mod_rewrite, a potem php. Niestety nie na wszystkich serwerach jest uruchomiony ten moduł i nie na wszystkich serwerach mamy możliwość użycia pliku .htaccess
1. Przekierowywanie przez mod_rewrite
Musimy stworzyć na serwerze plik o nazwie .htaccess (w katalogu głównym) i wpisać do niego:
Options +FollowSymLinks
RewriteEngine On
# przypadek strona.com
RewriteCond %{HTTP_HOST} ^strona.com [NC]
RewriteRule ^(.*)$ http://www.strona.com/$1 [R=301,L]
#przypadek www.strona.pl
RewriteCond %{HTTP_HOST} ^www.strona.pl [NC]
RewriteRule ^(.*)$ http://www.strona.com/$1 [R=301,L]
I tak dalej dla reszty adresów. Pewnie by się dało wszystko w jednej linijce, ale mi tak wystarczy
Do pisania reguł mod_rewrite przydaje się znajomość wyrażeń regularnych. Przykłady zastosowań mod_rewrite można znaleźć na stronie: mod_rewrite Cheat Sheet.
2. Przekierowywanie przez php
Można użyć także php np. tak:
<?
//przypadek strona.com
$host=$_SERVER["HTTP_HOST"];
if ( $host == “strona.com” ) {
$location=”http://www.strona.com”.$_SERVER["REQUEST_URI"];
header( “Location: $location” );
exit();
}
//przypadek www.strona.pl
if ( $host == “www.strona.pl” ) {
$location=”http://www.strona.com”.$_SERVER["REQUEST_URI"];
header( “Location: $location” );
exit();
}
?>
Nie podaję tutaj, jak zrobić przyjazne adresy w PHP bo tego nie testowałem. Można sobie to wygooglować
Przyjazne adresy URL
Drugim naszym zadaniem jest utworzenie przyjaznych adresów podstron. Załóżmy że nasza strona ma adresy podstron w postaci: www.strona.com/main.php?strona=oferta Po pierwsze nie wygląda to najpiękniej, a po drugie mniej się to podoba googlowi. Użyjemy mod_rewrite aby to poprawić. Zamienimy podany wcześniej adres na taki oto adres: www.strona.com/nasza_wspaniala_oferta
Zawartość .htaccess :
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^nasza_wspaniala_oferta $ main.php?strona=oferta [L]
I gotowe. Teraz możemy w kodzie naszej strony używać przyjaznych linków i zyskamy lepsze wyszukiwanie w google.



Ostatnie komentarze