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.
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.
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
- PR A = 0,35
- PR B = 0,65
2. Páginas enlazadas entre sí
- PR A = 0,5
- PR B = 0,5
3. Página que enlaza a otras dos
- 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:
- 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
- PR A = 0,33
- PR B = 0,33
- PR C = 0,33
Ahora añadimos un enlace interno D hacia A:
- 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:
- 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).