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

Workflows y Agentes de IA para SEO

La Inteligencia Artificial ha dejado de ser una promesa futurista para convertirse en una fuerza transformadora en el presente y, el SEO, tenía que subirse también a la ola. Problema: nadar por el estado actual de herramientas, workflows y agentes de IA para SEO puede ser complicado, y el hype existente nubla la realidad práctica. […]

Leer más

No es GEO, LLMO, GAIO, LSO ni LEO, es sólo SEO: cómo hacer SEO para los LLM como ChatGPT

Cada vez que un nuevo concepto o sigla asoma en el mundo del marketing digital, GEO, LLMO,GAIO, LSO, LEO, etc. el debate gira en torno a si estamos ante una verdadera revolución o si es la misma estrategia de siempre con otro nombre. Mi experiencia es que la optimización para grandes modelos de lenguaje (LLMs) […]

Leer más