Cómo funciona el PageRank y su implementación en Python

Ya sabemos que los enlaces de una página A hacia otra B pasan PageRank pero, ¿y de una página A hacia a la misma A? En este artículo veremos qué es el PageRank, otros algoritmos para calcular la autoridad de una página y cómo podemos calcular el PageRank en Python. De esta forma descubriremos qué ocurre si una página se enlaza a sí misma.

Qué es el PageRank

El PageRank es la forma que tiene Google de decidir la importancia de una página. Está considerado uno de los factores más importantes que determina el ranking de una página en los resultados de búsqueda junto con el contenido y RankBrain. Lo  comentan en el minuto 30:20 de este vídeo:

El PR es un valor numérico que representa la importancia de una página en la web. Cuando una página enlaza hacia otra, estaría emitiendo un voto hacia ella.

Como funciona pagerankPatente US6285999B1 – Method for node ranking in a linked database

Es por ello que cuantos más votos se tenga una página, más importante debe de ser y los votos que emita valdrán más.

Google no usa la fórmula original del PageRank desde 2006

El algoritmo original del PageRank ya no es el mismo y Google no usa esta fórmula desde 2006 como han confirmado.

Pagerank formulaFórmula original del PageRank

 

Además, según sus patentes, la autoridad de una página se podría calcular de muchas otras formas a parte del PR. Por ejemplo, mediante Hilltop Algorithmm, Hyperlink-Induced Topic Search (HITS), Trust Rank, Topic-sensitive Page Rank, Resonable Surfer Model, Weighted PR, Entity Salience y otros algoritmos que no sepamos. Y, como comentan en Mariani, M. S. et al. Ranking nodes in growing networks: When PageRank fails, que el PageRank sea estático (que no tenga en cuenta el tiempo que lleva un enlace) hace que falle en ocasiones para determinar el ranking de las mejores página. Esto es algo que probablemente Google haya tenido en cuenta ya por la compra de dominios expirados para redirigir. Minuto 29:00 del siguiente vídeo:

Lo que no ha cambiado en todo este tiempo es que para calcularse se tienen en cuenta el número de enlaces salientes (sean o no hacia la propia página). Lo podemos ver en la variable C de la fórmula anterior (está en el divisor del sumatorio).

Implementación del PageRank en Python

Para poder calcular el PageRank, haremos uso de del algoritmo del PageRank implementado en Python. Utilizaremos la librería Fast PageRank que he dejado lista para funcionar en Google Colab (puedes acceder al notebook aquí).

Hagamos el siguiente ejercicio para ver cómo fluye el PageRank en diferentes casos. Tendremos en cuenta un damping factor (d en la ecuación anterior) del 85% que Google aplica para que el PageRank no tienda al infinito.

1. Una página enlaza a otra

Pagerank pagina enlaza a otra

  • PR A = 0,35
  • PR B = 0,65

2. Páginas enlazadas entre sí

Pagerank paginas enlazadas entre si

  • PR A = 0,5
  • PR B = 0,5

3. Página que enlaza a otras dos

Pagerank pagina enlaza a dos paginas

  • PR A = 0,26
  • PR B = 0,37
  • PR C = 0,37

4. Página que enlaza a otra y a sí misma

Podemos ver por fin el motivo de este artículo:

Pagerank pagina enlaza a otra y a si misma

  • PR A = 0,5
  • PR B = 0,5

Vemos como efectivamente pasa PR enlazarse a sí mismo. Podéis comparar con el primer grafo para ver cuanto le suma a la página A.

5. Página que enlaza a otras dos y a sí misma

Pagerank pagina enlaza a dos paginas y a si misma

  • PR A = 0,33
  • PR B = 0,33
  • PR C = 0,33

Ahora añadimos un enlace interno D hacia A:

Pagerank nodos

  • PR A = 0,36
  • PR B = 0,24
  • PR C = 0,24
  • PR D = 0,17

Gracias al enlace recíproco de A, esa página todavía gana más fuerza. Si quitásemos el enlace autorreferencial quedaría:

  • PR A = 0,28
  • PR B = 0,27
  • PR C = 0,27
  • PR D = 0,15

Y ahora hacemos que B y C devuelvan el enlace a A:

Pagerank grafo

  • PR A = 0,56
  • PR B = 0,19
  • PR C = 0,19
  • PR D = 0,03

Conclusión

Hemos podido comprobar que, según la fórmula original del PageRank, los enlaces autorreferenciales pasan peso o «link juice».

Es algo que tendría sentido en función de la manera con la que quieras potenciar las páginas de tu web (PageRank sculpting).

Natzir Turrado 08 septiembre 2011

Compartir

Facebook Linkedin Twitter

Otros artículos

Los algoritmos de Google al descubierto. Cómo funciona el buscador según documentos filtrados

En este artículo nos adentramos en el funcionamiento interno de Google, una herramienta que todos usamos a diario pero que pocos comprendemos realmente. A raíz de la reciente filtración de documentos en un juicio antimonopolio contra Google, tenemos una gran oportunidad para explorar los algoritmos de Google. De algunos de ellos ya teníamos información, pero […]

Leer más

Aplicando el marco de Cynefin en la toma de decisiones y la gestión eficiente de proyectos SEO

Tomar decisiones acertadas en el volátil mundo del SEO puede resultar complicado, especialmente al enfrentarse a situaciones complejas y desconocidas. En este escenario, el marco Cynefin puede guiarnos a gestionar proyectos SEO en un entorno cada vez más VUCA (Volátil, Incierto, Complejo y Ambiguo) o BANI (Frágil, Ansioso, No lineal e Incomprensible). Al final de […]

Leer más