Moteurs de recherche, aspirateurs de sites ou extracteurs d'adresses e-mails, les programmes qui parcourent le web tout seuls, appelés robots, sont nombreux. Ils peuvent parfois gêner le fonctionnement d'un site en le ralentissant si les pages sont demandées trop rapidement, en faussant les statistiques ou en visitant certaines pages dynamiques comme des pages de vote. On peut avoir besoin d'interdire l'accès à certaines parties d'un site uniquement aux robots et pas aux visiteurs humains. C'est impossible dans l'absolu (comment savoir si une page est demandée par un humain avec son navigateur ou par un robot ?), mais certains robots bien faits, en particulier les moteurs de recherche, sont polis et lisent un fichier nommé robots.txt avant d'entrer sur un site pour savoir s'ils sont bienvenus ou pas. Il faut s'imaginer ce fichier robots.txt comme un panneau sens interdit et pas comme une porte fermée : seuls les robots suffisamment respectueux en tiendront compte. Pour vraiment fermer la porte de force à la fois aux robots et aux visiteurs humains, il faut utiliser une protection au niveau du serveur web, le fichier .htaccess |
Il n'y a qu'un seul fichier robots.txt par site (et pas un par répertoire comme
avec les .htaccess qui n'ont aucun rapport), et il doit être placé à la racine du site. Par exemple si
votre site est http://google.fr, le fichier doit être à l'adresse
http://google.fr/robots.txt
Ça veut dire que si votre site est sur http://perso.monfournisseur.fr/monsite , vous ne pouvez pas
utiliser robots.txt car d'une part vous n'avez pas accès à la racine
perso.monfournisseur.fr et d'autre part les restrictions s'appliqueraient à toutes les pages perso de monfournisseur.fr, pas
seulement les vôtres.
Dans ce cas vous pouvez quand-même utiliser des balises META spéciales dans vos pages.
Voici de quoi générer le fichier facilement, sans parcourir des pages et des pages de documentation.
Note : tout ce qui est écrit après le caractère # est un commentaire,
c'est ignoré. Comme c'est facultatif, vous pouvez supprimer ces commentaires.
Pour ceux qui ne peuvent pas utiliser le fichier global robots.txt , par exemple parce qu'ils n'ont pas accès au répertoire racine de leur domaine, il existe une solution alternative. Elle consiste à écrire directement à l'intérieur des pages HTML les consignes pour les robots. Par contre on s'adresse à tous les robots en bloc, il n'est pas possible d'en viser un plus particulièrement par ce moyen.
Encore une fois, seuls les robots "polis" suivront ces consignes. Ces balises META sont à placer au moins sur la page d'accueil du site, dans la section <HEAD>. Les consignes peuvent être ALL, NONE, INDEX, NOINDEX, FOLLOW ou NOFOLLOW. Il peut y en avoir plusieurs dans la même balise, séparées par des virgules.
Demander gentiment aux robots de dégager du site : <META NAME="ROBOTS" CONTENT="NONE"> Note : CONTENT="NONE" est équivalent à CONTENT="NOINDEX, NOFOLLOW" |
Demander gentiment de ne pas indexer cette page (juste cette page, ça n'interdit pas
le reste du site) <META NAME="ROBOTS" CONTENT="NOINDEX"> |
Demander gentiment de ne pas suivre les liens sur cette page (mais ça n'interdit pas
d'indexer la page) <META NAME="ROBOTS" CONTENT="NOFOLLOW"> |
Les consignes ALL, INDEX et FOLLOW sont des autorisations. Elles sont inutiles puisqu'il est convenu qu'en l'absence de précisions tout est permis aux robots.