Google pagerank checker php script
Update:
As of March 7th 2016, Google has removed the page rank data available to public. Still Google uses page rank internally to crawl and display.
This message is confirmed Google's John Mueller via Twitter. So this api is depreciated and using this script will not produce any results.
As of March 7th 2016, Google has removed the page rank data available to public. Still Google uses page rank internally to crawl and display.
This message is confirmed Google's John Mueller via Twitter. So this api is depreciated and using this script will not produce any results.
Google ranks ( between 0 to 10 ) every page of your website. Mostly these ranks depends on number of back links to that page. Highly ranked pages will get higher position in the search results.
Google doesn't provide any direct API to retrive pageranks. So we have to submit the given url to toolbarqueries.google.com in order to get the page rank. Following page rank class do the same, just copy and paste this in a php file
class PR { #google toolbar url private $base; #holds current page rank public $rank; function __construct($url){ $this->rank=false; $this->base="http://toolbarqueries.google.com/tbr?client=navclient-auto&ch="; $this->get_google_pagerank($url); } private function get_google_pagerank($url) { $query=$this->base.$this->check_hash($this->hash_URL($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); $this->rank=$pagerank; } } private function str_to_num($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; } private function hash_URL($String){ $Check1 = $this->str_to_num($String, 0x1505, 0x21); $Check2 = $this->str_to_num($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); } private function check_hash($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; } } if(isset($_GET['url'])){ $url=$_GET['url']; $pr = new PR($url); if($pr->rank) echo "This page rank:".$pr->rank; else echo "This page doesn't have any GOOGLE PR"; }
Save this file in your htdocs as rank.php and access this page in browser like this:
http://localhost/rank.php?url=youtube.com
Note:
As this page connects to toolbarqueries.google.com to retrieve results you must have working internet connection to make this script work.
Comments (2)
Bhanu -
June 13, 2016
Page rank is coming as 0
WDS -
June 28, 2016
Sad that google removed it from public view... I have updated the post to reflect your comment, Thank You.