blog-icon
Juin 17, 2025

Comprendre le fichier robots.txt pour le référencement

Les robots d'exploration indexent un site indépendamment de la présence de robots.txt et sitemap.xml. Grâce au fichier robots.txt, il est possible d'indiquer aux moteurs de recherche ce qu'il convient d'exclure de l'indexation et de configurer d'autres paramètres importants.

Il est essentiel de noter que les crawlers des moteurs de recherche ignorent certaines règles, par exemple :

  • Google Bot ne prend pas en compte la directive host et Crawl-Delay.
  • Certains robots spécifiques contournent les directives générales si celles-ci ne leur sont pas spécifiquement destinées.

Directives

Les directives sont des règles pour les robots. Il existe une spécification W3C datant du 30 janvier 1994 et un standard élargi de 1996.

Directives principales

User-agent : directive qui commence le fichier robots.txt.

Exemple :

User -agent: * # instructions pour tous les robots de recherche.
User -agent: GoogleBot # instructions pour le robot Google.
Disallow: / # directive interdisant l'indexation de ce qui est spécifié après /.
Allow: / # directive autorisant l'indexation de l'URL.
Disallow: # ne fonctionne pas sans le caractère spécial /.
Allow: / # ignoré si aucune URL n'est spécifiée après /.

Caractères spéciaux utilisés dans robots.txt: /, *, $.

Attention au caractère /, une erreur fréquente serait de rédiger par exemple :

User -agent:*
Disallow: / 

# cela peut fermer l'ensemble du site à l'indexation.

Le caractère spécial * signifie n'importe quelle séquence de caractères, y compris vide, par exemple :

Disallow: /panier/* # interdit l'indexation de toutes les pages après l'URL : site.fr/panier/

Le caractère spécial $ limite l'action du caractère *, fournissant une restriction stricte :

User -agent:*
Disallow: /catalog{{input}} # avec ce caractère, catalog ne sera pas indexé, mais catalog.html le sera.

La directive sitemap indique le chemin vers la carte du site et se présente ainsi :

User -agent: * 
Allow: / 
Sitemap: http://www.site.fr/sitemap.xml # doit être indiqué avec http:// ou https://, https:// est utilisé si un certificat SSL est connecté.

La directive Host indique le miroir principal du site avec ou sans www.

User -agent: * 
Allow: / 
Sitemap: http://www.site.fr/sitemap.xml 
Host: www.site.fr # le chemin vers le domaine doit être écrit sans http et sans slashs, assurez-vous que le domaine est collé. Sans une bonne concaténation du domaine, la même page peut apparaître dans l'index des moteurs de recherche plus d'une fois, ce qui peut entraîner une pénalisation.

La directive Crawl-Delay limite la charge sur le serveur, définissant un délai pour les moteurs de recherche :

User -agent: * Crawl-delay: 2 # définit un délai de 2 secondes.
User -agent: * 
Disallow: /recherche 
Crawl-delay: 4.5 # définit un délai de 4.5 secondes.

La directive Clean-Param est nécessaire si les adresses des pages du site contiennent des paramètres dynamiques qui n'affectent pas le contenu, par exemple : identifiants de session, utilisateurs, référents, etc.

Un robot, en utilisant les valeurs de la directive Clean-Param, ne rechargera pas plusieurs fois des informations en double. Ainsi, l'efficacité du crawl de votre site augmentera, et la charge sur le serveur diminuera.

Par exemple, des pages avec les adresses suivantes :

www.site.com/some_dir/get_book.pl?ref=site_1&book_id=123
www.site.com/some_dir/get_book.pl?ref=site_2&book_id=123 
www.site.com/some_dir/get_book.pl?ref=site_3&book_id=123

Le paramètre ref est utilisé uniquement pour suivre la source de la requête et ne change pas le contenu, les trois adresses afficheront la même page avec le livre book_id=123. Ainsi, si la directive est spécifiée comme suit :

User -agent: GoogleBot
Disallow:
Clean-param: ref /some_dir/get_book.pl

le robot réduira toutes les adresses de la page à une seule :

www.site.com/some_dir/get_book.pl?ref=site_1&book_id=123,

Il convient également de noter qu'il existe plusieurs options de configuration pour cette directive.

Caractères cyrilliques dans robots.txt

L'utilisation de caractères de l'alphabet russe est interdite dans robots.txt, il est nécessaire d'utiliser Punycode (méthode normalisée pour convertir des séquences de caractères Unicode en séquences ACE).

# Incorrect :
User -agent: *
Disallow: /panier
Host: magasin-en-ligne.fr

# Correct :
User -agent: *
Disallow: /%D0%BF%D0%B0%D0%BD%D0%B8%D0%B5%D1%80
Host: xn----8sbalhasbh9ahbi6a2ae.xn--p1ai

Recommandations sur ce qu'il faut fermer dans le fichier robots.txt

  • Panneau d'administration - mais gardez à l'esprit que le chemin vers votre panneau d'administration sera connu, assurez-vous de la solidité du mot de passe dans le panneau de gestion du site.
  • Panier, formulaire de commande, et données de livraison et de commandes.
  • Pages avec des paramètres de filtres, de tri, de comparaison.

Erreurs possibles dans robots.txt

  • Une ligne vide - il est inacceptable de laisser une ligne vide dans la directive user-agent, qui, selon les règles de robots.txt, est considérée comme "séparatrice" (en ce qui concerne les blocs de descriptions). Cela signifie qu'il n'est pas possible de prédire l'applicabilité des directives suivantes après une ligne vide.
  • En cas de conflit entre deux directives avec des préfixes de même longueur, la priorité est donnée à la directive Allow.
  • Pour chaque fichier robots.txt, seule une directive Host est traitée. Si plusieurs directives sont spécifiées dans le fichier, le robot utilise la première.
  • La directive Clean-Param est inter-sectionnelle, elle peut donc être indiquée à n'importe quel endroit dans le fichier robots.txt. Si plusieurs directives sont spécifiées, toutes seront prises en compte par le robot.
  • Certains robots ne suivent pas les règles de Robots.txt. Pour interdire leur indexation sur le site, il faut créer des paramètres user-agent distincts pour chacun d'eux.
  • La directive User-agent doit toujours être écrite au-dessus de la directive d'interdiction.
  • Une ligne pour un répertoire. Il n'est pas permis d'écrire plusieurs répertoires sur une seule ligne.
  • Le nom du fichier doit être uniquement : robots.txt. Pas de Robots.txt, ROBOTS.txt, etc. Seulement des lettres minuscules dans le nom.
  • Dans la directive host, il convient d'écrire le chemin vers le domaine sans http et sans slashs. Incorrect : Host: http://www.site.fr/, Correct : Host: www.site.fr (ou site.fr).
  • Lors de l'utilisation d'un protocole sécurisé https pour le site, dans la directive host (pour le robot Google), il est nécessaire de l'indiquer avec le protocole, comme Host: https://www.site.fr.

Vérification des erreurs dans robots.txt

Pour vérifier les erreurs, utilisez les outils disponibles dans votre tableau de bord web.

Il est important de noter qu'un fichier de plus de 32 Ko est lu comme entièrement autorisé, indépendamment de son contenu.

Remplissage excessif de robots.txt. Les webmasters débutants sont impressionnés par les articles qui affirment que tout ce qui est inutile doit être fermé dans robots.txt et commencent à interdire tout, sauf le texte sur des pages strictement définies. Cela, pour le dire doucement, est incorrect. Premièrement, Google recommande de ne pas interdire les scripts, CSS et autres éléments qui pourraient empêcher le robot de voir le site comme un utilisateur le voit. Deuxièmement, un grand nombre d'erreurs sont liées au fait qu'en fermant une chose, l'utilisateur ferme aussi une autre. Il est donc préférable de fermer dans robots.txt uniquement les choses manifestement inutiles pour le robot, comme les formulaires d'inscription, les pages de redirection de liens, etc., et de se débarrasser des doublons à l'aide de balises canoniques. Notez que le fait d'avoir modifié robots.txt ne signifie pas que le robot de recherche le relira immédiatement. Pour accélérer ce processus, il suffit de consulter robots.txt dans la section correspondante de votre tableau de bord.

Exemples de robots.txt correctement configurés pour différents CMS :

WordPress

User -Agent: *
Allow: /wp-content/uploads/
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /template.html
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content
Disallow: /tag
Disallow: /category
Disallow: /archive
Disallow: */trackback/
Disallow: */feed/
Disallow: */comments/
Disallow: /?feed=
Disallow: /?s=

Host: site.fr
Sitemap: http://site.fr/sitemap.xml

ModX

User -agent: *
Disallow: /manager/
Disallow: /assets/components/
Disallow: /core/
Disallow: /connectors/
Disallow: /index.php
Disallow: *?
Host: exemple.fr
Sitemap: http://exemple.fr/sitemap.xml

OpenCart

User -agent: *
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php?route=product/product*&manufacturer_id=
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login
Disallow: /index.php?route=product/manufacturer
Disallow: /index.php?route=product/compare
Disallow: /index.php?route=product/category

Joomla

User -agent: *
Allow: /index.php?option=com_xmap&sitemap=1&view=xml
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /go.php
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /*com_mailto*
Disallow: /*pop=*
Disallow: /*lang=fr*
Disallow: /*format=*
Disallow: /*print=*
Disallow: /*task=vote*
Disallow: /*=watermark*
Disallow: /*=download*
Disallow: /*user/*
Disallow: /.html
Disallow: /index.php?
Disallow: /index.html
Disallow: /*?
Disallow: /*%
Disallow: /*&
Disallow: /index2.php
Disallow: /index.php
Disallow: /*tag
Disallow: /*print=1
Disallow: /trackback
Host: votre-site

Bitrix

User -agent: *
Disallow: /*index.php$
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /upload/
Disallow: /search/
Disallow: /*/search/
Disallow: /*/slide_show/
Disallow: /*/gallery/*order=*
Disallow: /*?print=
Disallow: /*&print=
Disallow: /*register=
Disallow: /*forgot_password=
Disallow: /*change_password=
Disallow: /*login=
Disallow: /*logout=
Disallow: /*auth=
Disallow: /*?action=
Disallow: /*action=ADD_TO_COMPARE_LIST
Disallow: /*action=DELETE_FROM_COMPARE_LIST
Disallow: /*action=ADD2BASKET
Disallow: /*action=BUY
Disallow: /*bitrix_*=
Disallow: /*backurl=*
Disallow: /*BACKURL=*
Disallow: /*back_url=*
Disallow: /*BACK_URL=*
Disallow: /*back_url_admin=*
Disallow: /*print_course=Y
Disallow: /*COURSE_ID=
Disallow: /*?COURSE_ID=
Disallow: /*?PAGEN
Disallow: /*PAGEN_1=
Disallow: /*PAGEN_2=
Disallow: /*PAGEN_3=
Disallow: /*PAGEN_4=
Disallow: /*PAGEN_5=
Disallow: /*PAGEN_6=
Disallow: /*PAGEN_7=
Disallow: /*PAGE_NAME=user_post
Disallow: /*PAGE_NAME=detail_slide_show
Disallow: /*PAGE_NAME=search
Disallow: /*PAGE_NAME=user_post
Disallow: /*PAGE_NAME=detail_slide_show
Disallow: /*SHOWALL
Disallow: /*show_all=
Host: sitename.fr
Sitemap: http://www.sitename.fr/sitemap.xml

Dans ces exemples, le paramètre User-Agent indique le caractère * qui autorise l'accès à tous les robots de recherche. Pour configurer robots.txt pour des moteurs de recherche spécifiques, au lieu du caractère spécial, il suffit de mentionner le nom du robot comme GoogleBot.

ESSAI GRATUIT

Commencez votre essai gratuit maintenant.