Categories
seo theory & Babbar

Utiliser la force induite et Gephi pour faire du bon linking

Aujourd’hui nous allons aborder un sujet intéressant : celui de comment travailler les liens autour d’un site web que l’on souhaite pousser au niveau de Google.

Si vous n’êtes pas familier avec les diverses notions de surfeur aléatoire, vous pensez peut-être qu’il suffit de lier brutalement les sites “périphériques” au site cible, mais en fait ce n’est pas du tout si simple que cela, pour plein de raisons. Ces raisons, j’en parle dans cet article 😉

La vision centrée “pages” ou “site” n’est pas la bonne

Avez vous remarqué ? quand on fait du linking et qu’on cherche à comprendre où acquérir des liens, on se focalise sur les qualités supposées des pages ou des sites, les fameuses métriques. Mais ces métriques, qui sont intéressantes pour auditer un site par exemple, ne captent qu’une partie de la promesse d’un éventuel lien fait entre deux pages. C’est pourtant assez étonnant, alors qu’on achète (ou qu’on obtient légitimement) un lien, qu’on ne parle que des pages sources de ces liens.
Bien entendu, depuis quelques années, les SEOs s’assurent d’une forme de proximité thématique, mais soit de manière un peu archaïque (à la main ou via des métriques plutôt fausses), soit de manière overkill (positionnement sur des mots-clés proches), mais cela ne caractérise qu’une partie de l’intérêt d’un lien.

La force induite, la métrique Babbar de la force d’un lien

Quand nous avons mis en place Babbar, il était entendu que certaines métriques étaient incontournables. Les métriques pages/hosts/domains de popularité, confiance, popularité sémantique sont parmi celles-ci. Mais nous voulions aussi que l’outil soit le plus performant de la scène SEO en matière d’évaluation de liens (existants ou à faire), et c’est pour ceal que nous avons mis la force induite dans Babbar.

J’ai déjà eu l’occasion d’en parler depuis quelques années, mais de manière très résumée la force induite c’est une métrique qui prend la popularité d’une page source d’un lien, et qui va pondérer cette popularité avec d’autres facteurs dont des facteurs de compatibilité sémantique entre la page source et la page cible, mais aussi des facteurs liés au trust par exemple. Il faut vraiment retenir que la force induite c’est le scoring d’un lien, avec une valeur max qui sera la popularité de la page source, et une valeur minimale qui peut être zéro.

Vous pouvez utiliser cette force induite en testant tous les spots de linking qui vous sont proposés, en gardant à l’esprit que cela permet de tester de bonne manière des liens entres pages existantes, sinon la qualité de la prédiction de la force du lien est moins bonne. Pour en savoir plus sur la force induite elle-même, direction cette vidéo.

Utiliser la force induite et Gephi, un petit exemple

Nous allons maintenant dérouler un exemple complet. J’ai pris en exemple 9 sites, dont 3 ne sont pas à nous, les autres sont des sites “des frères Peyronnet”.
Mon objectif est de pousser au maximum le site :

https://www.xboxornot.fr

Il s’agit d’un site dédié aux tests de jeux xbox, si c’est votre turf n’hésitez pas il vaut le détour. Je souhaite le rendre plus présent dans Google via une opération de linking, j’ai la possibilité d’avoir autant de liens que je veux depuis les sites/pages suivants :

http://jeux-video.krinein.fr/
https://mangaspores.com/
https://www.blog2geek.com/
https://selon-une-etude-scientifique.org/quand-la-realite-virtuelle-pousse-a-la-depression/
https://une-belle-etoile.fr/

Ils font partie de nos sites, on a toute latitude pour faire les liens que l’on souhaite. J’ai aussi (attention c’est une belle histoire, mais ce n’est pas vrai, je ne connais pas les tauliers de ces sites) la possibilité de mettre un lien depuis la home de ces sites :

https://www.jeuxactu.com/sorties/xbox-one.htm
https://www.jeuxvideo-live.com/xboxone/news/
https://www.blogamer.fr/

Pour cet exemple j’ai choisi des sites qui sont dans la thématique, d’autres qui sont proches, d’autres très éloignés, ainsi nous pourrons voir les effets de force induite apparaitre. je vais justement utiliser dans la toolbox de Babbar le calcul de force induite en batch pour avoir une idée de la force de chacun des liens possibles. Voilà ce que l’on obtient :

Vous voyez en première ligne le site xboxornot vers lui-même : force induite (IS pour l’acronyme anglais) de 41, c’est le max qui peut arriver (une page vers elle même, la proximité est parfaite). On voit que le site pointé depuis des sites de jeux videos on reste sur des hauts scores (36, 23, 35, 19) tandis que des sujets proches provoquent des décotes violentes.

A ce stade je pourrais me contenter de ne pas me poser de questions : si je n’ai pas de budget je prends les liens à plus forte IS, et si je peux tout prendre je fais des liens depuis tous les sites vers le site cible xboxornot.

Avec cette stratégie naïve, classique en SEO, j’obtiens (calcul fait avec Gephi, je reviens sur le sujet de comment je fais ce calcul ensuite) un pagerank de 0,30 environ pour xboxornot en prenant en compte les forces induites des liens.

On peut mieux faire, mais comment ?

Si vous êtes familier de la théorie derrière le surfeur aléatoire et le pagerank, vous savez qu’on peut mieux faire en matière de linking. Pour cela on peut faire des pages de boost, des boucles d’amplification, etc. Mais le problème de la théorie, c’est de la mettre en pratique. Pour faire la mise en pratique il faut savoir comment simuler les transferts de pagerank sémantique.

L’idée de ce que je propose ici est très simple, on va utiliser le logiciel gephi. Il est dispo ici, et il existe de nombreux tutoriels comme celui de Daniel Roch par exemple, qui propose un certain nombres de use case SEO.
Je vais donc utiliser Gephi, et pour simuler le pagerank de manière sémantique et le plus correctement possible dans un contexte de réseau de sites, je vais utiliser plusieurs “astuces” de modélisation.

  1. Sans surprise, mes noeuds vont êtres les URLs qui porteront et/ou recevront les liens que je vais décider de faire.
  2. Je vais utiliser le poids des liens dans Gephi (colonne Weight) pour indiquer la force réelle de chaque lien, je vais donc mettre la valeur de force induite de chaque lien comme poids de ce lien. D’où l’intérêt de la fonctionnalité de force induite en batch dans Babbar.
  3. La dernière astuce est bien plus tricky. Le vrai problème que l’on a lorsque l’on modélise un schéma de linking, c’est qu’on oublie l’absorption (la rétention) que chaque site va faire à cause de sa taille et de la qualité de son propre linking interne. Vous le savez déjà intuitivement : un BL depuis une page qui comporte de très nombreux liens internes vers le reste du site qui porte le lien est moins efficace qu’un lien depuis une page qui en a très peu.
    Pour modéliser ceci, je vais créer un noeud virtuel pour chacun des noeuds que j’étudie. Dans les figures de cet article ces noeuds portent les noms M1, M2, etc. Ensuite je dois donner un poids au lien entre un noeud réel et son noeud virtuel. Ce poids sera la semantic value au niveau HOST, issue de Babbar.
    Pourquoi utiliser la semantic value du host pour la mettre en poids d’un lien ? Car la semantic value c’est une approximation de la quantité de popularité associée à des liens depuis des pages bien thématisées. Cela donne donc une idée de l’absorption d’un site web.

Au final, on va avoir ce type d’information dans Gephi, concernant notre exemple :

On voit par exemple que le site xboxornot reçoit des liens avec des forces induites qui vont de 1 à 36, et on voit également que M1 et xboxornot sont liés par un lien de poids 16, qui correspond à la semantic value du host en question. Si une semantic value est de 0, je mets 1.

Quand ensuite on calcule le pagerank avec Gephi, on peut faire des représentations graphiques montrant les liens, les sites qui en profitent, et on va pouvoir rentrer dans une démarche de recherche du meilleur linking assez facilement (mais de manière besogneuse cependant).

Après 10 minutes passées à s’amuser avec mon graphe exemple, j’ai par exemple trouvé une configuration où mon site cible voit son pagerank passer de 0,3 à 0,317 environ, ce qui est une amélioration non négligeable.

On voit également que par ailleurs cela permet de faire de l’optimisation “simultanée”, c’est-à-dire qu’on peut faire un linking qui va favoriser d’abord un site, puis en mettre un autre en 2eme, un autre en 3eme, etc. C’est-à-dire qu’on peut rentrer dans une logique de maximisation globale de la popularité de son réseau.

Quelles sont les limites de cette méthodologie ? est-ce qu’on peut faire mieux ?

La première limitation de cette méthodologie est sa scalabilité : cela reste une démarche manuelle, et si le nombre de pages est grand l’exploration sera particulièrement pénible. Il faut donc automatiser l’approche pour réellement pouvoir en profiter, avec du test de configurations de liens plus ou moins différentes, pour trouver et garder les meilleures.

L’autre point est de s’affranchir de Gephi pour faire des calculs à plus grande échelle et aussi d’avoir une simulation encore plus fiable. En effet, la création des noeuds virtuels M1, M2, etc. avec un poids qui est la semantic value du host est une manière de simuler au mieux l’absorption du host. Mais en réalité la bonne manière de faire est de mettre un vecteur de téléportation non uniforme, avec sur chaque noeud étudié une probabilité qui correspond à la puissance relative du host dans le réseau (cela peut être par exemple fait avec le BAS ou la value du host). L’algorithme qui fait cela s’appelle le pagerank personnalisé, et il est disponible dans la bibliothèque igraph (dispo avec R ou python). Pour en savoir plus, voici le lien vers la doc sur la fonction de calcul du pagerank, regardez bien les argument.

Et voilà, nous arrivons au bout de cet article, à vous maintenant d’adapter tout cela avec notre data Babbar, et n’oubliez pas que pour la grosse industrialisation nous avons une API disponible sur demande.

Photo by Clint Adair