Đã có nhiều công cụ kiểm tra Google PageRank rồi, code này chủ yếu để các bạn vọc hoặc là muốn tự tạo một công cụ kiểm tra PageRank trên chính trang web của bạn. Tuy không chắc rằng Google có khai tử PageRank trong năm 2014 này hay không, nhưng tinh thần học hỏi thì không bao giờ ngừng, bạn cứ thử làm code này trước khi mọi thứ quá muộn nhé.
Đầu tiên thì bạn tạo một class để đảm nhiệm nhiệm vụ lấy thông tin từ server của Google trước.
<?php class PR { public function get_google_pagerank($url) { $query="http://toolbarqueries.google.com/tbr?client=navclient-auto&ch=".$this->CheckHash($this->HashURL($url)). "&features=Rank&q=info:".$url."&num=100&filter=0"; $data=file_get_contents($query); $pos = strpos($data, "Rank_"); if($pos === false){} else{ $pagerank = substr($data, $pos + 9); return $pagerank; } } public function StrToNum($Str, $Check, $Magic) { $Int32Unit = 4294967296; // 2^32 $length = strlen($Str); for ($i = 0; $i < $length; $i++) { $Check *= $Magic; if ($Check >= $Int32Unit) { $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit)); $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check; } $Check += ord($Str{$i}); } return $Check; } public function HashURL($String) { $Check1 = $this->StrToNum($String, 0x1505, 0x21); $Check2 = $this->StrToNum($String, 0, 0x1003F); $Check1 >>= 2; $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F); $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF); $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF); $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F ); $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 ); return ($T1 | $T2); } public function CheckHash($Hashnum) { $CheckByte = 0; $Flag = 0; $HashStr = sprintf('%u', $Hashnum) ; $length = strlen($HashStr); for ($i = $length - 1; $i >= 0; $i --) { $Re = $HashStr{$i}; if (1 === ($Flag % 2)) { $Re += $Re; $Re = (int)($Re / 10) + ($Re % 10); } $CheckByte += $Re; $Flag ++; } $CheckByte %= 10; if (0 !== $CheckByte) { $CheckByte = 10 - $CheckByte; if (1 === ($Flag % 2) ) { if (1 === ($CheckByte % 2)) { $CheckByte += 9; } $CheckByte >>= 1; } } return '7'.$CheckByte.$HashStr; } } ?>
Bạn lưu class trên với tên pr.class.php, sau đó tạo một tập tin PHP khác để sử dụng lại code này:
<?php include_once("pr.class.php"); $url='http://sauhi.com'; $pr = new PR(); echo "$url PageRank: ". $pr->get_google_pagerank($url) ; ?>
Bạn chạy thử tập tin vừa tạo xem có đúng là trang của bạn có Google PageRank là như thế không nhé. Bạn có thể kiểm tra lại và so sánh kết quả với những công cụ đang chạy trực tuyến hoặc thông qua Google Toolbar.
Trước có làm thành công xong không biết mình quăng đi đâu mất ! Hix !
Cái này không tốt cho SEO rồi đó bạn. Chơi qua mắt Google có ngày cũng die thôi.
Đọc comment của bạn mà mình buồn cười =))
K hiểu ý của bác lắm
Có cả loại này luôn hả a Sáu? quá bá, nhưng nghe ông ở trên comment nên không dám thử 🙁
Cái này kiểm tra PR chứ có làm gì đâu mà không dám?
bạn đọc tiêu đề nội dung đi. Sao nói là kiểm tra.
PR bị khai tử rồi giờ MOZ đang lên ngôi
Moz là gì vậy bác