Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.



Hoe bepaalde je de ...
 
Deel:
Meldingen
Alles wissen

[Opgelost] Hoe bepaalde je de Google Rank van jouw website in PHP

3 Berichten
1 Gebruikers
0 Vind-ik-leuks
1,650 Bekeken
 Hans
(@hans)
Noble Member Admin
Deelgenomen: 11 jaar geleden
Berichten: 1065
Topic starter  

Helaas heeft Google hier geen nette API voor, maar met de hulp van een klein stukje PHP code kunnen we de Google Rank snel achterhalen.

Maak als eerste een bestand met de naam "prclass.php" met de volgende inhoud:

<?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;
 }
}
?>

Deze code kunnen we met een klein voorbeeld testen:

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

Voor de goede order, deze code heb ik op het Internet gevonden, en dit is dus niet mijn creatie.

Origineel: 99webtools.com


   
BeantwoordenCiteren
 Hans
(@hans)
Noble Member Admin
Deelgenomen: 11 jaar geleden
Berichten: 1065
Topic starter  

Voor het gemak, hier de 2 bestanden in een zipje ...


   
BeantwoordenCiteren
 Hans
(@hans)
Noble Member Admin
Deelgenomen: 11 jaar geleden
Berichten: 1065
Topic starter  

Ik heb besloten om dit in een artikeltje te gieten: Alexa en Google Ranking voor WordPress.


   
BeantwoordenCiteren
Deel: