Un guide détaillé sur le fichier Robots.txt

Publié: 2020-08-10

Le robots.txt est un fichier très puissant qui peut être ajouté à votre site Web pour vous aider à contrôler les zones de votre site que les moteurs de recherche doivent explorer et celles qui doivent être ignorées. Il est important de revoir régulièrement votre fichier robots.txt pour s'assurer qu'il est à jour et si possible utiliser un outil de surveillance pour être alerté en cas de changement.

Chez Semetrical, dans le cadre de notre offre de services techniques de référencement, nous auditons le fichier robots.txt d'un client lors d'un audit technique du site Web d'un client pour vérifier que les chemins qui sont bloqués doivent l'être. De plus, si l'équipe SEO rencontre des problèmes dans le cadre du processus d'audit SEO technique, comme la duplication, de nouvelles règles robots.txt peuvent être écrites et ajoutées au fichier.

Comme le robots.txt est un fichier important, nous avons élaboré un guide qui explique ce qu'il est en fin de compte, pourquoi quelqu'un peut l'utiliser et les pièges courants qui peuvent survenir lors de l'écriture de règles.

Qu'est-ce qu'un fichier robots txt ?

Le fichier robots.txt est la première escale d'un crawler lorsqu'il visite votre site Web. Il s'agit d'un fichier texte qui répertorie les instructions pour différents agents utilisateurs qui indiquent essentiellement aux robots Web quelles parties d'un site doivent être explorées et lesquelles doivent être ignorées. Les principales instructions utilisées dans un fichier robots.txt sont spécifiées par une règle « autoriser » ou « interdire ».

Historiquement, une règle "noindex" fonctionnait également, mais en 2019, Google a cessé de prendre en charge la directive noindex car il s'agissait d'une règle non publiée.

Si le fichier n'est pas utilisé correctement, cela peut nuire à votre site Web et entraîner une forte baisse du trafic et des classements. Par exemple, des erreurs peuvent se produire lorsqu'un site Web entier est bloqué par les moteurs de recherche ou qu'une section d'un site est bloquée par erreur. Lorsque cela se produit, les classements liés à cette partie du site diminuent progressivement et le trafic diminue à son tour.

Avez-vous réellement besoin d'un fichier robots.txt ?

Non, il n'est pas obligatoire d'avoir un robot.txt sur votre site Web, en particulier pour les petits sites Web avec un minimum d'URL, mais il est fortement recommandé pour les sites Web de taille moyenne à grande. Sur les grands sites, il est plus facile de contrôler quelles parties de votre site sont accessibles et quelles sections doivent être bloquées par les robots. Si le fichier n'existe pas, votre site Web sera généralement exploré et indexé normalement.

A quoi sert principalement le fichier robots txt ?

Le fichier robots.txt a de nombreux cas d'utilisation et chez Semetrical, nous l'avons utilisé pour les scénarios ci-dessous :

  • Bloquer les résultats de recherche internes car ces pages ne sont généralement pas précieuses pour un robot d'exploration et peuvent entraîner de nombreuses duplications sur un site Web.
  • Bloquer des parties d'une navigation par facettes si certaines facettes ne sont pas utiles d'un point de vue SEO mais sont toujours nécessaires pour l'UX lorsqu'un utilisateur se trouve sur votre site Web.
  • Bloquer différents niveaux d'une navigation par facette, où un niveau de facette peut être utile pour les moteurs de recherche, mais lors de la combinaison de deux filtres de facette différents, ils peuvent devenir inutiles pour un moteur de recherche à explorer et à indexer.
  • Blocage des paramètres qui provoquent des doublons ou gaspillent le budget de crawl. Ceci est légèrement controversé car d'autres peuvent vous dire de ne pas bloquer les paramètres dans le robots.txt, mais cela a fonctionné sur un certain nombre de nos sites Web clients où les paramètres sont nécessaires mais les robots n'ont pas besoin de les explorer. Il est fortement recommandé de vérifier que tout paramètre que vous bloquez n'a pas de liens précieux ou qu'il est classé pour des mots clés intéressants générant du trafic.
  • Blocage des sections privées d'un site Web telles que les pages de paiement et les sections de connexion.
  • Inclure les emplacements de votre plan de site XML pour permettre aux robots d'accéder facilement à toutes les URL de votre site Web.
  • Pour autoriser uniquement des bots spécifiques à accéder à votre site et à l'explorer.
  • Blocage du contenu généré par l'utilisateur qui ne peut pas être modéré.

Où mettre un robots txt & Comment l'ajouter à votre site ?

Un fichier robots.txt doit être placé à la racine de votre site Web, par exemple, sur le site de Semetrical, il se trouve à www.semetrical.com/robots.txt et doit être nommé robots.txt. Un site Web ne peut avoir qu'un seul fichier robots.txt et il doit se trouver dans un fichier texte encodé en UTF-8 qui inclut ASCII.

Si vous avez des sous-domaines tels que blog.example.com, le fichier robots.txt peut se trouver à la racine du sous-domaine, tel que blog.example.com/robots.txt.

À quoi ressemble un fichier robots.txt ?

Un fichier robots.txt typique serait composé de différents composants et éléments, notamment :

  • Agent utilisateur
  • Refuser
  • Permettre
  • Délai d'exploration
  • Plan du site
  • Commentaires (Vous pouvez parfois voir ceci)

Vous trouverez ci-dessous un exemple de Semetrcals robots.txt qui inclut un agent utilisateur, des règles d'interdiction et un plan du site.

 User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /comments/feed/ Disallow: /trackback/ Disallow: /index.php/ Disallow: /xmlrpc.php Disallow: /blog-documentation/ Disallow: /test/ Disallow: /hpcontent/ Sitemap: https://devsemetrical.wpengine.com/sitemap.xml

Agent utilisateur

L'agent utilisateur définit le début d'un groupe de directives. Il est souvent représenté par un caractère générique (*) qui signale que les instructions ci-dessous s'adressent à tous les robots visitant le site Web. Un exemple de ceci serait:

Agent utilisateur: *

 User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/

Il y aura des occasions où vous voudrez peut-être bloquer certains bots ou autoriser uniquement certains bots à accéder à certaines pages. Pour ce faire, vous devez spécifier le nom du bot en tant qu'agent utilisateur. Un exemple de ceci serait:

 User-agent: AdsBot-Google Disallow: /checkout/reserve Disallow: /resale/checkout/order Disallow: /checkout/reserve_search

Les agents utilisateurs courants à connaître incluent :

Il est également possible d'empêcher des logiciels spécifiques d'explorer votre site Web ou de retarder le nombre d'URL qu'ils peuvent explorer par seconde, car chaque outil aura ses propres agents utilisateurs qui explorent votre site. Par exemple, si vous vouliez empêcher SEMRush ou Ahrefs d'explorer votre site Web, les éléments ci-dessous seraient ajoutés à votre fichier :

 User-agent: SemrushBot Disallow: * User-agent: AhrefsBot Disallow: *

Si vous souhaitez retarder le nombre d'URL explorées, les règles ci-dessous seront ajoutées à votre fichier :

 User-agent: AhrefsBot Crawl-Delay: [value] User-agent: SemrushBot Crawl-Delay: [value]

Interdire la directive

La directive d'interdiction est une règle qu'un utilisateur peut mettre dans le fichier robots.txt qui indiquera à un moteur de recherche de ne pas explorer un chemin ou un ensemble d'URL spécifique en fonction de la règle créée. Il peut y avoir une ou plusieurs lignes de règles d'interdiction dans le fichier, car vous souhaiterez peut-être bloquer plusieurs sections d'un site Web.

Si une directive d'interdiction est vide et ne spécifie rien, les robots peuvent explorer l'ensemble du site Web. Par conséquent, pour bloquer certains chemins ou l'ensemble de votre site Web, vous devez spécifier un préfixe d'URL ou une barre oblique "/". Par exemple, dans l'exemple ci-dessous, nous bloquons toute URL qui sort du chemin de /cgi-bin/ ou /wp-admin/.

 User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/

Si vous souhaitez bloquer l'ensemble de votre site Web contre les robots tels que Google, vous devez ajouter une directive d'interdiction suivie d'une barre oblique. En règle générale, vous n'aurez peut-être besoin de le faire que dans un environnement intermédiaire lorsque vous ne souhaitez pas que le site Web intermédiaire soit trouvé ou indexé. Un exemple ressemblerait à :

 User-agent: * Disallow: /

Autoriser la directive

La plupart des moteurs de recherche se conformeront à la directive d'autorisation, ce qui contrecarrera essentiellement une directive d'interdiction. Par exemple, si vous deviez bloquer /wp-admin/, cela bloquerait généralement toutes les URL qui s'exécutent hors de ce chemin, cependant, s'il existe une règle d'autorisation pour /wp-admin/admin-ajax.php, les robots exploreront / admin-ajax.php mais bloquez tout autre chemin qui s'exécute à partir de /wp-admin/. Voir exemple ci-dessous :

 User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php

Délai d'exploration

La directive sur le délai d'exploration permet de ralentir la vitesse à laquelle un bot explore votre site Web. Tous les moteurs de recherche ne suivront pas la directive sur le délai d'exploration car il s'agit d'une règle non officielle.

– Google ne suivra pas cette directive

– Baidu ne suivra pas cette directive

- Bing et Yahoo prennent en charge la directive de délai d'exploration où la règle ordonne au bot d'attendre "n" secondes après une action d'exploration.

– Yandex prend également en charge la directive sur le délai d'exploration mais interprète la règle légèrement différemment où il n'accédera à votre site qu'une fois toutes les "n" secondes".

Un exemple de directive de délai d'exploration ci-dessous :

 User-agent: BingBot Disallow: /wp-admin/ Crawl-delay: 5

Directive Plan du site

La directive sitemap peut indiquer aux moteurs de recherche où trouver votre sitemap XML et permet aux différents moteurs de recherche de trouver facilement les URL sur votre site Web. Les principaux moteurs de recherche qui suivront cette directive sont Google, Bing, Yandex et Yahoo.

Il est conseillé de placer la directive sitemap en bas de votre fichier robots.txt. Un exemple de ceci est ci-dessous:

 User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /comments/feed/ Sitemap: https://devsemetrical.wpengine.com/sitemap.xml

commentaires

Un fichier robots.txt peut inclure des commentaires, mais la présence de commentaires est réservée aux humains et non aux bots, car tout ce qui suit un hashtag sera ignoré. Les commentaires peuvent être utiles pour plusieurs raisons, notamment :

– Fournit une raison pour laquelle certaines règles sont présentes

– Les références qui ont ajouté les règles

– Références à quelles parties d'un site les règles sont destinées

– Explique ce que font les règles

– Vous trouverez ci-dessous des exemples de commentaires dans différents fichiers robots.txt :

 #Student Disallow: /student/*-bed-flats-* Disallow: /student/*-bed-houses* Disallow: /comments/feed/ #Added by Semetrical Disallow: /jobs*/full-time/* Disallow: /jobs*/permanent/* #International Disallow: */company/fr/* Disallow: */company/de/*

L'ordre des règles est-il important ?

L'ordre des règles n'est pas important, cependant lorsque plusieurs règles d'autorisation et d'interdiction s'appliquent à une URL, la règle de chemin correspondant le plus long est celle qui est appliquée et a priorité sur la règle la plus courte moins spécifique. Si les deux chemins ont la même longueur, la règle la moins restrictive sera utilisée. Si vous avez besoin qu'un chemin d'URL spécifique soit autorisé ou non, vous pouvez allonger la règle en utilisant "*" pour allonger la chaîne. Par exemple, Disallow : ********/make-longer

Sur le propre site Web de Google, ils ont répertorié un échantillon de situations qui montre la règle de priorité qui prévaut. Le tableau ci-dessous est tiré de Google.

Comment vérifier votre fichier robots.txt ?

Il est toujours important de vérifier et de valider votre fichier robots.txt avant de le mettre en ligne, car des règles incorrectes peuvent avoir un impact important sur votre site Web.

La meilleure façon de tester est d'accéder à l'outil de test robots.txt dans la Search Console et de tester différentes URL qui doivent être bloquées avec les règles en place. C'est également un excellent moyen de tester les nouvelles règles que vous souhaitez ajouter au fichier.

Exemples d'utilisation d'expressions régulières dans le fichier robots.txt

Lors de la création de règles dans votre fichier robots.txt, vous pouvez utiliser la correspondance de modèles pour bloquer une plage d'URL dans une règle d'interdiction. Les expressions régulières peuvent être utilisées pour effectuer une correspondance de modèle et les deux caractères principaux que Google et Bing respectent incluent :

  • Signe dollar ($) qui correspond à la fin d'une URL
  • Astérisque (*) qui est une règle générique qui représente n'importe quelle séquence de caractères.

Exemples de pattern matching chez Semetrical :

 Disallow: */searchjobs/*

Cela bloquera toute URL qui inclut le chemin de /searchjobs/ comme : www.example.com/searchjobs/construction. Cela était nécessaire pour un client car la section de recherche de son site devait être bloquée afin que les moteurs de recherche n'explorent pas et n'indexent pas cette section du site.

 Disallow: /jobs*/full-time/*

Cela bloquera les URL qui incluent un chemin après /jobs/ suivi de /full-time/ comme

www.example.com/jobs/admin-secretarial-and-pa/full-time/

. Dans ce scénario, nous avons besoin d'un filtre à temps plein pour UX, mais pour les moteurs de recherche, il n'est pas nécessaire qu'une page soit indexée pour répondre au « titre du poste » + « à temps plein ».

 Disallow: /jobs*/*-000-*-999/*

Cela bloquera les URL qui incluent des filtres de salaire tels que

www.example.com/jobs/city-of-bristol/-50-000-59-999/

. Dans ce scénario, nous avons besoin de filtres de salaire, mais les moteurs de recherche n'avaient pas besoin d'explorer les pages de salaire et de les indexer.

 Disallow: /jobs/*/*/flexible-hours/

Cela bloquera les URL qui incluent des horaires flexibles et incluent deux chemins de facette entre les deux. Dans ce scénario, nous avons constaté, via la recherche de mots-clés, que les utilisateurs pouvaient rechercher lieu + horaires flexibles ou emploi + horaires flexibles, mais les utilisateurs ne recherchaient pas « intitulé du poste » + « lieu » + « horaires flexibles ». Un exemple d'URL ressemble à

www.example.com/jobs/admin-secretarial-and-pa/united-kingdom/flexible-hours/

.

 Disallow: */company/*/*/*/people$

Cela bloquera une URL qui comprend trois chemins entre l'entreprise et les personnes ainsi que l'URL se terminant par des personnes. Un exemple serait

www.example.com/company/gb/04905417/company-check-ltd/people

.

 Disallow: *?CostLowerAsNumber=*

Cette règle bloquerait un filtre de paramètre qui ordonnait la tarification.

 Disallow: *?Radius=* Disallow: *?radius=*

Ces deux règles empêchaient les bots d'explorer une URL de paramètre qui modifiait le rayon de recherche d'un utilisateur. Une règle majuscule et minuscule a été ajoutée car le site comprenait les deux versions.

Choses à savoir avec le robots.txt

  • Le robots.txt est sensible à la casse, vous devez donc utiliser la casse correcte dans vos règles. Par exemple, /hello/ sera traité différemment de /Hello/.
  • Pour que les moteurs de recherche tels que Google remettent plus rapidement en cache votre robots.txt afin de trouver de nouvelles règles, vous pouvez inspecter l'URL robots.txt dans la Search Console et demander l'indexation.
  • Si votre site Web repose sur un robots.txt avec un certain nombre de règles et que votre URL robots.txt sert un code d'état 4xx pendant une période prolongée, les règles seront ignorées et les pages bloquées deviendront indexables. Il est important de s'assurer qu'il sert toujours un code d'état 200.
  • Si votre site Web est en panne, assurez-vous que le robots.txt renvoie un code d'état 5xx car les moteurs de recherche comprendront que le site est en panne pour maintenance et ils reviendront explorer le site Web à une date ultérieure.
  • Lorsque les URL sont déjà indexées et qu'une interdiction est ensuite ajoutée à votre site Web pour supprimer ces URL de l'index, la suppression et la suppression de ces URL peuvent prendre un certain temps. De plus, les URL peuvent encore rester dans l'index pendant un certain temps, mais la méta description affichera un message tel que "Une description pour ce résultat n'est pas disponible en raison du fichier robots.txt de ce site - en savoir plus".
  • Une règle d'interdiction de robots.txt ne garantit pas toujours qu'une page n'apparaîtra pas dans les résultats de recherche, car Google peut toujours décider, en fonction de facteurs externes tels que les liens entrants, qu'elle est pertinente et doit être indexée.
  • Si vous avez une règle d'interdiction en place et que vous placez également une balise "pas d'index" dans le code source d'une page, le "pas d'index" sera ignoré car les moteurs de recherche ne peuvent pas accéder à la page pour découvrir la balise "pas d'index".
  • Une règle d'interdiction sur les pages indexées, en particulier celles avec des liens entrants, signifie que vous perdrez l'équité des liens de ces backlinks qui seraient autrement transmis au profit d'autres pages. C'est pourquoi il est important de vérifier si les pages ont des backlinks avant d'ajouter une règle d'interdiction.
  • Si la barre oblique du chemin est manquante lors de l'écriture d'une règle d'autorisation ou d'interdiction, la règle sera ignorée. Par exemple, "Interdire : recherche d'emplois.

Si vous souhaitez parler à l'un de nos spécialistes techniques SEO chez Semetrical, veuillez visiter notre page de services techniques SEO pour plus d'informations.