Comment fonctionne un moteur de recherche ?

Parmi les cours de SEO de cette formation, celui-ci est peut-être le plus important.

Nous allons ici essayer de comprendre comment fonctionne un moteur de recherche tel que Google. Pour cela nous allons découper les différentes tâches à réaliser pour afficher des résultats de recherche pertinents pour une requête.

Temps de lecture estimé : 9 minutes

Exploration du web

Pour les moteurs de recherche, la première étape consiste à découvrir tous les contenus disponibles sur le web afin d’avoir d’une part, une vision d’ensemble des liens entres les sites et d’autre part, pouvoir répondre à autant de recherches que possible.

Google explore 20 milliards de sites internet par jour.

Pour cela les moteurs de recherche utilisent des « robots d’indexation », aussi appelés « crawlers » ou encore « bots ».

Les principaux bots étant celui Google, à savoir le « GoogleBot » ainsi que celui de Microsoft Bing, le « BingBot ».

Néanmoins, sachez que chaque moteur dispose de son propre robot :

  • BaiduSpider, pour Baidu
  • Yandexbot, pour Yandex
  • Duckduckbot, pour Duckduckgo
  • Slurp, pour Yahoo!
  • Etc.

Notons que tous les crawlers d’un même moteur de recherche ne sont pas les mêmes.

Ceux-ci sont paramétrés avec des variables (durée de crawl accordé au site internet, nombre de pages à analyser par seconde, etc.) et n’interagissent pas de la même façon avec tous les sites internet.

De plus, tous les crawlers n’ont pas le même objectif : certains analysent la version mobile, d’autres la version desktop, d’autres récupèrent les ressources, d’autres les images, etc.

Ces robots d’indexation ont donc pour mission de faire une exploration web, pour mettre à jour et enrichir la base de données du moteur de recherche.

Précisons ici que les moteurs de recherche peuvent utiliser toutes sortent de méthodes pour découvrir de nouvelles URL.

Par exemple, Google peut détecter une nouvelle page grâce à son navigateur « Chrome », ou encore grâce à l’intégration d’un tag (Google Analytics, Google Ads, Google Adsens…) sur un site internet, etc.

Pour réaliser cette mission, les crawlers sont planifiés pour aller sur des pages web déjà connues du moteur de recherche et doivent effectuer une batterie de tâches :

  • Détecter et partitionner le contenu : les éléments de navigation, le contenu principal, les liens et leurs ancres, etc.
  • Créer une empreinte du contenu (encodage du texte) avant de calculer le taux de duplication avec des contenus déjà indexés, pour identifier la page comme canonique ou non.
  • Etc.
Illustration d'un système d'exploration du web pour le traitement de pages web explorées
Illustration d’un système d’exploration du web et du traitement des pages web explorées.

Source : Representative document selection for sets of duplicate documents in a web crawler system (19/07/2011) par Daniel Dulitz, Alexandre A. Verstak, Sanjay Ghemawat et Jeffrey A. Dean.

Un point important à noter est que pour réduire leurs coûts, les moteurs de recherche n’appliquent pas les mêmes traitements à toutes les pages.

Alors, même si une page web peut subir d’autres filtres par la suite, une première série de tests est déterminée lors de la phase de crawl.

Dans cette même logique d’économie des coûts, on parle aussi de filtre à l’URL, car des moteurs tels que Google ou Bing peuvent prédire à partir de l’URL si le contenu qu’ils vont trouver mérite ou non d’être crawlé.

En effet, imaginez que Google ait analysé une centaine de contenus d’un domaine et que dans 100% des cas ceux-ci étaient de mauvaises qualités.

On comprend aisément que Google ait tendance à passer son chemin lorsqu’il rencontre une nouvelle URL de ce domaine.

Une fois que le robot a terminé cette étape, il envoie au moteur de recherche toutes les informations collectées sur la page web ainsi que les ressources utilisées (fichiers CSS, JS, etc.), puis il poursuit son exploration avec une nouvelle URL.

Les ressources sont importantes pour effectuer une phase de rendering, qui consiste à générer la page web telle qu’un internaute la verrait, afin de juger de la convivialité de la page.

Indexer les contenus crawlés

Lorsque le moteur de recherche a récupéré toutes les informations (code source, ressources externes, etc.), il doit les indexer dans sa base de données.

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

Toutefois, si Google rangeait toutes les pages dans un seul index et recherchait parmi ces milliards de pages, celles qui sont pertinentes pour répondre à une 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.

De ce fait, pour répondre rapidement aux recherches des internautes, les moteurs de recherche doivent découper leur index en une multitude de sous-index.

Ces sous-index peuvent par exemple lister les contenus grâce aux mots des différentes langues, ou encore des thématiques, etc.

Ainsi lorsqu’un internaute effectue des recherches, le moteur peut croiser ses sous-index et utiliser une liste réduite de pages à classer et proposer à l’utilisateur.

Lorsque le moteur de recherche a récupéré toutes les informations (code source, ressources externes, etc.). Le contenu passe par un processus algorithmique qui détermine, à partir d'une multitude de signaux, s'il faut indexer ou non le contenu en question.
Exemple du fonctionnement d’un moteur de recherche avec un index inversé utilisant comme sous-index les mots de la langue.

Dans la mesure où Google a déjà suffisamment de contenus pour répondre à une requête, il peut choisir de « cacher » une partie des résultats.

On dit alors que ces résultats sont dans l’index secondaire en opposition aux contenus affichés qui font partie de l’index primaire.

Analyser les contenus indexés

En tant qu’humain nous avons le sentiment que comprendre le sens d’un texte est une tâche facile.

Cependant, cette compréhension nécessite en réalité une représentation du sens de chacun des mots de la langue, ainsi qu’une exploitation structurée des connaissances accumulées.

Et pour un moteur de recherche, cela passe par un processus de machine learning complexe de plus en plus « savant ».

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é.

Ces avancées ont d’abord permis d’encoder du texte sous forme mathématique, pour ainsi effectuer des traitements automatiques et déterminer la similitude entre des textes.

Cette méthode consistait à créer un sac de mots (regrouper les mots sous leur version canonique) avec le contenu d’un texte.

Puis de faire une lemmatisation (retirer le bruit / les mots ne portant pas de sens) de ceux-ci en vue d’effectuer les calcules qui permettent de créer le vecteur du texte.

Voici un exemple pour comprendre comment fonctionne un moteur de recherche :

Prenons ce texte : « Les résultats classés de recherche proviennent des moteurs de recherche qui classent les résultats. »

Créer un sac de mots donnerait : Les; résultat; classer; de; recherche; provenir; des; moteur; qui.

Et une lemmatisation donnerait : résultat; classer; recherche; provenir; moteur.

En encodant cette suite de mots, on peut obtenir le vecteur du texte.

Pour finir, on applique le même processus à la requête pour obtenir son vecteur et le cosinus entre ces 2 vecteurs donne une mesure de proximité / similarité entre le texte et la requête.

Représentation de 2 documents (A et B) ainsi qu'une requête, dont la proximité de la requête avec les documents est représentée par les angles entre les vecteurs.
Représentation de 2 documents (A et B) ainsi qu’une requête, dont la proximité de la requête avec les documents est représentée par les angles entre les vecteurs.

Par la suite, la méthode de pondération TF-IDF a permis quant à elle d’évaluer l’importance d’un terme dans un texte en fonction de son nombre d’occurrences et de sa rareté dans le corpus.

TF signifie Term Frequency : il s’agit de la fréquence d’apparition du terme recherché dans le texte. Pour ne pas avantager les contenus de petite taille, cette fréquence est calculée en divisant le nombre d’apparitions du terme, par le nombre d’apparitions du terme le plus fréquent dans le contenu en question. 

IDF signifie Inverse Document Frequency : les termes présents dans la requête pouvant être très fréquents, l’importance de ceux-ci est pondérée en fonction de leur rareté au sein de l’index. Ainsi plus un mot est rare, plus son importance est grande.

La valeur TF-IDF d’un terme est ensuite calculée en multipliant la TF par l’IDF.

Vous remarquerez qu’avec ces approches, c’est le texte dans sa globalité qui est encodé.

La pertinence d’un texte pour une requête était donc basée sur le score de similarité entre les mots-clés recherchés et le texte indexé, sans prendre en compte le sens des mots ou l’ordre d’apparition de ceux-ci.

Plus récemment, les avancés technologiques ont permis aux moteurs de recherche d’utiliser de façon industrielle des vecteurs de contexte pour effectuer une analyse plus fine.

Pour ce faire, un score de relation est attribué entre chaque mot existant.

Par exemple le mot « SEO » a un score de relation plus fort avec le mot « search », qu’avec le mot « information » :

Scores de relationSEOSearchInformation
SEO10/109/102/10
Search9/1010/102/10
Information2/102/1010/10
Exemples de scores de relation entre des mots, pour illustrer le fonctionnement du word embedding.

Dans cet exemple, les vecteurs de ces mots sont :

  • SEO : (10,9,2)
  • Search : (9,10,2)
  • Information : (2,2,10)

Cette approche avec des vecteurs de contexte est fondamentalement différente de celles basées sur le cosinus de Salton, car elle s’intéresse à chacun des mots qui constituent un texte pour créer une représentation de la langue.

La dernière avancée dans la compréhension d’un texte est l’algorithme BERT qui permet, entre autres, de lever les ambiguïtés de langage et d’apprécier la cohérence d’un contenu, grâce à un mécanisme d’attention entre les mots d’une phrase et une lecture à double sens.

Analyser la popularité des contenus

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.

Aux yeux de Google, le principal critère de fiabilité d’un contenu est sa popularité.

Google calcule donc la probabilité de chance pour qu’un internaute soit en train de consulter un contenu et plus la probabilité qu’un grand nombre d’internautes consultent un contenu est forte, plus celui-ci est considéré comme populaire.

Chez Google, la formule de mesure de popularité d’un contenu s’appelle le PageRank, du nom de son inventeur : Larry Page.

Cette formule est basée sur les liens entre les sites.

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 effectuent un travail sur les requêtes des utilisateurs avant de leur fournir une première liste de résultats.

Globalement, ce travail consiste à faire une expansion et/ou une reformulation de la requête afin d’apporter des réponses qui correspondent au besoin informationnel, même si celui-ci est mal exprimé.

Filtrer les mauvais résultats

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 agressives de SEO.

Ils visent simplement à améliorer la qualité des résultats de recherche et par conséquent, ils font baisser dans le classement les mauvais résultats.

Mais d’autres algorithmes sont conçus spécifiquement pour lutter contre ces techniques de manipulation, en ciblant les caractéristiques de ces techniques (fermes de contenu, cloaking, etc).

Ils sont alors considérés comme des filtres qui nettoient l’index de Google.

Google utilise de nombreux filtres pour lutter contre les techniques de manipulation de ses algorithmes, dont les plus connus sont Google Panda et Google Penguin.

Pour expliquer simplement leur fonctionnement : lorsque Google analyse un contenu, il attribue une notation qui peut être positive ou nulle. Tandis que les filtres vont quant à eux attribuer une note négative qui impacte fortement le classement.

Créer le classement

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

Pour cela, il va d’une part, utiliser tous les signaux dont il dispose sur la requête (intention navigationnelle / d’achat / d’informations, thématique de la requête, géolocalisation de l’utilisateur, etc.) pour activer des fonctionnalités dans ses résultats de recherche.

Cela lui permet par exemple d’afficher dans ses résultats de recherche une carte des lieux pertinents, des images, des articles en lien avec l’actualité, etc.

D’autre part, Google peaufine la pondération des critères de classement en continu grâce aux interactions entre les internautes et les résultats proposés.

Seul l’humain est capable d’apprécier la pertinence d’un résultat.

Par conséquent, un algorithme est dédié à l’apprentissage de la pondération des critères pour classer les résultats (learning to rank), en analysant le comportement des humains.

Thomas Viennet

Auteur :
Dernière mise à jour : 4 février 2024

Vous êtes ici : Référencime > Formation SEO gratuite en ligne certifiante pour Google > Comment fonctionne un moteur de recherche ?

Principales sources d’informations

Menu de la formation 🧗