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 :
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.
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 /.
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.
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
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 :
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
User -agent: * Disallow: /manager/ Disallow: /assets/components/ Disallow: /core/ Disallow: /connectors/ Disallow: /index.php Disallow: *? Host: exemple.fr Sitemap: http://exemple.fr/sitemap.xml
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
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
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.