Des graphes… aux mots, ep3

La suite de mon talk de Que Du Web 2017 à Deauville.

Dans cette troisième partie, on attaque du plus concret pour les SEOs, avec l’algorithme du PageRank, pourquoi il est souvent mal compris (et donc mal exploité) et comment l’appréhender correctement pour bien comprendre la circulation du PR au sein de son site.


(Voir la vue d’ensemble de la présentation avec tous les épisodes)

Les slides correspondants :

Le transcript

Le cerveau est un graphe…
On a donc vu la semaine dernière que les graphes sont donc utiles en tant que visualisation pour transmettre de l’information, et je vous avais interrogé sur les graphes très complexes, comme peut l’être le cerveau par exemple. Y a-t-il un seul de complexité au delà duquel les graphes ne servent plus à rien ?

En fait, pas du tout, et pour vous l’expliquer il faut que vous fassiez la connaissance de Léonard Euler.
C’était un Astronome, Ingénieur, et accessoirement mathématicien.

Les habitants de la petite ville de Königsberg sont venu lui soumettre une énigme à propos de leurs balades dominicales, sur les ponts de la ville.
Leur objectif était de parcourir la ville, en ne passant sur chaque pont qu’une fois et une seule.
Sur le moment, il les a envoyer promener, c’est le cas de le dire.
Mais ça le travaillait, et il s’est rendu compte que ce problème n’était soluble ni par le calcul, ni par la géométrie.
Ça lui a pris un an de travail, et il a inventé une nouvelle branche des mathématiques :

La théorie des graphes.
On avait donc le graphe comme représentation, mais depuis Euler, le graphe est devenu un objet mathématique extrêmement puissant, avec son lot de propriétés, d’algorithmes, etc…
Et c’est là dessus qu’est basé le web tel qu’on le connaît aujourd’hui.

Pour en revenir à un exemple concret, voilà un exemple de ce que permet l’objet mathématique :
On a ici un graphe qui représente un site web, et qui est peut être trop complexe pour être analysé tel quel.

La théorie nous permet de le réduire sous la forme d’un arbre, en conservant des propriétés bien choisies.
On a alors quelque chose de bien plus clair, dont on peut mieux apprécier la structure et isoler des défauts (ici, par exemple, des gros soucis de pagination et de duplicate).
On va maintenant continuer avec des applications SEO de cette théorie, et un algorithme incontournable :

Le Page Rank.
D’après le nom de Larry Page, un des fondateurs de Google.
C’est un algorithme qui a pour but de compenser l’importance d’un site en intégrant des signaux externes, des « votes ». Cet algorithme est véritablement au cœur de Google, et constitue à la fois sa plus grande force et sa plus grande faiblesse.
Bien souvent, parmi les SEOs, cet algorithme est mal interprété.
Pourquoi ?

La première approche, celle, historique, du brevet, est celle du Surfeur aléatoire. Un surfeur qui se promène de page en page en suivant les liens, comme les habitants de Königsberg suivaient les ponts…
Mais ça donne une probabilité de présence, et ça, ça fait peur à tout le monde (ou presque).
L’autre approche est celle de la diffusion : c’est une méthode itérative, qui donne strictement le même résultat : l’objet mathématique sous-jacent est le même.
Et le problème fréquent est de raisonner avec le second paradigme, mais sans appréhender le coté itératif, et on se plante…

Donald Knuth nous dit
« Un algorithme doit être vu pour être cru »
Et il a tout à fait raison, parce que si on ne sait pas ce que fait l’algo, forcément… on est cuit.

Pour voir et comprendre ces deux faces du PageRank, vous pouvez utiliser NetLogo.
C’est un outil desktop que m’a signalé @ThomasCubel.
On peut Simuler et avancer pas à pas dans les deux algos, bouger les paramètres, et mine de rien, c’est très très riche d’enseignement.
Par exemple ici, dans la méthode par diffusion, on est parti d’un poids identique sur chaque nœud, et on a fait un pas. Chaque nœud a « diffusé » son Page Rank aux nœuds auxquels il est lié.
C’est comme ça que raisonnent souvent les Seos : un lien « pousse ».
Sauf que c’est faux, car on oublie les itérations, qui peuvent tout changer.
(Ce qui est le cas notamment ici)

Et quand on a bien compris comment circule le PR, on voit des choses qui sont loin d’être intuitives.
Par exemple, faire un lien vers une page ne fait pas forcément monter le PR de la page cible.
On le voit sur ce premier exemple: je veux pousser cette page, en lui faisant un lien depuis une page forte, une grosse réserve de surfeurs. Hors les surfeurs qui arrivent sur cette page n’ont qu’un choix, celui de partir et tourner en rond sur les 3 pages qui suivent. On a voulu augmenter le PR de cette page, on a augmenté celui des 3 pages suivantes…
Deuxième effet contre-intuitif du PR : il ne se transmet qu’à une échelle (très) locale.
On le voit sur le cas suivant, où on voudrait par effet de cascade « pousser » la page en bout de chaîne.
Hors que font les surfeurs ? A chaque intermédiaire, ils ont 1 chance sur 5 de partir ailleurs plutôt que de continuer tout droit. 5x5x5 , 125… une chance sur 125 d’arriver à la page voulue.
Et là encore, c’est un cas de maillage très léger. Imaginez sur un site au maillage plus dense, par exemple avec 100 liens par page : 100x100x100 : 1 million. Quel jus arrive à la page finale ? Aucun.
Si vous pensez densité de maillage, mega menu, ça doit vous mettre la puce à l’oreille !

Le bon paradigme, je vais donc l’appeler « Boucle d’or ».
Pour les boucles et la règle d’or, mais aussi en mémoire du conte « boucle d’or et les 3 ours ».
Ce qui compte, ce sont les boucles, et des boucles courtes.
Ni trop, ni trop peu. Un maillage ni trop dense ni trop peu, un site ni trop profond, ni trop peu.
Voici un exemple de visualisation interactive sur cocon.se, qui montre comment une page profonde du site acquiert du pagerank interne grâce à des boucles avec d’autres pages, dont les pages du menu.
Si on raisonne en surfeur aléatoire, c’est logique : tout chemin qu’emprunte le surfeur depuis cette page lui permet de revenir à la page : il augmente sa probabilité d’être sur cette page.

C’est rapide, mais j’essaye de vous donner une vue d’ensemble plutôt que de me focaliser sur un point technique particulier.
Donc la méthodologie générale quand on travaille avec les graphes (ou d’autres objets mathématiques) est la suivante :
On part d’un objet « réel » qu’on converti en graphe, en objet mathématique.
Pour un site web, le parallèle entre les deux est encore simple. Les pages sont des nœuds, les liens entre les pages sont des arêtes.
Une fois qu’on a le graphe, on peut d’une part faire de la visualisation de ce graphe, donc avoir une vue de son site, mais aussi faire des calculs, mathématiques, et ce type de calcul par exemple, passer d’un graphe complexe à un arbre plus simple, qui va clarifier la situation en gardant certaines propriétés, c’est quelque chose qui a un intérêt concret et qu’on peut encore visualiser, l’arbre lui même, qu’on peut re-transposer à l’objet réel, le site, et donc observer directement certaines propriétés.
Ce va et vient qui est simple ici entre l’objet réel et l’objet mathématique nous permet de comprendre énormément de choses.

Il y a des cas où c’est un peu moins facile.
Site <=> Graphe, facile.
Dans le cas historique du pont de Königsberg de Euler, les différents ponts qui sont les liens entre les nœuds (les rives), le parallèle se fait encore facilement.
Mais on peut aller encore plus loin, et la semaine prochaine, je vous propose d’explorer un algorithme qui est beaucoup plus éloigné que ça de l’objet mathématique et qui a des applications concrètes, notamment pour le web et le seo.

Voilà, faites vos tests avec Netlogo, et la semaine prochaine j’espère vous montrer quelque chose chose de concret qui vous sera utile dans votre boulot de seo.