Robots.txt

De Banane Atomic
Aller à la navigationAller à la recherche

Liens

Généralités

Le fichier robots.txt permet de spécifier aux robots d'indexation des moteurs de recherche quelles pages peuvent être indexées.

Ce fichier doit se trouver à la racine du site.
robots.txt
# Interdit l'indexation du site à tous les robots
User-Agent: *
Disallow: /

# Exclusion d'une page
Disallow: /repertoire/page.html

# Exclusion de toutes les pages d'un répertoire et de ses sous-dossiers
Disallow: /repertoire/

# Exclusion de toutes les pages php
Disallow: /*.php$

# Exclusion de toutes les pages dont l'url contient un « ? »
Disallow: /*?

# impose un delai minimum entre chaque indexation (en secondes)
Crawl-delay: 30
  • Seuls Googlebot et bingbot gèrent les wildcard (*)
  • Seuls Googlebot accepte la syntaxe « Allow »
  • Googlebot ne prend pas en compte Crawl-delay

Format

robots.txt
# Les commentaires ne sont pas gérés par tous les bots. Mieux vaut éviter d'en mettre.

# Première ligne d'un record: déclaration du user-agent concerné
User-Agent: *
# suivi des déclaration Allow / Disallow
# éventuellement Craw-delay
# éventuellement Sitemap

# saut de ligne à la fin du record

# Nouveau record pour un autre user-agent
User-Agent: Googlebot
Une ligne vide marque la fin d'un record (déclaration pour un user-agent)

Définir plusieurs user agents

robots.txt
User-Agent: *
Disallow: /

User-agent: Googlebot
Disallow: /
Allow: /dossier1/

User-agent: bingbot
Disallow: /dossier2/
Les définitions ne sont pas partagées entre user-agents.
Ainsi si Googlebot trouve la section User-agent: Googlebot il n'utilisera pas la section User-Agent: *
User-Agent
Googlebot Google
bingbot Microsoft Bing

Googlebot

Outils de test en ligne: Exploration → URL bloquées
Fichier robots.txt du site www.google.fr

Googlebot ne prend en compte la directive « Crawl-delay »

Priorité de correspondance entre Allow et Disallow

  • L'ordre dans lequel sont écrit les directive Allow/Disallow n'a pas d'importance.
  • Si plusieurs directives Allow/Disallow correspondent à une url, c'est la directive avec le plus de caractères qui l'emporte. En cas d'égalité c'est la directive Allow qui l'emporte.
robots.txt
# interdit tous
Disallow: /
# autorise /index.php
Allow: /index.php
# comme la directive Allow contient plus de caractères que la directive Disallow, la page « /index.php » sera autorisée

# autorise /index.php?title= (par exemple « /index.php?title=value »)
Allow: /index.php?title=
# interdit les url avec des « & » (par exemple « /index.php?title=value&param=value »)
Disallow: /*&
# comme la directive Allow contient plus de caractères que la directive Disallow, l'url « /index.php?title=value&param=value » ne sera pas interdite
# pour l'interdire il faut utiliser une directive Disallow avec plus de caractères que la directive Allow :
Disallow: /index.php?title=*&