Les robots sont des machines appartenant aux entités de recherche sur Internet, telles que Google, Yahoo ou Bing. Ces robots accèdent aux pages web pour y rechercher des informations et ajouter ces informations dans les moteurs de recherche, ce que nous connaissons généralement sous le nom d'indexation ou de positionnement d'un site web sur Internet.
Si vous disposez d'un fichier bien configuré, vous pouvez faire en sorte que ces robots choisissent les informations appropriées plus rapidement, obtenant ainsi une meilleure navigabilité web, un meilleur positionnement dans les moteurs de recherche et, en outre, ils peuvent également réduire certains inconvénients.
Ces robots sont également appelés "spiders", "crawlers", araignées, "bots" ou Indexeurs.
1.- Qu'est-ce que le fichier robots.txt et à quoi sert-il
Le fichier robots.txt est un fichier texte brut créé par l'utilisateur pour contrôler l'accès des robots à l'hébergement. Ce fichier établit des recommandations que les robots de recherche doivent respecter. C'est-à-dire que vous lui indiquez ce que vous ne voulez pas indexer. De cette façon, ils sélectionneront mieux les informations de votre site web et amélioreront le positionnement.
Le fichier robots.txt doit être téléversé à la racine de l'hébergement pour indiquer aux robots quelles pages ou répertoires vous ne souhaitez pas indexer. Il ne doit y avoir qu'un seul fichier robots.txt sur chaque site web.
La configuration de ce fichier est importante, car elle apporte des avantages, par exemple :
Il contribue à une indexation plus fluide du contenu web important, améliorant ainsi le positionnement sur Internet. Il peut également accélérer le suivi des robots, améliorant l'utilisation du web.
Il empêche l'accès à certains robots, car certains d'entre eux ne font que poser des problèmes sur le web parce qu'ils ne sont pas des moteurs de recherche, en plus de limiter les informations que vous souhaitez afficher, afin que les données personnelles privées ne puissent pas être trouvées sur Google.
Ils réduisent la surcharge du serveur, car le temps d'accès de certains robots peut être contrôlé. Certains de ces robots effectuent un grand nombre de requêtes qui peuvent saturer le serveur et ralentir la navigation de l'utilisateur réel sur la page.
2.- Comment créer un fichier robots.txt
Le fichier robots est créé à l'aide de deux commandes.
User-Agent: (Nom de l'araignée)
Disallow: (Chemin)
Le nom de l'araignée est le nom du robot du moteur de recherche. Si vous souhaitez indiquer que les interdictions concernent tous les moteurs de recherche, nous devons mettre "*" à la place du nom du moteur de recherche.
Le "Chemin" est le nom du fichier ou du dossier que vous ne souhaitez pas indexer. Afin d'interdire l'indexation de tous les documents d'un répertoire, le chemin doit inclure le caractère "/" à la fin du nom du répertoire. En d'autres termes, le format sera :
Disallow: /répertoire/
Exemples :
Disallow: / interdit l'entrée dans tout l'hébergement.
Disallow: /forum/ interdit l'entrée dans le répertoire forum.
Disallow: permet l'entrée dans tout l'hébergement.
3.- Comment insérer des commentaires dans un fichier
Si vous souhaitez insérer des commentaires dans le fichier, vous devez commencer la ligne par le signe "#". Cela signifie que cette ligne est un commentaire et qu'elle ne doit pas être prise en compte.
Exemple :
#Nous laissons un accès complet à Webcrawler, car Disallow est vide.
User-agent: webcrawler
Disallow:
4.- Qu'est-ce que le "Crawl-delay"
Si les statistiques sont vérifiées, on peut voir que parfois certains robots qui parcourent le web effectuent une multitude de requêtes jusqu'à saturer le serveur. Pour éviter cette surcharge, la directive "Crawl-delay" indique le temps entre chaque accès du robot.
Exemple :
User-agent
Crawl-delay: 60
Cela indique que les robots doivent attendre 60 secondes entre chaque accès. L'inconvénient de cette directive est qu'elle n'affecte pas tous les robots. Parmi ceux qu'elle affecte, on trouve : MSNBot, Slurp et Googlebot.
5.- Autres directives pour contrôler le temps d'accès.
Pour surveiller le moment où les robots indexent les pages, certaines de ces directives peuvent être utilisées :
# Autoriser les moteurs de recherche de 2h à 7h45 (les heures sont toujours en Greenwich)
Visit-time:0200-0745
# Un document toutes les 30 minutes
Request:1/30m
# Combiné : 1 document toutes les 10 minutes et entre 13h et 17h
Request:1/10m 1300-1659
Il est important de vérifier le fichier avant de le téléverser sur l'hébergement, car s'il contient des erreurs, des robots indésirables peuvent indexer le web de manière incorrecte. Il pourrait également arriver qu'aucun des robots que vous souhaitez voir indexer le web ne le fasse correctement.
6.- Comment doit être présenté un fichier robots.txt
Pour autoriser l'accès à l'hébergement à tous les robots :
User-agent
Disallow:
Crawl-delay: 60
Pour ne pas autoriser l'accès à aucun robot sur l'hébergement :
User-agent
Disallow: /
Crawl-delay: 60
Pour ne pas autoriser les robots à accéder à une page particulière :
User-agent
Disallow: /fichier.html
Request-rate: 1/10m 1300-1659
Pour limiter l'accès à des répertoires spécifiques :
Cette configuration est recommandée, car elle interdit à tous les robots d'accéder aux dossiers que vous avez indiqués, et elle limite également le temps d'accès des robots pour éviter les saturations du serveur.
User-agent
Disallow: /Dossier1/
Disallow: /Dossier2/
Crawl-delay: 60
7.- Comment configurer un fichier robots.txt dans un CMS particulier
De nombreux gestionnaires de contenu tels que Joomla, Drupal, WordPress, etc., sont susceptibles d'avoir déjà leur propre robots.txt installé avec l'application. Il suffit d'ajouter la directive "crawl-delay" pour ne pas surcharger la page et également d'indiquer les répertoires ou articles à indexer.
Exemples de robots.txt :
Pour un WordPress :
User-agent
Crawl-Delay: 60
Disallow: /wp-content/
Disallow: /wp-includes
Disallow: /trackback/
Disallow: /wp-admin/
Disallow: /files/
Disallow: /category/
Disallow: /tag/*
Disallow: /tag/
Disallow: /wp-*
Disallow: /login/
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*.php$
User-agent:
Allow:/
User-agent: Googlebot-Image
Disallow: /
User-agent: Jennifer
Disallow: /
User-agent: duggmirror
Disallow: /
Pour un Drupal :
User-agent
Crawl-delay: 60
# Répertoires
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /profiles/
Disallow: /scripts/
Disallow: /sites/
Disallow: /themes/
# Fichiers
Disallow: /changelog.txt
Disallow: /cron.php
Disallow: /install.mysql.txt
Disallow: /install.pgsql.txt
Disallow: /install.php
Disallow: /inxt
Disallow: /license.txt
Disallow: /maintainers.txt
Disallow: /update.php
Disallow: /upgrade.txt
Disallow: /xmlrpc.php
# Chemins (URL propres)
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /contact/
Disallow: /logout/
Disallow: /node/add/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password
Disallow: /user/login
# Chemins (URL non propres)
Disallow: /?q=admin/
Disallow: /?q=comment/reply
Disallow: /?q=contact
Disallow: /?q=admin
Disallow: /?q=logout
Disallow: /?q=node/add
Disallow: /?q=search
Disallow: /?q=user/register
Disallow: /?q=user/password
Disallow: /?q=user/login
# Suppléments sur drupal.org
# pas d'accès pour les chemins de tri de table ou tout chemin avec paramètres
Disallow: /*
Disallow: /*&sort*
Disallow: /*solrsort*
Disallow: /*&solrsort*
# pas d'accès aux profils souvent ciblés par les spammeurs
Disallow: /profile/interest/*
Disallow: /profile/industries/*
Disallow: /profile/companies/*
# Interdire les pages d'agrégateur factices
Disallow: /aggregator
# Interdire la recherche de projet
Disallow: /project/issues/search/*
Disallow: /project/issues/*
# Interdire l'exportation de livres
Disallow: /book/export/*
# Interdire les tests pift
Disallow: /pift/retest/*
# Interdire l'abonnement au projet
Disallow: /project/issues/subscribe-mail/*
Pour un Joomla :
User-agent
Crawl-delay: 60
Disallow: /administrator
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Pour un PrestaShop :
User-agent
Crawl-delay: 60
Disallow: /cgi-bin/
Disallow: /img/
Disallow: /js/
Disallow: /mails/
Disallow: /modules/
Disallow: /themes/
Disallow: /translations/
Disallow: /tools/
Disallow: /override/
Disallow: /classes/
Disallow: /config/
Disallow: /controllers/
Disallow: /download/
Disallow: /localization/
Disallow: /log/
Disallow: /mails/
Disallow: /override/
Disallow: /tests/
Disallow: /translations/
Disallow: /upload/
Disallow: /webservice/
Disallow: /404.php
Disallow: /address.php
Disallow: /addresses.php
Disallow: /authentication.php
Disallow: /best-sales.php
Disallow: /cart.php
Disallow: /category.php
Disallow: /cms.php
Disallow: /contact-form.php
Disallow: /discount.php
Disallow: /guest-tracking.php
Disallow: /history.php
Disallow: /identity.php
Disallow: /images.inc.php
Disallow: /init.php
Disallow: /my-account.php
Disallow: /order.php
Disallow: /order-detail.php
Disallow: /order-follow.php
Disallow: /order-opc.php
Disallow: /order-slip.php
Disallow: /order-history.php
Disallow: /pagination.php
Disallow: /password.php
Disallow: /pdf-invoice.php
Disallow: /pdf-order-return.php
Disallow: /pdf-order-slip.php
Disallow: /product-sort.php
Disallow: /product-comparison.php
Disallow: /product.php
Disallow: /search.php
Disallow: /statistics.php