Comment fonctionne un moteur de recherche ?

Comment fonctionne un moteur de recherche

Quand on commence à s’intéresser aux outils et au monde de la recherche, l’une des premières questions que l’on se pose, c’est “comment fonctionne un moteur de recherche ?”.

Le sujet est complexe, puisqu’il y a une multitude d’étapes avant, pendant et après une recherche que l’on peut effectuer. Il y a également toutes sortes de programmes informatiques – que l’on appelle souvent des algorithmes- qui effectuent une quantité souvent impressionnante de calculs pour pouvoir donner les bons résultats et dans le bon ordre.

Voyons rapidement les essentiels du fonctionnement d’un moteur de recherche tel que Google, Bing ou plus encore.

Vidéo explicative

Fonctionnement général

Si on grossit les traits de son fonctionnement, un moteur de recherche fonctionne généralement toujours de la même manière. Il passe par différentes étapes d’explorations des contenus, pour ensuite récupérer et stocker des informations utiles, pour ensuite vous les remettre dans le bon ordre à un moment T où vous effectuez une recherche.

Ce n’est pas : “Je tape ma requête et le moteur de recherche parcoure le web sur le vif”, c’est plutôt : “Le moteur de recherche a exploré et stocké une quantité phénoménale d’informations et de documents pour les restituer à un moment T lors d’une recherche utilisateur”.

Egalement, le moteur de recherche reconsidère après chaque recherche les résultats présentés, c’est-à-dire leurs positions, leur viabilité ou encore les comportements qui ont été réalisé pour telle requête, etc. Cela lui permet au fur et à mesure de saisir ce qu’il doit positionner à tel ou tel endroit, bien qu’il y ait plusieurs centaines de critères impactant le positionnement calculés au préalable.

Bref, difficile de tout vous lister ici lorsque je souhaite simplement introduire le sujet, mais je vous propose tout de même de faire le tour de quelques programmes essentiels que vous devez connaître pour pouvoir saisir globalement comment fonctionne un moteur. C’est essentiel quand on souhaite faire du SEO.

L’exploration avec le crawler

Un crawler est un programme informatique que nous pouvons configurer à notre guise et à qui nous donnons une URL de départ. Depuis cette dernière, son but est d’explorer, de mettre dans une file d’attente pour traitement, un ensemble d’URL qui seront utilisées par d’autres programmes. Pour ce faire, il cherche les liens au sein d’un ensemble de données (le web par exemple) en naviguant de page en page et de lien en lien.

Un crawler qu’on pourrait retrouver chez Google peut envoyer des centaines de milliers de robots / bots afin de découvrir de nouveaux liens continuellement et efficacement.

Une fois les URL récupérées, c’est ensuite au programme suivant, le scraper, d’aller récupérer des sites entiers et à l’indexer, d’organiser l’information dans un index (voir plus bas).

Un crawler est très souvent configurable. On peut lui donner une vitesse d’exploration, lui dire d’inclure ou d’exclure toutes sortes d’URL, de fichiers, de dossiers et même des sites entiers. On peut aussi lui dire d’aller explorer des fichiers particuliers comme le robots.txt ou un sitemap pour obtenir des directives d’explorations particulières.

Ce que vous devez retenir, c’est simplement que le crawler = Exploration afin de découvrir des URL.

L’extraction avec le Scraper

Une fois que le crawler commence ce qu’on appelle son “crawl” / son exploration, le processus suivant permet de récupérer toute sorte d’informations comme le titre de la page, la meta description, les blocs de contenus… et même des documents entiers.

Le programme qui est en charge de cette tâche s’appelle généralement un scraper. Il extrait de chaque document des informations / données utiles.

Tout comme le crawler, le scraper se configure et nous pouvons lui indiquer d’aller récupérer les titres des pages d’une certaine manière, le texte, les images… Tout dépend encore une fois du travail que l’on souhaite effectuer et des informations que l’on souhaite stocker.

Ce que vous devez retenir pour cette introduction, c’est que le scraper = Récupération d’informations ou extraction d’informations.

L’indexation avec l’Indexer

Après avoir parcouru bon nombre de liens / pages avec le crawler, puis produit une file d’attente pour le scraper qui va aller récupérer des informations, on peut passer à l’étape suivante, c’est-à-dire le stockage des informations dans une énorme base de données.

C’est l’indexer qui gère cette étape.

L’indexer est en effet en charge d’envoyer dans une grosse base de données appelé “index” , des informations qui pourront être utilisées plus tard.

Si on image rapidement l’indexer, c’est comme si vous donniez à un ou une bibliothécaire des milliers de livres, et que vous lui demandiez de les ranger. Il faudrait alors les étiqueter, les organiser par thème, les référencer, pour pouvoir les retrouver rapidement plus tard si quelqu’un les demande.

Pour ne pas trop compliquer les choses, gardez simplement à l’esprit que l’indexer = Processus d’indexation des informations et documents.

Le lieu de stockage ou l’Index

Au dessus, j’ai parlé de l’indexer qui est en charge de réaliser un index parfaitement organisé avec les informations / documents qu’a pu récupérer le scraper.

L’index, c’est justement cette immense bibliothèque parfaitement organisée. Une base de données intelligemment conçue.

L’index, quand on parle d’un moteur de recherche comme Google, est généralement là où se trouve une copie du web et différentes informations relatives aux contenus. C’est l’endroit où les informations arrivent, mais c’est également l’endroit où les informations sont récupérées pour pouvoir ensuite vous les donner lorsque vous faites une recherche.

En effet, cette grosse (énorme) base de données sert de “raccourci” pour les moteurs de recherche, notamment dans un souci de restituer des résultats rapidement pour une requête. Si les moteurs de recherche devaient chercher directement sur vos sites lors de vos recherches, vous attendriez longtemps avant qu’ils fassent le tour du web. L’idée de l’index est donc d’avoir une copie sous la main pour vous présenter le résultat rapidement.

Ce que vous devez retenir c’est que l’index = La base de données qui renferme l’ensemble des informations récoltées par le scraper.

L’interface utilisateur

Une des fonctionnalités que tout le monde connaît dans un moteur de recherche, c’est l’interface utilisateur. C’est là où vous posez toutes vos questions, que vous formulez vos requêtes et c’est aussi là où vous récupérez vos réponses / résultats.

L’interface utilisateur ne fait qu’afficher ce que lui envoient des programmes informatiques (algorithmes).

C’est loin d’être une fonctionnalité simple, mais c’est encore ce qui est le plus compris lorsque l’on présente le fonctionnement d’un moteur de recherche. Des algorithmes sont en charge de trouver des documents utiles pour votre requête, tout en vous les restituant dans un certain ordre, l’interface ne fait qu’afficher le retour de ces algorithmes.

L’interface utilisateur = L’interface que vous utilisez pour effectuer une recherche et récolter les résultats.

Les algorithmes de pertinence

Dans la partie sur l’interface utilisateur, j’ai dit que plusieurs programmes informatiques se chargeaient d’étudier vos requêtes / demandes pour ensuite aller chercher dans l’index les bonnes informations.

C’est ce qu’on appelle des algorithmes de pertinence.

Ces algorithmes étudient, pour votre requête et grâce à des centaines de critères, les documents qui sont stockés dans l’index qui pourraient vous aider dans votre recherche.

Par exemple, lorsque vous tapez “recette de gâteau au chocolat”, les algorithmes de pertinence explorent et calculent avec l’aide de programmes autour de l’index, quels sont les documents les plus complets, les plus pertinents, populaires pour telle ou telle recherche. Ils renvoient alors l’ensemble des résultats à l’interface utilisateur qui vous les affiche.

Algorithmes de pertinence = programmes informatiques qui étudient et calculent quels sont les documents et informations les plus pertinents pour une requête donnée.

Les algorithmes comportementaux

Il est difficile de présenter tous les types d’algorithmes qui composent un moteur de recherche, surtout que c’est une discipline à part entière, mais s’il y avait un autre type d’algorithme à connaître, c’est ceux liés au comportemental.

Nous effectuons toute sorte de recherches chaque jour, avec nos ordinateurs, nos téléphones, nos tablettes, nos assistants…

Nous effectuons également toutes ces recherches à des moments précis de la journée ou de la semaine, dans un lieu et dans un ordre particulier.

Nous avons des comportements d’internaute, de “chercheurs d’informations”.

Dans un moteur de recherche, il existe aussi des algorithmes qui étudient ces comportements. Ces algorithmes peuvent compter les clics que vous faites sur les différents résultats pour une requête donnée, ils étudient le temps passé sur le site, ce que vous avez consulté, si vous reformulez votre recherche ou si vous faites une action.

Bref, tout ce que le moteur de recherche peut mesurer pour améliorer ses résultats vis-à-vis de recherches spécifiques, il le fait, à condition que ce ne soit pas trop gourmand en ressources pour lui.

Ces algorithmes sont aussi importants que les algorithmes de pertinence, car même si vous faites les meilleurs sites du monde et que vous êtes qualifié de “pertinent” par les algorithmes de pertinence, les algorithmes de comportements peuvent vous déclasser progressivement si l’expérience utilisateur et les comportements sont mauvais. Il faut donc bien faire attention à ce que veulent nos internautes, nous verrons cela plus tard dans ce guide.

Retenez juste que les algorithmes comportementaux = un ensemble de programmes informatiques qui étudient les comportements des internautes vis-à-vis d’une requête.

Les filtres anti-spams

Les derniers éléments que je souhaitais vous présenter dans cette introduction au fonctionnement d’un moteur de recherche, ce sont les filtres et algorithmes anti-spams.

Le rôle d’un moteur de recherche, c’est de répondre correctement à une demande d’un internaute avec des résultats pertinents.

Maintenant, quand celui-ci doit faire face à des techniques de manipulation des résultats, des contenus parasites, vides, mals écrits, faux… Il doit prendre des mesures.

C’est là qu’interviennent les filtres anti-spams.

Ces filtres sont là pour filtrer et comme tout filtre, le but est de récupérer un produit que l’on a voulu dès le départ, quitte à être parfois radical.

Par analogie, prenons un filtre à café. Nous souhaitons récupérer les arômes, les saveurs du café après avoir versé de l’eau chaude, mais sans récupérer la mouture. Nous avons mis en place un filtre.

Ici, avec un moteur de recherche, c’est pareil. Un moteur comme Google par exemple ne souhaite pas voir des résultats peu pertinents, et il souhaite / doit garder sa neutralité vis à vis de chaque document web. Il ne peut pas se permettre de laisser passer devant des sites qui n’ont rien à faire dans ses résultats. Google pourrait perdre en crédibilité s’il ne proposait que des mauvais sites.

Les filtres anti-spam sont donc des programmes informatiques (des algorithmes encore) qui sont en charge de repérer le spam et de déclasser des résultats, voire même de les supprimer. Certaines informations stratégiques sont également transmises à des processus plus en amont comme le crawler par exemple.

Un filtre anti-spam = un programme qui est en charge de supprimer le spam au niveau des résultats de recherche.

Conclusion

Un moteur de recherche est un système extrêmement complexe qui doit s’adapter aux nouvelles technologies, aux évolutions du web et renvoyer les meilleurs résultats pour une requête utilisateur.

En amont de nos recherches, le moteur découvre grâce à un crawler l’ensemble des URL qui peuvent être sur le web. Ce crawler demande au scraper de récupérer des documents, des informations, pour qu’elles soient ensuite transmises à l’indexer qui stocke une copie des informations ainsi que des annotations, dans un index.

Lorsque nous effectuons une recherche via l’interface utilisateur des moteurs que nous utilisons au quotidien, différents types d’algorithmes repèrent les documents et informations pertinentes, tout en prenant en compte les comportements moyens et propres à chaque utilisateur pour effectuer un classement le plus juste possible.

A la suite de cela, plusieurs algorithmes décident continuellement de modifier certaines variables pour tester et ajuster les résultats, afin d’atteindre des objectifs ambitieux pour tout service de recherche de qualité.

Photo par Markus Spiske sur Unsplash