Guide Robots.txt

Ses directives et son incidence sur le SEO

Le fichier robots.txt forme, avec la balise meta robots et l’en-tête X-Robots-Tag, un ensemble d’outils qui permettent d’indiquer aux robots de crawl un ensemble de règles : limitation de l’indexation de certaines pages, blocage du robot de crawl pour l’ensemble d’un site, directive dédiée à un seul fichier, sont à votre portée.

  1. Définition et fonctionnement
  2. Syntaxe du fichier
  3. Outil de test du fichier robots.txt de Google
  4. Les enregistrements les plus fréquents
  5. Les erreurs les plus fréquentes
  6. Liste des directives
  7. Autres possibilités offertes par le robots.txt
  8. Foire aux questions
  9. L’attribut data-nosnippet

Définition et fonctionnement

Le fichier robots.txt doit être présent à la racine d’un site Web. Google va le parcourir assez fréquemment avant tout chargement d’une page HTML ou d’un fichier. Le robot de crawl a besoin des informations qui y sont contenues pour savoir quelles sont les directives que l’éditeur a mis en place : pour le site dans son ensemble ou pour une partie du site (notamment, quelles pages sont autorisées ou interdites d’accès).

Notons que pour spécifier des règles au niveau d’une page HTML ou d’un fichier, il est possible d’utiliser :

  • La balise meta robots : une balise dédiée aux fichiers HTML qui doit être placée entre les balises HEAD. Elle permet d’indiquer des directives pour une page donnée,
  • L’en-tête X-Robots-Tag : est un en-tête HTTP qui est renvoyé par le serveur et qui permet de spécifier les mêmes directives que la meta robots. Il est souvent utilisé pour les fichiers n’étant pas au format HTML (ex. fichiers PDF, fichiers images, fichiers CSV, etc.).

Syntaxe du fichier

Le fichier robots.txt doit contenir :

  • Des URLs valides, ou chemins d’accès valides,
  • Un enregistrement par ligne sous la forme : [CHAMPS]:[VALEUR][#commentaire-optionnel]

> Les valeurs possibles pour [CHAMPS] :

  • User-agent
  • Disallow
  • Allow
  • Sitemap
  • Crawl-delay

Important : “Disallow:” et “Allow:” doivent forcément suivre une ligne “User-agent:”.

> Les valeurs possibles pour [VALEUR] :

  • Chemin d’accès “exact”; Ex. : /mon-dossier/
  • Chemin d’accès contenant des “caractères génériques”. Ex. : /*.php$
  • URL vers une page ou un répertoire, Ex. : https://www.example.com/sitemap.xml

A noter : Le chemin d’accès est sensible à la casse.

Description des caractères génériques

  • * : remplace 1 ou N caractères valides,
  • $ : désigne la fin du chemin / de l’URL.

Autres notions :

  • Tout ce qui suit le caractère # sera considéré comme un commentaire et ne sera pas interprété par le robot d’exploration de Google.
  • Des “User-agent” peuvent se suivre pour partager l’ensemble des règles “Allow”/”Disallow” qui suivront,
  • Des “Allow” et “Disallow” peuvent se suivre pour se compléter / autoriser ou interdire un ou plusieurs sous-groupes.
    • Ex. :
      Allow: /*.php
      Disallow: /*-secret.php
  • C’est toujours la règle la plus spécifique qui gagne.
  • Le champs “Crawl-delay” est pris en compte par MSNBot (Bing), mais pas par Googlebot.

Outil de test du fichier robots.txt de Google

Google met à disposition des éditeurs un outil permettant de tester le fichier robots.txt. Cet outil permet :

  • d’analyser le contenu d’un fichier placé sur un site auquel l’éditeur a accès,
  • d’analyser si une URL est bloquée ou non,
  • d’éditer en direct son contenu pour analyser l’impact des modifications sur le blocage de certaines URL.

URL de l’outil : https://www.google.com/webmasters/tools/robots-testing-tool

Les enregistrements les plus fréquents

Interdire l’accès à l’ensemble d’un site :

User-agent: *

Disallow: /

Autoriser l’accès à l’ensemble d’un site :

User-agent: *

Allow: /

Interdire l’accès à un répertoire uniquement pour Googlebot :

User-agent: Googlebot

Disallow: /mon-repertoire/

Interdire l’accès aux fichiers PHP à tous les robots :

User-agent: *

Disallow: /*.php

Interdire l’accès à un sous-dossier uniquement pour Googlebot-News tout en autorisant son indexation sur Google Search :

User-agent: *

Allow: /

User-agent: Googlebot-News

Disallow: /categorie-z/

Les erreurs les plus fréquentes

  1. Ne pas créer le fichier (= erreur 404 ou 403 pour le robot de crawl)
  2. Oublier le “S” et nommer le fichier “robot.txt” au lieu de “robots.txt”
  3. Placer le fichier dans un ou plusieurs sous-répertoires (ex. http://example.com/mondossier/robots.txt au lieu de http://example.com/robots.txt)
  4. Oublier de retirer un “Disallow: /” suite à une refonte ou au passage “preprod > prod”
  5. Oublier de migrer un fichier mis à jour en préprod sur le serveur en production
  6. Bloquer des URLs utilisées par des flux (ex. contenant les paramètres gclid ou fbclid)
  7. Oublier de rediriger http://example.com/robots.txt en 301 vers https://example.com/robots.txt

Liste des directives

  • Directive / Indice
  • Disallow / Allow
  • Noindex / index
  • Nofollow / Follow
  • Nosnippet
  • Noarchive
  • Noimageindex
  • Notranslate
  • max-snippet:[number]
  • max-video-preview:[number]
  • max-image-preview:[setting]
  • Robots.txt
  • Oui
  • Non
  • Non
  • Non
  • Non
  • Non
  • Non
  • Non
  • Non
  • Non
  • META robots
  • Non
  • Oui
  • Oui
  • Oui
  • Oui
  • Oui
  • Oui
  • Oui
  • Oui
  • Oui
  • En-tête X-Robots-Tag
  • Non
  • Oui
  • Oui
  • Oui
  • Oui
  • Oui
  • Oui
  • Oui
  • Oui
  • Oui

Autres possibilités offertes par le robots.txt

Mise en "cache" du Disallow

Lorsqu’un robots.txt est inaccessible à la suite d’une erreur serveur, les pages précédemment en Disallow ne seront pas crawlées durant “une période de temps raisonnablement longue”. Cette modification annoncée en 2019 par Google en contentera plus d’un.

Mise en "cache" du fichier

Google a introduit la même année, un temps maximal de cache de 24h, et prendra en compte le temps de cache indiqué dans les en-têtes du fichier, s’ils sont spécifiés.

Sitemap

Il est possible de faire référence au fichier Sitemap d’un site directement dans le robots.txt. Pour cela, il faut ajouter une ligne “Sitemap: https://www.example.com/sitemap.xml”

Combinaison Allow/Disallow

En indiquant à la suite les unes des autres, des directives Allow et Disallow vous pouvez régler de façon assez fine les autorisations sur des groupes d’URL.

Préciser les User-agent

“User-Agent: *”, vous permet de cibler l’ensemble des robots de crawl qui parcourront le fichier robots.txt. Vous pouvez changer la valeur de l’attribut pour cibler uniquement un robot ou plusieurs en plaçant différents User-Agent à la suite les uns des autres. Ex. Googlebot pour cibler uniquement Google, Bingbot pour Bing, etc.

Foire aux questions

Puis-je inclure des URL en sous-domaine dans le robots.txt ?

Non. Seules les URLs appartenant au même domaine et sur le même protocole (http ou https) seront valides aux yeux de Google.

Si mon site est en sous-dossier puis-je placer mon robots.txt en sous-dossier ?

Non. Le fichier robots.txt doit être présent à la racine du domaine concerné.

Combien de temps sépare deux parcours par le robot d’exploration de Google ?

La mise en cache d’une demande de fichier robots.txt dure généralement un jour, mais peut être plus longue lorsqu’il est impossible d’actualiser la version en cache, par exemple en raison de délais avant expiration ou d’erreurs 5xx.” – Source : Google

Quelle est la taille limite du fichier robots.txt ?

La taille limite imposée actuellement est de 500 Ko.

Quel est le format du fichier ?

Le fichier doit être au format “.txt”, avec un encodage UTF-8. Chaque ligne compte pour un enregistrement.

L’attribut data-nosnippet

Il s’agit d’une directive intégrée qui sera effective fin 2019 (au plus tard en octobre, avec une mise en application qui pourra durer plusieurs semaines). Elle permet aux éditeurs d’identifier les parties d’une page HTML qui ne pourront pas être reprises par Google dans des extraits. Cet attribut est accepté uniquement sur les balises :

  • span
  • div
  • section

Implémentation :

<div data-nosnippet=””>pas dans l’extrait</div>
<span data-nosnippet=”true”>pas dans l’extrait non plus</span>

Cet attribut vient compléter le “nosnippet” qui peut être indiqué dans une meta robots ou dans un en-tête X-Robots-Tag, qui interdit l’affichage d’un snippet textuel pour la page donnée.

Le nombre de types de snippet n’a fait qu’augmenter ces dernières années : extraits vidéo répondant à la requête, position 0, slider d’images sur mobile, snippet vidéo, recette et bien d’autres. Autant de nouveaux affichages, pour lesquels Google offre désormais une porte de sortie avec 3 nouveautés :

  • “max-snippet:[number]” : qui permet d’indiquer une taille maximale (en caractères) pour le snippet d’une page donnée,
  • “max-video-preview:[number]” : qui permet d’indiquer une durée maximale de visualisation d’une vidéo,
  • “max-image-preview:[setting]” : taille maximale pour un aperçu d’image sur une page donnée. Les valeurs acceptées sont : “none”, “standard”, or “large”.


Ce site web utilise des cookies afin d'optimiser l'expérience utilisateur. En naviguant sur le site, vous acceptez l'usage de ces cookies.

Accepter
En savoir plus
X