Obtener el PageRank de una página con PHP
El PageRank es un valor numérico que representa la importancia que una página web tiene en Internet.
Primero habría que reseñar que podemos apreciar que el PageRank no cumple las características de un ranking normal, pero sí está definido para cada página. El PageRank de una pagina (A) esta definido de manera recursiva por los PageRanks de las diferentes páginas que enlazan a la página(A).
Obtener el PageRank de una página con PHP
El siguiente script puede ser descargado de aquí, su implementación es muy sencilla ya que únicamente hay que pasarle el parámetro "url" (con la url de la que se quiere desvelar el PageRank).
Posibles respuestas a la ejecución del script
- A: valor numérico de 1 a 10.
- B: Si no hay salida es que la página no tiene PageRank asignado.
- C: 0, es duro pero ese sería el valor del PageRank de la página dada.
<?php
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;
}
function HashURL($String)
{
$Check1 = StrToNum($String, 0x1505, 0x21);
$Check2 = 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);
}
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;
}
function getpagerank($url)
{
$query="http://toolbarqueries.google.com/search?client=navclient-auto&ch="
.CheckHash(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;
}
}
if(isset($_GET['url']))
{
echo getpagerank($_GET['url']);
}
?>
PageRank 10
En este gráfico podemos apreciar la dramática subida que tendremos que afrontar si queremos llevar un sitio web a un valor de PageRank alto (> 5), como se puede apreciar el salto de PageRank 9 a PageRank 10 es un abismo, pero como veremos despues en algunos de los "mitos sobre el pagerank" el valor del PageRank es un número real y no uno entero como muchos usuarios piensan... por ello el salto de un valor de PageRank a otro es un proceso gradual pero invisible para nuestros ojos.

Imagen de Elliance
Hace algún tiempo publicamos esta entrada con curiosidades del PageRank y un listado de páginas con PageRank 10, ahora ninguna de estas páginas dispone de PageRank 10 e incluso el dominio "www.google.com" tiene PageRank 8.
- 4311 lecturas




Comentarios
copio el código y que hago
copio el código y que hago con el?
me responde alguien?
gracias
Harías: http://www.tudominio.
Harías:
http://www.tudominio.com/pagerankcode.php?url=www.canaldeportivo.com
Magnífico script, me lo guardo.
Felicidades
No hace falta tanto codigo
Hola gente.
Para saber el Page Rank no hace falta mucha cosa.
Si utilizas el navegador Firefox existe un plugin buenísimo para saber Pagerank, paginas indexadas, ranking de Alexa etc...
También se puede saber el Page rank con IE instalando la barra de google en el navegador.
Espero que haya sido e ayuda.
Un saludo.
Cierto Juanra
Muchas gracias Juanra estás en lo cierto! has visto alguna página con PageRank 10
www.google.com
google.com si lo tiene, debes acceder a través de google.es a "Google.com in English"
Enviar un comentario nuevo