|
Obtener el Pagerank de Google con PHP y MySQL. por Julio Laguna - redribera team
1.-Introducci贸n.
La mayor铆a de los webmasters, hasta hace bien poco, siempre han tenido una especial obsesi贸n en uno de los baremos de clasificaci贸n
del gigante de los buscadores de internet Google. Se trata ni mas ni menos que del archiconocido pagerank.
En el enlace anterior pode铆s ver los detalles generales de la definici贸n de pagerank seg煤n la wikipedia.
Se trata b谩sicamente de un sistema que califica la relevancia de una p谩gina web, otorgandole una calificaci贸n del 1 al 10 en funci贸n de la
cantidad de p谩ginas web que enlazan a esta. El caso de pagerank 0 suele ser una penalizaci贸n de Google hacia la p谩gina, y
adem谩s est谩 el caso de pagerank no asignado.
Adem谩s influye de cara a esta calificaci贸n la calidad de las p谩ginas que nos enlazan, es decir, p谩ginas con un pagerank elevado,
califican mas alto que p谩ginas de menor pagerank. El pagerank se suele actualizar (exportar a los datacenters p煤blicos de Google) cada tres meses por Google, aunque
no hay un periodo marcado para realizarlo, sino que es Google quien decide.
La mayor铆a de webmasters conocen este dato, tradicinalmente gracias a la famosa Google Toolbar, que es un plug-in que se instala
en nuestro navegador y entre otras utilidades, est谩 la de mostrar una barrita de color verde que no es ni mas ni menos que el pagerank
de la p谩gina que visitamos.
Adem谩s multitud de p谩ginas web nos permiten calcular el pagerank de una p谩gina concreta, El DirectorioPR, una de nuestras webs amigas es una de ellas.
No profundizaremos mas en los detalles del algoritmo, ya que en internet existe cantidad de informaci贸n al respecto de este tema.
Os dejamos un enlace a la wikipedia donde profundizar mas sobre este algoritmo. Definici贸n de pagerank en wikipedia.
2.-Actualizaci贸n masiva del pagerank partiendo de una tabla MySQL de enlaces con php.
En numerosos sitios webs, sobretodo los directorios de enlaces, es habitual, ver este dato de pagerank
de alguno u otro modo reflejado en los listados de sitios, como una cualidad mas del sitio.
De hecho el tutorial y los scripts que se plantean, tienen como principal objetivo el uso en este entorno.
De hecho hemos creado este tutorial, a raiz de la incorporaci贸n de este sistema en nuestro propio directorio de webs.
La mayor铆a de estos sitios, de uno u otro modo incorporan una o varias tablas principales con los sitios y direcciones URL, de
estos, en las cuales, un dato cualificativo mas es el pagerank y habitualmente, este es mostrado en estos listados
de enlaces.
A continuaci贸n voy a poner una estructura de tabla MySQL ficticia (que usamos en una tutorial anterior Construir un directorio de Webs con PHP y MySQL.,
la cual hemos modificado y le hemos a帽adido un campo num茅rico llamado pagerank.
CREATE TABLE `enlaces` (
`id` int(11) NOT NULL auto_increment,
`idsolicitud` int(11) default NULL,
`fecha` date NOT NULL default '0000-00-00',
`titulo` varchar(255) NOT NULL default '',
`link` varchar(255) NOT NULL default '',
`comment` text,
`seccionid` int(11) NOT NULL default '0',
`clave1` varchar(128) default NULL,
`pagerank` int(4) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
En realidad de esta estructura, que es bastate com煤n en directorios de enlaces,
solo necesitaremos los dos campos marcados en negrita, links y pagerank. El primero de ellos ser谩 la p谩gina
cuyo pagerank queremos calcular, y el segundo ser谩 el valor de este, almacenado en la tabla. As铆 podremos
presentarlo en los listados de un directorio de enlaces, o cualquier secci贸n de una p谩gina web, que utilice
los datos de enlaces contenidos en esta tabla.
Por supuesto, no todos tendre铆s una disposici贸n de datos como esta, pero es trivial la adptaci贸n y cambios necesarios
para adaptarlo a nuestro sistema. Para nuestro siguiente script, esta estructura nos vendr谩 perfecta como base para probar las funciones
de php que actalizan el pagerank masiv谩ente.
Bajo estas lineas, est谩 el script php que actualiza masivamente el pagerank de todos los registros contenidos
en la tabla enlaces, basandose en la URL suministrada por el campo link.
El coraz贸n de este script es la clase GooglePageRank que obtiene el Google Pagerank para una URL (lineas 27 a 132).
La clase GooglePageRank no es una invenci贸n nuestra. En Internet, hay multitud de p谩ginas que nos proporcionan
cantidad de funciones php (y otros) para obtener el PageRank de una URL. Nosotros hemos testeado esta clase que hemos incluido en
este tutorial y que hemos obtenido del Blog de Julian Yanover Bitsignals.com.
La URL ex谩cta es esta Como chequear nuestro pagerank en php.
Las lineas 12 a 25 definen la funci贸n update_pagerank, que es la encargada de actualizar el campo
pagerank de nuestra tabla (por id) con el obtenido mediante el m茅todo getPageRank de la clase
GooglePageRank.
El script comienza validando la existencia de la variable tipo en la URL de referencia (metodo GET, lineas 138 a 158).
Es decir el script se ejecuta de tres modos diferentes:
Si tipo es todos (ejecutando la p谩gina de modo nombre_script?tipo=todos),
la SQL de la linea 141 selecciona absolutamente todos los registros de la tabla enlaces, y para todos ellos
procesamos la obtenci贸n y actualizaci贸n del PageRank.
Si tipo es nulos (ejecutando la p谩gina de modo nombre_script?tipo=nulos), entonces solo operaremos con los regstros cuyo PageRank es nulo. Por defecto en la definici贸n
de la tabla enlaces, el campo pageRank se actualiza a NULL, un PageRank N/A, tambi茅n adopta el valor NULL, en la
tabla de enlaces. Claro necesitamos este modo de operar, para podeer actualizar solo los registros para los que no tenemos
informaci贸n de PageRank, ya que si a帽adimos regstros nuevos, y ya tenemos el PageRank calculado para el resto, a no ser
que Google no haya realizado una nueva actualizaci贸n del PageRank, no tiene sentido que actualicemos estos datos,perdiendo
tiempo de computo, cuando solo nos interesar铆an los registros nuevos de nuestra tabla de enlaces.
Finalmente cualquier otro valor de tipo, o la falta indefinici贸n de este, provoca que no se haga nada.
De las lineas 151 a 157, se encuentra el bucle que actualiza el PageRank del registro tras procesar la informaci贸n del enlace.
As铆 mismo el status de la operaci贸n se imprime en pantalla, para que podamos ver las incidencias (linea 156).
Con estos valores en nuestra tabla, es muy f谩cil mostrar una imagen de PageRank parecida a la de las barras verdes de la Google ToolBar.
Aqu铆 os dejo las imagenes que nosotros utilizamos para la presentaci贸n del pagerank en nuestro directorio
por si las quere铆s utilizar. No obstante hay muchas p谩ginas que ofrecen imagenes muy b贸nitas para mostrar el pagerank, y adem谩s siempre os las pode铆s
fabricar vosotros mismos con un dise帽o acorde a vuestro sitio, con un editor del tipo FireWorks de Macromedia u otro similar.
 | | Imagen para pagerank 0 |
 | | Imagen para pagerank 1 |
 | | Imagen para pagerank 2 |
 | | Imagen para pagerank 3 |
 | | Imagen para pagerank 4 |
 | | Imagen para pagerank 5 |
 | | Imagen para pagerank 6 |
 | | Imagen para pagerank 7 |
 | | Imagen para pagerank 8 |
 | | Imagen para pagerank 9 |
 | | Imagen para pagerank 10 |
 | | Imagen para pagerank no asignado |
|