PageRank revised

PageRank revised

22 de agosto de 2004 · 2 min de lectura
post

Como habreis podido observar, en el menú de la derecha, encima del calendario, os muestro el PageRank de mi weblog... ¡sin necesidad de tener la ToolBar de Google!

¿Y qué significa eso? Pues que utilizo un código PHP, junto con SSI para calcularlo y mostrároslo.

¿Quereis ver el código?

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
Autores
SEO, Content Marketing & LLMs (IA) Advisor
Desde 1998 vivo en la intersección entre tecnología, contenidos y búsqueda. He sido diseñador, programador, SEO y emprendedor en proyectos como Solostocks, Softonic, Uvinum y Drinks&Co. Hoy soy socio y SEO Manager en Mindset Digital, donde impulso estrategias de SEO para LLMs y sigo explorando nuevas ideas y side projects. Siempre aprendiendo, siempre optimizando.
comments powered by Disqus