Comment fonctionne un moteur de recherche ?

Au cours de ce chapitre de la formation SEO gratuite en ligne, nous allons découper les différentes tâches d’un moteur de recherche pour expliquer et comprendre le fonctionnement d’un moteur de recherche tel que Google.

Crawler le web

La première étape consiste à découvrir toutes les pages web afin d’avoir d’une part une vision d’ensemble du web et d’autre part pouvoir répondre autant d’intentions de recherche possible.

Pour cela les moteurs de recherche utilisent leur propre des robots d’indexation / crawler (On peut citer pour Google le GoogleBot ou encore pour Microsoft Bing le BingBot).

Ces robots d’indexation ont pour mission de parcourir le web de lien en lien pour mettre à jour et enrichir la base de données du moteur de recherche.

Pour réaliser cette mission, les crawlers sont envoyés au hasard sur des pages web déjà connues du moteur de recherche. Une fois arrivé sur une page il analyse son contenu et liste les liens qui y sont présents.

L’un des points importants est que pour réduire les coûts d’indexation, les moteurs de recherche n’appliquent pas les mêmes traitements à toutes les pages web. Et c’est le crawler, lors de cette première analyse du contenu, qui décide du processus de traitement par lequel passera cette page web.

Pour décider de la chaîne algorithmique à appliquer à une page, le crawler se sert d’une multitude de signaux qui lui indiquent si la page doit être considérée comme du spam ou autre.

D’autre part, c’est également lors du crawl qu’un contenu peut être détecté comme un contenu dupliqué, ce qui permet au moteur de recherche d’éviter d’indexer un contenu sans valeur ajoutée.

Une fois que le robot a terminé d’analyser le contenu d’une page, il poursuit sa navigation en choisissant de suivre un des liens parmi tous les liens présents sur la page. Et il ajoute à la liste d’attente de crawl toutes les nouvelles urls détectées.

Notons également que tous les crawlers ne sont pas les mêmes, ils sont paramétrés avec des variables.

Indexer les contenus crawlés

L’index des pages web de Google contient des centaines de milliards de pages Web.

Source : https://www.google.com/intl/fr/search/howsearchworks/crawling-indexing/

Si Google rangeait toutes les pages dans un seul index et recherchait parmi celles-ci, celles qui sont pertinentes pour répondre à l’intention de recherche : cela prendrait un temps qui n’est pas raisonnable et par la même occasion engendrerait des coûts eux aussi déraisonnable.

Afin de répondre rapidement aux requêtes des internautes, les moteurs de recherche doivent alors découper leur index en une multitude de sous index plus ou moins fins. Ce type de structure s’appelle l’index inversé.

Pour cela, ils peuvent par exemple ranger toutes les pages web derrière tous les mots des différentes langues, ou encore par thématique, ou par catégorie de sites web (e-commerce, informationnel, …) etc.

Pour réaliser ce type de tâche Google a notamment inventé le patron d’architecture « MapReduce » qui permet de découper l’index en blocs pour effectuer des calcules sur ceux-ci et ensuite le regrouper pour constituer l’index.

Analyser les contenus indexés

En tant qu’humain nous pouvons comprendre le sujet d’un texte facilement. Mais pour que les moteurs de recherche comprennent de quoi parle un texte, ils doivent se fier à une multitude de signaux.

Comme vous le verrez dans le cours sur l’histoire des moteurs de recherche :

  • Par le passé, les moteurs de recherche se servaient essentiellement du modèle vectoriel de Gerard Salton et des améliorations qui en ont découlé.
  • Plus récemment, les moteurs de recherche utilisent les vecteurs de contexte pour effectuer une analyse plus fine du contenu.
  • La dernière avancée dans la compréhension d’un texte est l’algorithme BERT qui permet, entre autres, de lever l’ambiguïté de langage et apprécier la cohérence d’un contenu.

Arrêtons nous un instant sur cette mise à jour de l’algorithme de Google qu’est BERT.

Tout d’abord, il faut comprendre que pour classer les pages par rapport à une requête, il y a 2 enjeux principaux :

  • Bien comprendre la requête et particulièrement le besoin informationnel / l’intention de recherche.
  • Bien comprendre le contenu des pages et particulièrement l’intention à laquelle elle répond.

Pour ce qui est de la compréhension du contenu d’une page, les moteurs de recherche arrivent déjà très bien à le comprendre.

Aujourd’hui, c’est davantage vers la compréhension de l’intention de recherche d’une requête que la guerre sur la pertinence des résultats de recherche se joue. Et c’est en partie sur ce point que l’algorithme BERT est une petite révolution dans le domaine de la recherche d’information.

L’acronyme BERT qui signifie Bidirectional Encoder Representations from Transformers, est un algorithme de Natural Language Processing préentrainé qui permet de lever les ambiguïtés de langage en analysant le contexte dans lequel sont employé les mots.

Contrairement aux précédentes méthodes séquentielles (word2vec et autres) qui lisent les phrases dans un seul sens et qui utilisent un seul vecteur par mot, le fonctionnement bidirectionnel de BERT lit les phrases dans un sens (de gauche à droite) et dans l’autre (de droite à gauche).

Pour comprendre concrètement cet avantage, prenons l’exemple fourni par Jacob Devlin : le mot « Bank » en anglais peut avoir plusieurs significations. Il peut s’agir d’une « banque », mais aussi de la « rive » d’une rivière. Par conséquent pour comprendre le sens du mot « bank », il faut prendre en considération le contexte dans lequel il est utilisé et l’indication peut être avant ou après le mot « bank ».

Cela permet une vraie amélioration pour la compréhension des requêtes longues avec un système de probabilité d’apparition d’un mot dans un contexte. Ainsi un même mot peut à présent avoir plusieurs vecteurs selon son contexte.

Notons également que d’une part BERT utilise une technique appelée NSP (Next Sentence Prediction), qui permet de mesurer la cohérence des phrases qui se suivent. Et d’autre part, son fonctionnement permet aussi faciliter le travaille des moteurs de recherche en répondant à de nombreux besoins de ceux-ci et donc faciliter la maintenance et l’évolution sans passer par une pluralité d’algorithme.

Analyser la popularité des contenus (PageRank)

Une fois qu’un moteur de recherche dispose d’une liste de pages web qu’il pense être pertinentes pour répondre à une requête, il doit réussir à les classer avant de les proposer à ses utilisateurs.

Surfeur aléatoire

En 1998 Google a réussi à se démarquer de ses concurrent dès son lancement en utilisant la popularité des contenus pour les classer. Ce premier algorithme qui permet cette mesure est le PageRank qui se base à l’époque sur le concept de surfeur aléatoire :

Si un internaute (que Larry Page nomme le Surfeur aléatoire) démarre une session sur le web en prenant une URL au hasard et qu’il navigue sur le web en cliquant sur les liens qu’il trouve sur les diverses pages puis qu’à un moment il décide d’arrêter sa session. Et qu’il reproduit ce processus encore et encore… Alors on pourra constater au bout d’un certain nombre de sessions, que la proportion de fois où il passe sur une page finie par se stabiliser. C’est cette proportion de fois où il passe par la page qui donne le score de PageRank de cette page.

Pour ce qui de la formule du PageRank du surfeur aléatoire :

PR(A) = (1-d) + d (PR(T1)/C(T1) + … + PR(Tn)/C(Tn))

Source : The Anatomy of a Large-Scale Hypertextual Web Search Engine par Sergey Brin and Lawrence Page, page 4 : 2.1.1 Description of PageRank Calculation.

Décorticons rapidement cette formule :

  • PR(A) : Cette formule calcule le PageRank de la page A.
  • (1-d) :
    • Au départ toutes pages prennent pour valeur de PR 1.
    • Le paramètre d est un facteur d’amortissement compris entre 0 et 1 (généralement il est égal à 0,85, autrement dit 15% du temps le surfeur se téléporte), il représente la probabilité que le surfeur aléatoire « s’ennuie » et décide d’arrêter sa session pour en démarrer une nouvelle.
  • + d (PR(T1)/C(T1) + … + PR(Tn)/C(Tn)) : Il s’agit du calcule de la somme du PR en prenant en considération la probabilité de transmission du PR où Tn correspond aux pages contenant un lien ciblant A et où C représente le nombre de liens de la page Tn ne ciblant pas la page A.

L’itération de cette formule stabilisera la valeur du PR de la page A.

À noter que le PageRank de chaque page est compris entre 0 et 1 et que la somme des PageRank de toutes les pages est égale à 1.

Mais cette époque où la quantité de backlinks primait sur la qualité de ces backlinks et bien révolu et d’autres « surfeurs » plus représentatifs du comportement d’un internaute lambda sont apparus.

Surfeur thématique

En 2007 Google met en place le surfeur thématique qui se base sur l’algorithme développé par Taher Haveliwala en 2003.

Cela permet d’associer des PageRank à un contenu pour chaque thématique.

Ainsi selon la thématique de la requête Google utilisera le PageRank de la thématique concerné pour comparer la popularité des différents contenus.

Également, la transmission de PageRank entre les contenus sera influencée par la proximité de la sémantique des contenus qui sont liés entre eux. Cette notion est aussi vrai pour votre maillage interne grâce un maillage interne utilisant un glissement sémantique.

Surfeur raisonnable

En 2012, Google dépose un brevet sur le surfeur raisonnable.

Le concept est de pondérer l’importance des liens dans le parcours du surfeur raisonnable, selon l’emplacement des liens.

Ainsi il y a davantage de chance qu’un internaute clique sur un lien dans le contenu de la page, plutôt que sur un lien dans le footer par exemple.

À noter également que la position de ce lien dans le contenu principal aura davantage de valeur plus sa position sera au début de ce contenu.

Pondération de l'importance des liens pour le surfeur raisonnable.
Exemples fictifs d’une pondération de l’importance des liens pour le surfeur raisonnable.

Pour conclure sur le PageRank d’une page web : sa valeur est proportionnel à la quantité, mais aussi, et surtout à la qualité des liens ciblant une page. En effet, il vaut mieux avoir des dizaines de backlinks de bonne qualité que des centaines de liens entrants de mauvaise qualité.

Analyser la requête de l’utilisateur

Bien comprendre la requête d’un utilisateur et plus précisément son besoin informationnel est un enjeu déterminant pour lui apporter des résultats pertinents.

Malheureusement les requêtes des utilisateurs peuvent comporter de nombreux problèmes :

  • Très peu de mots utilisés
  • Mauvaise orthographe 
  • Méconnaissance de leur véritable besoin informationnel 
  • etc.

C’est pourquoi les moteurs de recherche doivent faire un travail sur les requêtes des utilisateurs avant de leur fournir une première liste de résultats.

Pour cela, les moteurs de recherche vont faire une expansion et/ou une reformulation de la requête de l’utilisateur afin d’apporter des réponses qui correspondent au besoin informationnel.

L’un des premiers algorithmes permettant de reformuler la requête pour améliorer la pertinence est celui de Rocchio qui date de 1971.

Celui-ci permet de créer une extension du modèle vectoriel de la requête initiale de l’utilisateur à partir de termes présents dans les contenus des résultats pertinents.

Source : https://www.neurones.espci.fr/Theses_PS/Stricker_M/CHAP2.pdf page 14 « La formule de Rocchio »

D’autres méthodes d’expansion et reformulation des requêtes ont vu le jour entre temps. Google a notamment déposé en 2012 un brevet sur l’évaluation des termes de substitution.

Il est également important de rappeler que ce n’est pas au moteur de recherche de décider de la qualité d’un résultat pour répondre à un besoin informationnel. Cette appréciation des résultats revient à l’humain.

C’est pourquoi les moteurs de recherche vont prendre en considération le comportement de l’utilisateur face à la liste des résultats proposés, pour mieux catégoriser l’intention de recherche de sa requête (Est-ce que l’utilisateur revient sur la liste des résultats après avoir cliqué sur l’un des liens ? Est-ce qu’il reformule sa question ? S’il y a plusieurs thématiques de résultats proposées, laquelle il choisit ? etc.).

Par conséquent, ce sont les pages de résultats qui vont satisfaire le besoin informationnel, qui vont permettre d’améliorer la catégorisation de la requête par rétropropagation de la pertinence grâce à l’ajustement des calcules des réseaux de neurones.

Filtrer le spamdexing

Google utilise de nombreux algorithmes pour lutter contre le spamdexing et notamment suite à la mise à jour « caffeine » de la structuration de son index en juin 2010.

Certains algorithmes sont considérés comme des mises à jour (Core Update) de Google, car ils n’ont pas pour objectif premier de lutter contre des techniques de sur-optimisation. Ils visent simplement à améliorer la qualité des résultats de recherche et par conséquent, ils font baisser dans le classement certaines techniques blacks hat, ou du moins les mauvais contenus.

Mais d’autres algorithmes sont conçus spécifiquement pour lutter contre la sur-optimisation en ciblant les caractéristiques de ces techniques (Manipulation du PageRank, fermes de contenu, cloaking, etc). Ils sont alors considérés comme des filtres qui nettoient l’index de Google.

Pour expliquer simplement leur fonctionnement : lorsque Google juge de la qualité / pertinence d’un contenu, il attribue une notation à ce contenu qui peut être positif ou nul. Tant dit que les filtres vont quant à eux attribuer une note négative en fonction des signaux détectés de spamdexing.

Créer la SERP

Maintenant que le moteur de recherche a crawlé le web, indexé les contenus, analysé les contenus, analysé leur popularité et filtrer les contenus qui cherchent à fausser les résultats : il lui reste une dernière étape consistant à améliorer la pertinence des résultats.

D’une part, il va utiliser tous les signaux dont il dispose sur la requête (importance géographique, intention d’achat, recherche d’information, thématique de la requête, etc.) et pondérer ces signaux pour personnaliser le classement en fonction de l’intention de recherche détectée.

Cela lui permet par exemple d’afficher dans sa SERP le local pack, des images, des articles en lien avec l’actualité, etc.

D’autre part, Google va continuer de peaufiner ses résultats de recherche en fonction des interactions entre les internautes et la SERP. Pour cela Google va notamment utiliser l’algorithme de machine learning « learning-to-rank » qui a pour objectif d’ajuster la pondération des signaux de classement au sein du réseau de neurones.


Auteur : Thomas Viennet
Dernière mise à jour : 01/09/2021


Sources

Aller plus loin

L’histoire des moteurs de recherche

Savoir d’où viennent les moteurs de recherche et vers quoi ils tendent (en particulier pour Google), vous permet de comprendre le fonctionnement des techniques de référencement naturel.

Quels sont les algorithmes de Google ?

Google fonctionne avec différents algorithmes, dont certains que vous devez absolument connaître (Google Panda, Google Pingouin, etc.) pour éviter les mauvaises surprises (pénalités et autres).

Les parts de marché des moteurs de recherche

Il existe plusieurs moteurs de recherche et selon les pays faisant partie de votre stratégie de référencement naturel, certains sont essentiels.

Fonctionnement de l’indexation d’un site web

C’est votre point de départ : être indexé par les moteurs de recherche et notamment par Google. Apprendre à maîtriser cette étape est la première clé du SEO.

Qu’est-ce que la recherche universelle

Dans une optique de moteur de réponse, Google diversifie ses types de résultats pour répondre aux intentions de recherche des requêtes de ses utilisateurs.

Qu’est-ce que la recherche vocale ?

Cette nouvelle façon d’effectuer des recherches sur internet doit être prise en compte pour l’élaboration d’une stratégie de référencement naturel.

5/5 - (7 votes)