Qu'est ce qu'un moteur de recherche ? qu'est ce qu'un robot ?
Tout d'abord, il faut comprendre ce qu'un moteur de recherche cherche réellement. Quand un visiteur potentiel fait une recherche dans un moteur de recherche, tel que Google ou Yahoo!, il ne recherche pas sur le Web, mais il vérifie une base de données (un index) compilée par ce moteur de recherche. Cette base de données comprend le texte et les liens des pages Web qui ont été visitées par le robot du moteur de recherche.
Comment une base de données d'un moteur de recherche est compilée ?
Les moteurs de recherche compilent ces bases de données automatiquement en utilisant des programmes logiciels "robots", appellés aussi "araignées" (spiders). Ces programmes automatiques visitent des pages sur le World Wide Web, en commençant à un certain emplacement souvent arbitraire et en suivant les liens qu'il y trouve ou qui lui sont soumis. Quand un propriétaire de site Web "soumet" une page à un moteur de recherche, dans la plupart des cas elle fournit au robot du moteur de recherche un point de départ pour leur voyage automatique. Démarrant à partir de cet emplacement, le robot suit alors des liens et "découvre" ainsi d'autres pages dans un site Web ou visite d'autres sites auxquels le site est joint. (C'est de cette manère d'ailleurs que les moteurs de recherche peuvent trouver les différentes pages ou les sites entiers qui ne leur ont jamais été soumis : s'il y a un lien d'un site à un autre, les chances sont bonnes pour que par la suite un robot de moteur de recherche trouve ce lien et le suit.)
Qu'est ce qu'un robot peut lire ?
Les robots lisent le texte dans le code HTML des pages qu'il trouve sur le web. Malgré des efforts depuis quelques années par Google de lire le contenu textuel de fichiers Flash, pour lequel il est encore trop tôt de dire s'il apporte des résultats probants, les moteurs de recherche n'arrivent le plus souvent pas à lire ce type de fichier.
Quoique les robots visitent les pages comme les visiteurs humains, ce qu'ils peuvent faire avec ces pages et ce qu'ils "lisent" est tout à fait différent. Quand un visiteur humain emploie un navigateur pour visualiser un page Web, ce visiteur peut lire le texte sur la page, regarder les images, films, jeux, écouter des bruits, soumettre de l'information dans des formulaires, suivre des hyperliens, et nombre d'autres tâches. Le visiteur humain agit vraiment avec le site. Le robot d'un moteur de recherche, lui, peut seulement faire quelques unes de ces choses. C'est cette différence qui explique l'exclusion (ou plutôt la non-inclusion) de certaines pages (pages dynamiques, pages avec des scripts ou des pages en Flash,...) de la base de données d'un moteur de recherche.
Les robots de moteurs de recherche arrivent donc à "lire" du texte, et ils peuvent suivre des liens simples du type:
< a href="mapage.html">Ma Page</a >
ou la légère variation :
< a href="mapage.html><img src="monimage.gif"></a >
Les robots ne peuvent pas visualiser un film instantané, ils ne peuvent pas compléter un formulaire, et ils ne peuvent pas cliquer sur des boutons. Quelque soit la qualité du contenu de votre site, si un visiteur doit y accéder à partir d'un menu déroulant, un mot de passe ou un formulaire avant d'y accéder, aucun robot ne pourra visiter ces pages.
Les enjeux des moteurs de recherche
Dans le processus d'indexation automatique l'efficacité est recherchée à trois niveaux :
- L’indexation doit être rapide.
- L’indexation doit être aussi complète que possible, sans pour autant être exhaustive. Elle doit inclure le plus possible de formats de fichier.
- L’indexation doit respecter les sites visités, ce qui doit se faire principalement par la lecture du fichier robots.txt.
La fraîcheur de l’index
La pertinence d'un moteur de recherche dépend largement de la fraîcheur de son index (informations récentes et liens non-brisés). Le moteur doit donc trouver une juste mesure des périodes de parcours du Web pour rester à jour des changements de contenus disponibles sur le Web.
Les méthodes de crawl
L’"indexation par lot" ("batch crawling" en anglais) à partir d'une liste de liens, jusqu'à avoir effectué un "full crawl". Mais cette inexation présente des inconvénients importants : les robots indexent l’ensemble des pages à chaque cycle d'indexation, y compris celles qui ne changent jamais, ce qui rend le processus long (plusieurs jours, jusqu’à une semaine complète).
Les indexations partielles par la création d’agents d’indexation spécialisés sur des portions limitées du web (crawling ciblé (focused crawling) et crawl intelligent (intelligent crawl).
Le crawler "incrémental" : ici indexation ne s'arrête jamais et elle ne s'applique pas à tout le Web en permanence, un crawler incrémental cherche à déterminer quelles pages sont susceptibles d’être devenues obsolètes pour les mettre à jour le plus raidement possible. L'enjeu : indexer plus souvent les pages les plus importantes.