Aller au contenu

Robots.txt

De Banane Atomic

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=*&