Page 1 of 1

How to determine Google Rank in PHP

How to determine Google Rank in PHP

Welcome to the Tweaking4All community forums!
When participating, please keep the Forum Rules in mind!

Topics for particular software or systems: Start your topic link with the name of the application or system.
Examples: "MacOS X - Your question", "MS Word - Your Tip or Trick".

Please note that switching to another language when reading a post will not work!
Posts will not have a translated counterpart.




RSS Feed

Home Forums Web Development How to determine Google Rank in PHP

Tagged: , ,

This topic contains 2 replies, has 1 voice, and was last updated by  hans 3 years, 8 months ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • 5119

    hans
    Keymaster

    Google appears to have no API to retrieve the Google rank of your website, but with a little PHP Helper class, we can retrieve this very quick.

    First create a file called “prclass.php” with the following content:

    <?php
    class GooglePR {
     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;
     }
    }
    ?>

    and to test this code:

    <?
    require("prclass.php");
    $url='//www.tweaking4all.nl';
    $pr = new GooglePR();
    echo "$url has Google PageRank: ". $pr->get_google_pagerank($url) ;
    ?>

    I found this code on the Internet, so it’s not my work.

    Original source: 99webtools.com

    5120

    hans
    Keymaster

    For convenience, the 2 files in a ZIP so you can download it if you’d like.

    Attachments:
    5128

    hans
    Keymaster

    I decided to write an article about this, using Google and Alexa ranking in WordPress.

Viewing 3 posts - 1 through 3 (of 3 total)



You must be logged in to reply to this topic.