Google décrit le robots.txt pour ses 25 ans d’existence, et change les règles prises en compte…

Mathieu Chartier Référencement 0 commentaire

25 ans du robots.txt : standardisation et évolution du fichier de désindexation

Google a fêté les 25 ans du fichier robots.txt utilisé pour éviter l'indexation ou désindexer certaines pages web. En passe de devenir un standard au sens propre du terme, la firme a même mis en place un parser de robots.txt en open source. Le 2 juillet 2019, Google a continué son histoire autour du protocole de limitation de crawl en évoquant les directives (non officielles) qui ne seront bientôt plus du tout prises en compte par GoogleBot lors de la lecture d'un fichier robots.txt. Il y a du changement dans l'air...

Robots.txt : de sa naissance à sa standardisation ?

L'histoire du robots.txt est partie du webmaster Martijn Koster en 1994 lorsqu'il avait remarqué que son site web était submergé par les visites de robots. De cette simple anecdote est née le fichier texte et le protocole qui va avec, le REP (Robots Exclusion Protocol). Histortiquement, le REP n'a malheureusement jamais été un standard reconnu par l'IETF (Internet Engineering Task Force), c'est pourquoi des directives parfois méconnues ont pu fonctionner dans les robots.txt. Malgré cela, plusieurs moteurs de recherche ainsi que son créateur ont tenté de standardisé au mieux le protocole d'exclusion des robots, tout en le proposant à l'IETF. C'est actuellement le cas puisque le robots.txt est en draft (brouillon) auprès de l'organisme et que divers acteurs du web ont tout fait pour proposer des règles de standardisation pour l'usage du fichier texte (comme la possibilité d'utiliser des URL via le protocole HTTP ou FTP, ou encore le fait qu'une page connue pour devoir être désindexée le restera longtemps, même si le fichier robots.txt devient inaccessible quelques temps...), tout en cadrant sa syntaxe.

L'objectif de Google et des autres moteurs de recherche est donc bien de formaliser l'usage et la syntaxe des robots.txt afin d'obtenir le statut de standard, et d'éviter que des directives non officielles polluent l'usage du fichier originel.

Les directives officielles prises en compte

Google et les autres moteurs de recherche se sont mis d'accord sur les règles qui peuvent être utilisées au sein des fichiers robots.txt. Autant le dire, c'est un fichier extrêmement simple qui ne prendra en compte plus que quelques règles, et certaines directives "borderline" ne font plus partie du brouillon du REP envoyé vers la standardisation. Parmi elles, nous pouvons citer au moins les directives noindex, crawl-delay et nofollow. Dès le 1er septembre 2019, les moteurs de recherche dont Google ne supporteront plus du tout ces directives, parfois admises par le passé.

Google a proposé des alternatives (déjà connues...) pour contourner la disparition notamment de la directive noindex souvent admise sans être réellement officielle. L'usage de balises meta robots avec noindex (et nofollow en général) peut limiter l'indexation des pages concernées directement via HTML. Il est également possible d'envoyer des entêtes HTTP 404 ou 410 pour que Google visite la page mais la supprime dans la foulée (car le moteur ne conserve pas les pages d'erreur de ce type). D'autres méthodes comme l'outil de suppression d'URL de la Search Console ou encore les règles disallow des robots.txt permettent aussi de limiter l'indexation.

En résumé, le robots.txt en passe d'être standardisé (si l'IETF le valide...) ressemble réellement au fichier originel créé par Martijn Koster, avec quelques nouveautés admises grâce à l'évolution du web. En soi, un robots.txt peut donc accepter les directives suivantes :

  • User-agent: * ou User-agent: NOM-ROBOT
  • Disallow: /CHEMIN-REPERTOIRE/NOM-FICHIER et toutes les alternatives des disallow (avec ou sans regular expression)
  • Allow: /CHEMIN-REPERTOIRE/NOM-FICHIER et toutes les alternatives des allow (avec ou sans regular expression)
  • Sitemap: URL-SITEMAP-XML

C'est sommaire mais ça permet de faire le tour des possibilités du fichier robots.txt, et quoi qu'il en soit, tout autre règle ne sera plus supportée par Google dès le 1er septembre 2019...

Un parser open source pour les robots.txt

Google propose depuis le 1er juillet 2019 un parser open source en C++ qui permet de lire et comprendre les directives des fichiers robots.txt. Ironie de l'histoire, il s'agit bel et bien de la librairie utilisée par le moteur de recherche depuis 20 ans, avec encore des morceaux de code des années 1990, bien que le parser ait évolué avec le temps bien entendu. Ce qui est fort une nouvelle fois, c'est de voir à quel point Google mélange les technologies selon les besoins, avec ici C++ utilisé pour capter les diverses directives du fichier texte de désindexation. Entre Python, Java, Javascript, C++, HTML, CSS et certainement d'autres technologies, nul doute que le moteur de recherche sait varier les plaisirs et s'adapter à tous les besoins. Il faudra donc comprendre un peu C++ pour utiliser librement le programme open source fourni et utilisé par Google pour parser les robots.txt...