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éponseCache-Control
pour aider les robots d'exploration à déterminer quand réexplorer l'URL spécifique. Définissez la valeur du champmax-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 :
-
En-tête de requête HTTP
user-agent
- Adresse IP source de la requête
- 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.