PageRank jest umowną oceną jakości stron WWW stosowaną przez wyszukiwarkę Google. Dzięki klasie GooglePageRank wartość PageRank można w prosty sposób sprawdzać w skryptach PHP. W ten sposób możesz na własnej stronie WWW udostępnić formularz do sprawdzania PR lub przygotować skrypt, który automatycznie sprawdzi wartość PR wszystkich podstron twojej witryny.
Wyszukiwarka Google umownie oznacza jakość
stron WWW, przypisując im wartość PageRank.
PageRank, oznaczany w skrócie PR, jest liczbą
z przedziału od 0 do 10. Im większa wartość
PageRank, tym większe znaczenie ma dana strona
WWW. Na przykład strona główna organizacji W3C
(http://www.w3c.org) ma wartość PR=10, a strona
Uniwersytetu Warszawskiego (http://www.uw.edu.pl) PR=8.
Wartość PR odwiedzanej witryny można sprawdzić
przy użyciu wtyczki Google Toolbar dostępnej
do pobrania na stronie http://toolbar.google.pl. Po
zainstalowaniu w przeglądarce, wtyczka wyświetla
wartość PR odwiedzanej strony. Rysunek prezentuje odczyt wartości PR starej strony \”Internet
Makera\”.
Klasa GooglePageRank
Do odczytu wartości PR w PHP służy klasa
GooglePageRank. Jest ona zawarta w pliku
{stala}google_pagerank.class.php{/stala}, dostępnym na stronie
http://code.google.com/p/popstats/.
Swoje działanie klasa GooglePageRank opiera
na klasie Cacher z pliku {stala}cacher.class.php{/stala}. Należy
więc pobrać dwa pliki: {stala}cacher.class.php{/stala} oraz
{stala}google_pagerank.class.php{/stala}.
Przykład pierwszy: odczyt PageRank w PHP
Skrypt PHP odczytujący wartość PR rozpoczynamy
od zdefiniowania stałej CACHE_DIR i utworzenia
folderu cache/. Następnie dołączamy klasę
{stala}GooglePageRank{/stala}:
define (\'CACHE_DIR\', \'./cache/\');
require_once \'google_pagerank.class.php\';
Odczyt wartości PR sprowadza się do wywołania
konstruktora klasy {stala}GooglePageRank{/stala}.
Konstruktor pobiera jeden obowiązkowy parametr:
adres URL dokumentu, którego PR chcemy poznać.
Wyznaczona wartość PR jest dostępna w polu {stala}$pr->pagerank{/stala}:
$adr = \'http://www.internetmaker.pl/\';
$pr = new GooglePageRank($adr);
echo $pr -> pagerank;
Przykład drugi: strony o nieznanej wartości PR
Nowe witryny WWW nie mają jeszcze ustalonej
wartości PageRank. W takiej sytuacji Google Toolbar
zwraca komunikat \”Brak dostępnych informacji
o ocenach PageRank\”, widoczny na rysunku 2.
Wartość niezdefiniowana nie jest tym samym,
co wartość równa 0. Wartość 0 mają witryny, które
już zostały poddane ocenie. Rysunek 3 przedstawia
PR o wartości 0 wyświetlany dla jednej z podstron
witryny www.gajdaw.pl.
Niestety, klasa {stala}GooglePageRank{/stala} zwraca wartość
0 zarówno dla witryn o wartości niezdefiniowanej:
$adr = \'http://www.gajdaw.pl/php/pearauth/index.html\';
$pr = new GooglePageRank ($adr);
echo $pr -> pagerank;
jak i dla witryn o wartości PR=0:
$adr = \'http://www.gajdaw.pl/webmastering/willa-ewa/index.html\';
$pr = new GooglePageRank ($adr);
echo $pr -> pagerank;
W momencie przygotowywania artykułu strona
http://www.gajdaw.pl/webmastering/willa-ewa/index.html miała PR=0, zaś strona http://www.gajdaw.pl/php/pear-auth/index.html miała niezdefiniowaną
wartość PR.
Przykład trzeci: PR równy -1
W celu odróżnienia witryn o niezdefiniowanej
wartości PR od witryn o wartości PR=0 należy
wprowadzić drobną modyfikację w klasie {stala}GooglePageRank{/stala}. Linię 65 oryginalnego pliku {stala}google_pagerank.class.php{/stala}:
$this -> pagerank = 0;
należy zastąpić przez:
$this -> pagerank = -1;
Wówczas dla stron o niezdefiniowanej wartości
PR klasa {stala}GooglePageRank{/stala} będzie zwracała -1:
$adr = \'http://www.gajdaw.pl/php/pearauth/index.html\';
$pr = new GooglePageRank ($adr);
echo $pr -> pagerank;
Przykład czwarty: sprawdzanie wielu adresów URL
W celu sprawdzenia wartości PageRank wielu
adresów URL przygotuj plik {stala}adresy.txt{/stala}. W każdej
linijce pliku umieść jeden adres:
http://www.google.com
http://wikipedia.org
http://www.uw.edu.pl
http://www.w3c.org
…
Przetwórz plik adresy.txt w pętli foreach:
$wynik = \'\';
$p = file (\'adresy.txt\');
foreach ($p as $linia) {
$tmpadr = trim ($linia);
$pr = new GooglePageRank ($tmpadr);
$tmp = $tmpadr . \'|\' . $pr -> pagerank . \"\r\n\";
echo $tmp;
$wynik .= $tmp;
}
file_put_contents (\'wynik.txt\', trim ($wynik));
W pliku wynik.txt zostaną zapisane wartości
PageRank dla wszystkich stron, których adresy
umieściłeś w pliku {stala}adresy.txt{/stala}.