Les moteurs de recherche parcourent chaque jour Internet et examinent de nombreux sites. Pour mener à bien cette tâche, ils utilisent des logiciels, appelés robots d’indexation qui “crawlent” l’ensemble des ressources d’un site dans un but d’indexation des données présentes.
La fonction du fichier robots.txt est de fournir des informations à ces robots et ainsi de faciliter leurs tâches. En facilitant le travail des robots, vous leurs permettez d’optimiser leurs actions et de ne pas gaspiller d’énergie pour des ressources inutiles et vous optimisez ainsi votre budget crawl alloué par les moteurs de recherche.
Par convention, les robots chercheront toujours à “lire” le fichier robots.txt à leurs arrivées sur un site pour examiner les ressources à éviter et se concentrer ainsi sur les données mise à disposition. Dans cette article, nous allons voir comment réaliser un robots.txt utile, la différence entre les directives disallow et noindex, les informations supplémentaires affichées dans le fichier ainsi que des exemples de fichiers.
Directives principales du fichier robots.txt:
L’objectif principale et premier du fichier robots.txt est d’indiquer les ressources à ne pas crawler. Toutefois, pour que les robots comprennent l’instruction, il est important de les désigner. Vous devez ainsi, avant d’indiquer les ressources à ne pas crawler, indiquer à quels robots ces instructions s’adressent. Notez toutefois qu’il s’agit d’instructions et non d’un ordre, le robot peut choisir de ne pas en tenir compte.
Pour indiquer à quel robot vous vous adressez, vous utilisez l’instruction User-agent: suivi du nom du robot, comme dans l’exemple qui suit:
User-agent: thebot
Dans cette configuration, les instructions qui suivront concerneront uniquement le robot nommé thebot. Afin de ne pas reproduire les instructions pour chaque robots et sachant que la taille maximale d’un robots.txt doit être 62 ko (Google ne lisant que des 500 premiers Kb de texte, soit 62 ko), vous pouvez l’instruction suivante :User-agent: * qui indique que les instructions qui vont suivre sont valables pour l’ensemble des robots.
Une fois déterminé les robots concernés, vous pouvez indiquer les ressources à ne pas crawler avec l’instruction Disallow:
Dans l’exemple suivant, les ressources /url1 et /url2 sont indiqués comme à ne pas crawler:
User-agent: *
Disallow: /url1
Disallow: /url2
A noter qu’il n’est pas nécessaire d’indiquer l’url complète, le fichier étant basé à la racine, le robot comprendra l’instruction. Enfin, si vous souhaitez interdire l’accès complet à un robot, il vous suffit de placer l’instruction Disallow: / qui indique que l’ensemble du répertoire est interdit d’accès. Enfin, si vous souhaitez autoriser uniquement une partie d’un répertoire, vous pouvez utiliser la directive Allow. Toutefois, cette directive doit se situer au dessus du fichier bloqué pour être sûr que le robot comprenne la demande.
Dans l’exemple suivant, le fichier file-a est autorisé au craw contrairement au dossier file-1 dont dépend le fichier a:
Allow: /file-1/file-a
Disallow: /file1/
Une fonction intéressante du fichier robots.txt est aussi d’indiquer l’emplacement du ou des fichiers sitemap.xml de votre site. Pour cela, il vous suffit d’utiliser la directive sitemap . Dans l’exemple suivant, nous indiquons l’adresse du sitemap du site e-commerce et celui du blog.
Sitemap: https://www.monsite.com/sitemap-ecommerce.xml
Sitemap: https://www.monsite.com/sitemap-blog.xml
Différence entre Disallow et Noindex:
Dans le paragraphe précédent, nous avons vu l’utilité de la directive Disallow qui recommande d’éviter le crawl d’une ressource. Il existe une autre directive qui permet la non indexation d’une ressource. Elle peut être utile si vous ne souhaitez pas interdire le crawl d’une ressource mais que vous ne souhaitez pas la retrouver dans les résultats des moteurs de recherches.
Dans l’exemple suivant, l’url /url1.html ne doit pas être indexé par les moteurs de recherche:
Noindex: /url1.html
Cette directive n’est pas forcément supportée par l’ensemble des moteurs de recherche, je vous invite à consulter les indications pour chaque moteur de recherche.
Wildcards, Craw-delay et commentaires: améliorez votre robots.txt
Comme nous l’avons vu plus haut, il important de proposer un fichier clair et léger pour la compréhension des robots mais aussi pour les personnes amener à lire et modifier le fichier robots.txt.
Afin d’alléger le poids du fichier, il est possible de regrouper plusieurs directives en remplaçant une séquence de caractères par une astérisque. Ainsi, dans l’exemple suivant, nous souhaitons bloquer l’ensemble des urls des paniers, construites sur le modèle order.php?id=(n°de la commande)
Il vous suffit ainsi de placer la directive suivante:
Disallow: /order.php?id=*
Une autre fonctionnalité du fichier robots.txt est d’informer les robots le minimum entre chaque requêtes grâce au paramètre Crawl-delay. Dans l’exemple suivant, nous indiquons au robot thebot que les ses requetes doivent être espacés de 30 secondes:
User-agent: thebot
Crawl-delay: 30
A noter que la directive Crawl-delay n’est pas supporté par Google et que vous devez paramétrer cette demande directement dans Google Search Console.
Vous pouvez aussi placer des commentaires dans votre fichier en utilisant le signe #. Comme dans tous fichier de programmation, cela permet de renseigner des informations sans quelles soient traitées.
Que mettre dans son robots.txt ?
C’est une question simple mais cruciale pour chaque site web et la réponse est assez simple en fait: ne bloquer que les ressources inutiles à la compréhension de votre site par les moteurs de recherches ou pouvant compromettre la sécurité de votre site. En effet, il est important de ne pas bloquer les accès aux fichiers javascript, PHP ou encore CSS afin que les moteurs de recherches puissent comprendre votre site dans sa globalité.
Concernant les pages compromettantes pour la sécurité de votre site, comme la page de login au back office, il est important de noter que si vous en bloquer l’accès via le robots.txt, vous indiquer aussi à n’importe qui l’adresse de la page, les fichiers robots.txt étant accessibles. Sur ce sujet, je vous conseille l’article de Yoast au sujet du fichier robots.txt qui indique leurs points de vue et la façon dont ils ont appréhendé le fichier (SPOILER ALERT: il ne reste pas beaucoup de ressources désavouées dans le fichier….).
Si vous souhaitez voir un exemple qui regroupe plusieurs des précédents points, je vous invite à aller voir le fichier du site lemonde.fr. Celui-ci utilise les commentaires mais aussi les directives Allow, Sitemap et Disallow. Vous remarquerez que peu de ressources sont interdites et le paramétrage des fichiers autorisés en fonction du type de robots est bien pensé et permet de sauver du budget crawl et de la ressources serveur. En effet, le Monde a fait le choix de n’autoriser que le fichier image au robot Googlebot-Image et que les archives pour le robot Googlebot-News.
Enfin, je tenais à mettre en avant une initiative intéressante: Humans.txt
Cette initiative a pour “but est de connaître les personnes qui se cachent derrière un site web. C’est un fichier TXT qui contient des informations au sujet des différentes personnes qui ont contribué à la construction du site”.
Retrouvez aussi notre article sur l’amélioration des performances de votre site et les tags publicitaires.