PageRank revisat

PageRank revisat

22 d’agost del 2004 · 2 min de lectura
post

Com haureu pogut observar, al menú de la dreta, per sobre del calendari, us mostro el PageRank del meu weblog... sense necessitat de tenir la ToolBar de Google!

I què significa això? Doncs que utilitzo un codi PHP, juntament amb SSI per calcular-lo i mostrar-vos-el.

Voleu veure el codi?

define('GMAG', 0xE6359A60);

//unsigned shift right

function zeroFill($a, $b){

$z = hexdec(80000000);

if ($z & $a){

$a = ($a>>1);

$a &= (~$z);

$a |= 0x40000000;

$a = ($a>>($b-1));

}else{

$a = ($a>>$b);

}

return $a;

}



function mix($a,$b,$c){

$a -= $b; $a -= $c; $a ^= (zeroFill($c,13));

$b -= $c; $b -= $a; $b ^= ($a<<8);

$c -= $a; $c -= $b; $c ^= (zeroFill($b,13));

$a -= $b; $a -= $c; $a ^= (zeroFill($c,12));

$b -= $c; $b -= $a; $b ^= ($a<<16);

$c -= $a; $c -= $b; $c ^= (zeroFill($b,5));

$a -= $b; $a -= $c; $a ^= (zeroFill($c,3));

$b -= $c; $b -= $a; $b ^= ($a<<10);

$c -= $a; $c -= $b; $c ^= (zeroFill($b,15));

return array($a,$b,$c);

}



function GCH($url, $length=null, $init=GMAG){

if(is_null($length)){

$length = sizeof($url);

}

$a = $b = 0x9E3779B9;

$c = $init;

$k = 0;

$len = $length;

while($len >= 12){

$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16)

+($url[$k+3]<<24));

$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16)

+($url[$k+7]<<24));

$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)

+($url[$k+11]<<24));

$mix = mix($a,$b,$c);

$a = $mix[0]; $b = $mix[1]; $c = $mix[2];

$k += 12;

$len -= 12;

}

$c += $length;

switch($len){ // all the case statements fall through

case 11: $c+=($url[$k+10]<<24);

case 10: $c+=($url[$k+9]<<16);

case 9 : $c+=($url[$k+8]<<8);

// the first byte of c is reserved for the length

case 8 : $b+=($url[$k+7]<<24);

case 7 : $b+=($url[$k+6]<<16);

case 6 : $b+=($url[$k+5]<<8);

case 5 : $b+=($url[$k+4]);

case 4 : $a+=($url[$k+3]<<24);

case 3 : $a+=($url[$k+2]<<16);

case 2 : $a+=($url[$k+1]<<8);

case 1 : $a+=($url[$k+0]);

// case 0: nothing left to add

}

$mix = mix($a,$b,$c);

// report the result

return $mix[2];

}



//converts a string into an array of integers (the numeric

//value of the char)

function strord($string){

for($i=0;$i

$result[$i] = ord($string{$i});

}

return $result;

}



function getPR($_url){

$url = 'info:'.$_url;

$ch = GCH(strord($url));

$url='info:'.urlencode($_url);

$pr = file("http://www.google.com/search?client=

navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&

features=Rank&q=$url");

$pr_str = implode("", $pr);

return substr($pr_str,strrpos($pr_str, ":")+1);

}

echo "Mi PR es: ".getPR("http://www.albertlg.com/blog/")."";

?>

Albert López
Autor
SEO, Content Marketing & LLMs (IA) Advisor
Des de 1998 visc entre tecnologia, continguts i cerca. He estat dissenyador, programador, SEO i emprenedor en projectes com Solostocks, Softonic, Uvinum i Drinks&Co. Avui soc soci i SEO Manager a Mindset Digital, impulsant estratègies de SEO per a LLMs i explorant nous projectes. Sempre aprenent, sempre optimitzant.