Robots.txt : Google veut en faire un Standard officiel

Robots.txt est un fichier texte pour webmasters créé pour instruire les robots web (généralement les robots des moteurs de recherche) sur comment explorer les pages sur leur site Web.

Robots.txt :Google veut en faire un Standard officiel

Le fichier robots.txt fait partie du Protocole d'Exclusion des Robots (REP = Robots Exclusion Protocol), un groupe de standards Web qui régulent la façon dont les robots crawlent le Web, accèdent et indexent le contenu, et servent ce contenu aux utilisateurs.

Le REP comprend également des directives comme les meta robots, ainsi que des instructions de page, sous-domaine (ou sous-répertoire) ou à l'échelle du site sur la façon dont les moteurs de recherche devraient traiter les liens (tels que « follow » pour suivre ou « nofollow » pour ne pas suivre).

Dans la pratique, les fichiers robots.txt indiquent si certains agents utilisateurs (logiciels d'exploration web) peuvent ou ne peuvent pas explorer des parties d'un site Web. Ces instructions d'analyse sont spécifiées par l'interdiction (“disallow”) ou l'autorisation (“allow”) du comportement de certains (ou tous) agents utilisateur.

Le format basique du fichier Robots.txt est le suivant :

User-agent: [nom user-agent]
Disallow: [Chaîne d’URL à ne pas crawler]

Ensemble, ces 2 lignes sont considérées comme un fichier complet robots.txt, bien qu'un fichier robots peut contenir plusieurs lignes d'agents utilisateur et de directives (c.-à-d., disallows, allows, crawl-delays, etc.).

Dans un fichier robots.txt, chaque ensemble de directives user agent ou agent utilisateur apparaît comme un ensemble discret, séparés par une rupture de ligne :

(Cliquez sur les images pour les agrandir)

Dans un fichier robots.txt, chaque ensemble de directives user agent ou agent utilisateur apparaît comme un ensemble discret, séparés par une rupture de ligne
Source : Moz.com


Dans un fichier robots.txt avec plusieurs directives user agent, chaque règle d'interdiction ou d'autorisation ne s'applique qu'à l'agent utilisateur spécifié dans cet ensemble de rupture de ligne particulière.

Si le fichier robots.txt contient une règle qui s'applique à plus d'un agent utilisateur, un robot fera attention (et suivra les directives) au groupe le plus spécifique des instructions.

Si le fichier robots.txt contient une règle qui s'applique à plus d'un agent utilisateur, un robot fera attention (et suivra les directives) au groupe le plus spécifique d'instructions.



Comment fonctionne le fichier robots.txt ?


Les moteurs de recherche ont deux tâches principales :

  1. Explorer le web pour découvrir le contenu;

  2. Indexer le contenu afin qu'il puisse être servi aux internautes qui sont à la recherche d'informations.

Pour explorer les sites, les moteurs de recherche suivent des liens pour se rendre d'un site à l'autre — et en fin de compte, voyagent à travers plusieurs milliards de liens et de sites Web.

Après être arrivé sur un site Web, mais avant de le parcourir, le crawler de recherche cherchera un fichier robots.txt.

S'il en trouve un, le robot lira d'abord ce fichier avant de continuer à travers la page.

Étant donné que le fichier robots.txt contient des informations sur la façon dont le moteur de recherche devrait explorer, les informations trouvées là instruiront davantage l'action des robots sur ce site particulier.

Si le fichier robots.txt ne contient pas de directives qui n'autorisent pas l'activité d'un agent utilisateur (ou si le site n'a pas de fichier robots.txt), il procédera à l'exploration d'autres informations sur le site.


C’est quoi l’user agent ou agent utilisateur ?


Selon la définition de Mozilla, l’user agent ou agent utilisateur est un programme informatique qui représente une personne, par exemple, un navigateur dans le cadre d'une utilisation sur le Web.

En dehors des navigateurs, un agent utilisateur peut être un aspirateur de sites, un gestionnaire de téléchargements ou toute autre application accédant au Web.

Les navigateurs, lorsqu'ils effectuent des requêtes vers un serveur, y intègrent un en-tête HTTP auto-identifiant User-Agent appelé chaîne de caractères user agent (UA). Souvent, cette chaîne identifie le navigateur, son numéro de version ainsi que le système d'exploitation de l'hôte.

Les spambots, gestionnaires de téléchargements et certains navigateurs envoient souvent des chaînes UA falsifiées pour se présenter eux-mêmes comme un client différent. Cette action est nommée user agent spoofing.

Côté client, la chaîne de l'agent utilisateur est accessible en JavaScript avec :

navigator.userAgent.

Une chaîne classique d'agent utilisateur ressemble à ceci :

"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"

Tout ce que vous avez lu jusqu'à ce stade de l’article correspond en gros au fonctionnement du fichier robots.txt jusqu’à l’annonce de Google à lire ci-dessous.


Google veut normaliser le fichier Robots.txt


D’après Google, depuis 25 ans, le Protocole d'exclusion des robots (REP) est l'un des composants les plus fondamentaux et critiques du Web. Il permet aux propriétaires de sites Web d'exclure les clients automatisés, par exemple les robots Web, d'accéder à leurs sites - partiellement ou complètement.

Google dit avoir proposé un standard officiel sur Internet pour les règles incluses dans les fichiers robots.txt.

Ces règles, décrites dans le Protocole d'Exclusion des Robots (REP), sont en effet une norme officieuse depuis 25 ans.

Bien que le Protocole d'Exclusion des Robots a été adopté par les moteurs de recherche, il n'est toujours pas officiel. Ce qui signifie qu'il est ouvert à l'interprétation par les développeurs. En outre, il n'a jamais été mis à jour pour couvrir les cas d'utilisation d'aujourd'hui.

Comme le dit Google, cela crée un défi pour les propriétaires de sites Web parce que la norme de facto rédigée de façon ambigüe rendait difficile l'écriture correcte des règles.

Pour éliminer ce défi, Google a documenté la façon dont le REP (Protocole d'Exclusion des Robots) est utilisé sur le Web moderne et l'a soumis à l'Internet Engineering Task Force (IETF) pour examen.

Google explique ce qui est inclus dans le projet:

Nous voulions aider les propriétaires et les développeurs de sites Web à créer des expériences incroyables sur Internet au lieu de nous soucier de la façon de contrôler les robots.

Avec l'auteur original du Protocole, les webmasters, et d'autres moteurs de recherche, nous avons documenté comment le Protocole d'Exclusion des Robots est utilisé sur le web moderne, et l'avons soumis à l'IETF.

Le projet du REP proposé reflète plus de 20 ans d'expérience dans le monde réel à s'appuyer sur les règles de Robots.txt, utilisé à la fois par Googlebot et d'autres robots majeurs, ainsi que par environ un demi-milliard de sites Web qui s'appuient sur le Protocole d'Exclusion des Robots.

Ces contrôles donnent à l'éditeur le pouvoir de décider ce qu'il aimerait voir explorer sur son site et potentiellement montrer aux utilisateurs intéressés.

Le projet ne change aucune des règles établies en 1994, il ne fait que mettre à jour le REP pour le Web moderne.

Voici quelques-unes des règles mises à jour :

  1. N'importe quel protocole de transfert basé sur URI peut utiliser le fichier robots.txt. Il n'est plus limité à HTTP. Peut être utilisé pour FTP ou CoAP aussi.

  2. Les développeurs doivent parser (faire une analyse syntaxique) d'au moins les 500 premiers kibioctets (ou kilioctets) d'un robots.txt.

  3. Un nouveau temps de mise en cache maximum de 24 heures ou une valeur de directive de cache si disponible. Ce qui donne aux propriétaires de sites Web la flexibilité de mettre à jour leurs robots.txt quand ils le veulent.

  4. Lorsqu'un fichier robots.txt devient inaccessible en raison de le défaillances du serveur, les pages interdites connues ne sont pas explorées pendant une période assez longue.


Les différents Tweets de Google à propos de robots.txt




Le protocole robots.txt est très simple, mais incroyablement efficace : en spécifiant un user-agent et les règles pour lui, les webmasters ont un contrôle granulaire sur ce que les robots peuvent visiter.

Peu importe qu'il s'agit d'une URL unique, d'un certain type de fichier ou d'un site entier, robots.txt fonctionne pour chacun.



Cela fait 25 ans, et le protocole d'exclusion des robots n'est jamais devenu un standard officiel. Bien qu'il ait été adopté par tous les principaux moteurs de recherche, il ne couvrait pas tout : un code de statut 500 HTTP signifie-t-il que le robot peut explorer quoi que ce soit ou rien ?



Aujourd'hui, nous annonçons qu'après 25 ans à être un standard de facto, nous avons travaillé avec Martijn Koster (@makuk66), des webmasters, et d'autres moteurs de recherche pour faire du Protocole d'Exclusion des Robots un standard officiel !



En 25 ans, robots.txt a été largement adopté, en fait, plus de 500 millions de sites Web l'utilisent !

Alors que user-agent (agent-utilisateur), allow (interdire), et disallow (autoriser) sont les lignes les plus populaires dans tous les fichiers robots.txt, nous avons également vu des règles qui ont permis à Googlebot d’ "Apprendre l'émotion" ou "Assimiler le Pickled Pixie".



Mais il y a aussi beaucoup de fautes de frappe dans les fichiers robots.txt.

La plupart des gens manquent des colonnes dans les règles, et certains les orthographient mal. Que devraient faire les robots avec une règle nommée « Dis Allow » ?



Pour aider les développeurs à créer des parsers qui reflètent les exigences du protocole d'exclusion des robots, nous publions notre parser robots.txt en tant qu’open source !

Mis à jour pour couvrir tous les cas non prévus, l'analyseur s'assure que Googlebot n’explore que ce qu'il est autorisé à explorer.



Google est entièrement ouvert aux commentaires sur le projet proposé et dit qu'il s'est engagé à bien faire les choses.