Présentation des robots d'exploration et des extracteurs Google (user-agents)

Google utilise des robots d'exploration et des extracteurs pour effectuer des actions sur ses produits soit automatiquement, soit à la demande de l'utilisateur. Le terme générique "robot d'exploration", ou plus simplement "robot", désigne tout programme qui permet de découvrir et d'analyser automatiquement des sites Web. Les extracteurs agissent comme un programme tel que wget, qui effectue généralement une seule requête au nom d'un utilisateur. Les clients de Google appartiennent à trois catégories :

Robots d'exploration communs Les robots d'exploration communs utilisés pour les produits Google (comme Googlebot). Ils respectent toujours les règles du fichier robots.txt pour les explorations automatiques.
Robots d'exploration spéciaux Les robots d'exploration spéciaux sont semblables aux robots d'exploration communs, mais sont utilisés par des produits spécifiques dont le processus d'exploration fait l'objet d'un accord entre le site exploré et le produit Google. Par exemple, AdsBot ignore le user-agent robots.txt global (*) avec l'autorisation de l'éditeur de l'annonce.
Extracteurs déclenchés par l'utilisateur Les extracteurs déclenchés par l'utilisateur font partie des outils et des fonctions produit dans lesquels l'utilisateur final déclenche une extraction. Par exemple, Google Site Verifier agit à la demande d'un utilisateur.

Propriétés techniques des robots d'exploration et des extracteurs Google

Les robots d'exploration et les extracteurs Google sont conçus pour être exécutés simultanément sur des milliers de machines afin d'améliorer les performances et de s'adapter à la croissance du Web. Pour optimiser l'utilisation de la bande passante, ces clients sont répartis dans de nombreux centres de données à travers le monde. Ils se trouvent donc à proximité des sites auxquels ils peuvent accéder. Par conséquent, vos journaux peuvent indiquer des visites provenant de plusieurs adresses IP. Google explore principalement à partir d'adresses IP aux États-Unis. Si Google détecte qu'un site bloque les requêtes provenant des États-Unis, il est susceptible de tenter d'explorer les URL à partir d'adresses IP situées dans d'autres pays.

Protocoles de transfert compatibles

Les robots d'exploration et les extracteurs Google sont compatibles avec HTTP/1.1 et HTTP/2. Les robots d'exploration utilisent la version du protocole, qui offre les meilleures performances d'exploration. Ils peuvent changer de protocole entre les sessions d'exploration en fonction des statistiques d'exploration précédentes. La version du protocole par défaut utilisée par les robots d'exploration Google est HTTP/1.1. L'exploration via HTTP/2 peut permettre d'économiser des ressources de calcul (par exemple, le processeur et la RAM) pour votre site et Googlebot. Toutefois, cela ne présente pas d'avantage particulier vis-à-vis des produits Google pour le site (par exemple, pas d'amélioration du classement dans la recherche Google). Pour désactiver l'exploration via HTTP/2, demandez au serveur qui héberge votre site de répondre avec un code d'état HTTP 421 lorsque Google tente d'explorer votre site via HTTP/2. En cas d'échec, vous pouvez envoyer un message à l'équipe chargée de l'exploration (notez toutefois que cette solution est temporaire).

L'infrastructure du robot d'exploration Google permet également l'exploration via FTP (telle que définie par la RFC959 et ses mises à jour) et FTPS (telle que définie par la RFC4217 et ses mises à jour). Toutefois, l'exploration via ces protocoles est rare.

Encodages de contenu acceptés

Les robots d'exploration et les extracteurs Google sont compatibles avec les encodages de contenu (compressions) suivants : gzip, deflate et Brotli (br). Les encodages de contenu pris en charge par chaque user-agent Google sont annoncés dans l'en-tête Accept-Encoding de chaque requête qu'ils envoient. Exemple : Accept-Encoding: gzip, deflate, br.

Vitesse d'exploration et charge de l'hôte

Notre objectif est d'explorer autant de pages de votre site que possible à chaque visite, sans surcharger votre serveur. Si votre site rencontre des difficultés pour répondre aux demandes d'exploration de Google, vous pouvez réduire la vitesse d'exploration. Notez que l'envoi d'un code de réponse HTTP inapproprié aux robots d'exploration Google peut avoir une incidence sur la façon dont votre site apparaît dans les produits Google.

Mise en cache HTTP

L'infrastructure d'exploration de Google prend en charge la mise en cache HTTP heuristique telle que définie par la norme de mise en cache HTTP, en particulier via l'en-tête de réponse ETag et de requête If-None-Match, ainsi que l'en-tête de réponse Last-Modified et de requête If-Modified-Since.

Si les champs d'en-tête de réponse ETag et Last-Modified sont présents dans la réponse HTTP, les robots d'exploration Google utilisent la valeur ETag, comme exigé par la norme HTTP. Pour les robots d'exploration Google en particulier, nous vous recommandons d'utiliser ETag au lieu de l'en-tête Last-Modified pour indiquer la préférence de mise en cache, car ETag ne présente pas de problèmes de mise en forme de la date.

Les autres directives de mise en cache HTTP ne sont pas prises en charge.

Les robots d'exploration et les extracteurs Google peuvent ou non utiliser la mise en cache, en fonction des besoins du produit auquel ils sont associés. Par exemple, Googlebot accepte la mise en cache lorsque les URL sont de nouveau explorées pour la recherche Google, et Storebot-Google n'accepte la mise en cache que dans certaines conditions.

Pour implémenter la mise en cache HTTP sur votre site, contactez votre hébergeur ou votre fournisseur de système de gestion de contenu.

ETag et If-None-Match

L'infrastructure d'exploration de Google est compatible avec ETag et If-None-Match, comme défini par la norme de mise en cache HTTP. En savoir plus sur l'en-tête de réponse ETag et son homologue d'en-tête de requête, If-None-Match

Last-Modified et If-Modified-Since

L'infrastructure d'exploration de Google est compatible avec Last-Modified et If-Modified-Since, tels que définis par la norme de mise en cache HTTP, avec les restrictions suivantes:

  • Le format de la date dans l'en-tête Last-Modified doit respecter la norme HTTP. Pour éviter les problèmes d'analyse, nous vous recommandons d'utiliser le format de date suivant : "Jour de la semaine, DD Mon YYYY HH:MM:SS Fuseau horaire" (par exemple, "Fri, 4 Sep 1998 19:15:56 GMT").
  • Bien que cela ne soit pas obligatoire, vous pouvez également définir le champ max-age de l'en-tête de réponse Cache-Control pour aider les robots d'exploration à déterminer quand réexplorer l'URL spécifique. Définissez la valeur du champ max-age sur la durée prévue, en secondes, pendant laquelle le contenu ne changera pas. Exemple : Cache-Control: max-age=94043.

En savoir plus sur l'en-tête de réponse Last-Modified et son homologue d'en-tête de requête, If-Modified-Since

Valider les robots d'exploration et les extracteurs Google

Les robots d'exploration Google s'identifient de trois manières :

  1. En-tête de requête HTTP user-agent
  2. Adresse IP source de la requête
  3. Nom d'hôte DNS inversé de l'adresse IP source

Découvrez comment utiliser ces informations pour valider les robots d'exploration et les extracteurs Google.