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.

1 Response to “SEO - Strona widoczna z jednego adresu i przyjazne linki. mod_rewrite i php”


  1. Gravatar 1 SasQ

    Heh… Jak dla mnie to takie “przyjazne linki” jak ten w URLu niniejszej strony są nawet mniej przyjazne niż /7KJHfds8asd :P

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word