Restreindre l'accès aux robots : Différence entre versions

De PGVWiki
Sauter à la navigation Sauter à la recherche
 
(15 révisions intermédiaires par le même utilisateur non affichées)
Ligne 25 : Ligne 25 :
 
Vous pouvez trouver les noms des user-agents dans vos propres logs en y recherchant des requêtes de robots.txt. La plupart des moteurs de recherche ont des noms abrégés pour leurs espions.
 
Vous pouvez trouver les noms des user-agents dans vos propres logs en y recherchant des requêtes de robots.txt. La plupart des moteurs de recherche ont des noms abrégés pour leurs espions.
  
==Disallow==
+
==Refuser==
  
The second part of a record consists of Disallow: directive lines. These lines specify files and/or directories. For example, the following line instructs spiders that it can not download email.htm:
+
La deuxième partie d'un enregistrement est constituée de lignes de directives qui permettent de définir des interdictions. Ces lignes spécifient les fichiers et/ou répertoires dont vous voulez refuser l'accès aux moteurs de recherche. Par exemple, la ligne suivante indique aux moteurs de recherche qu'ils n'ont pas le droit de télécharger le fichier email.htm:
  
 
  Disallow: email.htm
 
  Disallow: email.htm
  
You may also specify directories:
+
VOus pouvez également spécifier des répertoires:
  
  Disallow: /cgi-bin/
+
  Disallow: PhpGedView/media/
  
Which would block spiders from your cgi-bin directory.
+
Ce qui indiquera aux moteurs de recherche qu'ils n'ont pas le droit d'explorer votre répertoire /media de PhpGedView.
  
There is a wildcard nature to the Disallow directive. The standard dictates that /bob would disallow /bob.html and /bob/indes.html (both the file bob and files in the bob directory will not be indexed).
+
Le standard précise que la directive Disallow: /toto interdit l'accès à /toto.html et /toto/index.html (à la fois le fichier toto et les fichiers qui se trouvent dans le répertoire toto ne seront pas indexés).
  
If you leave the Disallow line blank, it indicates that ALL files may be retrieved. At least one disallow line must be present for each User-agent directive to be correct. A completely empty Robots.txt file is the same as if it were not present.  
+
Si vous laissez la ligne Disallow vierge, cela signifie que TOIS les fichiers peuvent être rapatriés par les moteurs de reherche. Au moins une ligne disallow doit être présente pour chaque directive User-agent directive pour que ce soit correct. Un fichier Robots.txt complètement vide a le même effet que si ce fichier n'existait pas.
  
==White Space & Comments==
+
==Espaces & commentaires==
  
Any line in the robots.txt that begins with # is considered to be a comment only. The standard allows for comments at the end of directive lines, but this is really bad style:
+
Toute ligne dans le fichier robots.txt qui commence par un # est considérée comme étant un commentaire. Le standard autorise les commentaires à la fin de chaque ligne de directive, ce qui n'est pas très esthétique:
  
  Disallow: bob #comment
+
  Disallow: bob #commentaire
  
Some spider will not interpret the above line correctly and instead will attempt to disallow "bob#comment". The moral is to place comments on lines by themselves.
+
Quelques moteurs de recherche n'interprèteront pas la ligne ci-dessus correctement et à la place essaieront de ne pas explorer "bob#comment". La règle à respecter est de placer les commentaires sur des lignes séparées.
  
White space at the beginning of a line is allowed, but not recommended.
+
Un espace au début d'une ligne est permis, mais n'est pas recommandé.
  
  <nowiki> </nowiki> Disallow: bob #comment
+
  <nowiki> </nowiki> Disallow: bob #commentaire
  
==Examples==
+
==Exemples==
  
The following allows all robots to visit all files because the wildcard "*" specifies all robots.
+
Les exemples suivants autorisent tous les robots à visiter tous les fichiers parce que le caractère "*" fait référence à tous les robots.
  
 
  User-agent: *
 
  User-agent: *
 
  Disallow:
 
  Disallow:
  
This one keeps all robots out.
+
Cette ligne refuse l'accès à tous les robots.
  
 
  User-agent: *
 
  User-agent: *
 
  Disallow: /
 
  Disallow: /
  
The next one bars all robots from the cgi-bin and images directories:
+
Cette ligne interdit l'accès de tous les robots aux répertoires cgi-bin et images:
  
 
  User-agent: *
 
  User-agent: *
Ligne 71 : Ligne 71 :
 
  Disallow: /images/
 
  Disallow: /images/
  
This one bans Roverdog from all files on the server:
+
Cette ligne interdit le robot Roverdog d'accéder à tous les fichiers sur le serveur:
  
 
  User-agent: Roverdog
 
  User-agent: Roverdog
 
  Disallow: /
 
  Disallow: /
  
This one bans keeps googlebot from getting at the cheese.htm file:
+
Cette ligne empêche googlebot d'accéder au fichier cheese.htm:
  
 
  User-agent: googlebot
 
  User-agent: googlebot
 
  Disallow: cheese.htm
 
  Disallow: cheese.htm
  
For more complex examples, try retrieving some of the robots.txt files from the big sites like Cnn, or Looksmart.
+
==Exemples soumis par des utilisateurs==
 
 
==Examples submitted by Users==
 
  
===Example 1===
+
===Exemple 1===
 
  User-agent: *
 
  User-agent: *
 
  Disallow: /phpgedview/reportengine.php
 
  Disallow: /phpgedview/reportengine.php
Ligne 97 : Ligne 95 :
 
  Disallow: /phpgedview/images/
 
  Disallow: /phpgedview/images/
  
In this case PhpGedView was installed in the phpgedview directory. Place this file in your server root.
+
Dans cet exemple PhpGedView a été installé dans le répertoire phpgedview. Placez ce fichier à la racine de votre serveur.
  
===Example 2===
+
===Exemple 2===
Submitted By: pmarfell
+
Soumis par: pmarfell
  
The following shows *part* of the content of mine. As you can see it goes on to ban other bots completely. Use Google for more info that might be relevant to your situation:-
+
L'exemple suivant montre une *partie* du contenu de mon fichier. Comme vous pouvez le voir il refuse l'accès à tous les robots. Utilisez Google pour obtenir des informations qui pourraient mieux correspondre à votre situation:-
  
 
  User-agent: *
 
  User-agent: *
Ligne 135 : Ligne 133 :
 
  Disallow: /
 
  Disallow: /
  
==Bad Bots==
+
===Exemple 3===
What do you do if a spider doesn't obey the exclusions you've carefully crafted in robots.txt? Easiest way to stop the spider in its tracks is to deny it access to your site by using .htaccess
+
 
 +
Dans cet exemple, les robots de Google peuvent visiter tout le site sauf les répertoires PhpgedView/media/ et PhpGedView/index/
 +
les autres robots peuvent visiter tout le site sans restriction
  
For example the omni-explorer spider doesn't appear to obey Disallow: so deny it access by adding these lines to the .htaccess file in the phpGedView directory.
+
User-agent: googlebot
 +
# Pas pour Google !
 +
Disallow: PhpgedView/media/
 +
Disallow: PhpGedView/index/
 +
 
 +
==Mauvais robots==
 +
Que faire si un robot n'obéit pas aux exclusions que vous avez mentionnées dans le fichier robots.txt? Le moyen le plus facile d'empêcher le robot d'accéder à vos fichiers est d'empêcher l'accès à votre site en utilisant le fichier .htaccess
 +
 
 +
Par exemple il vous suffit d'ajouter ces lignes au fichier .htaccess dans le répertoire phpGedView pour interdire l'accès au robot omni-explorer qui est particulièrement vorace.
  
 
  RewriteEngine On
 
  RewriteEngine On
Ligne 146 : Ligne 154 :
 
  RewriteRule .* - [F,L]
 
  RewriteRule .* - [F,L]
  
==Related==
+
==Liens==
* [http://www.robotstxt.org/wc/faq.html The Web Robots FAQ]
+
 
* [http://www.robotstxt.org/wc/norobots.html A Standard For Robot Exclusion]
+
* [http://www.annuaire-info.com/robots-txt/ L'encyclopédie des robots du web]
* [http://www.robotstxt.org/wc/exclusion.html Robots Exclusion]
+
* [http://www.annuaire-info.com/robots-txt/ Le protocole d’exclusion des robots]
* [http://www.robotstxt.org/wc/active.html A List Of Robots]
+
* [http://www.annuaire-info.com/robots-txt/syntaxe/ Les blocs d’instructions dans robots.txt]
* [http://www.searchengineworld.com/misc/robots_txt_crawl.htm Problems found with Robots.txt Files]
 
* [http://tool.motoricerca.info/robots-checker.phtml Test your robots.txt file for errors]
 
* [http://www.sxw.org.uk/computing/robots/check.html Another site to test your robots.txt file]
 
  
 
[[Category:Tutoriel]]
 
[[Category:Tutoriel]]

Version actuelle datée du 14 décembre 2008 à 19:49

Introduction

Les robots des moteurs de recherche (bots) sont des programmes qui effectuent des recherchent sur les sites web afin que les moteurs de recherche puissent les indexer et guider ceux qui recherchent un site à partir en utilisant un moteur de recherche. Cela est très important car c'est de cette manière que la plupart des internautes trouveront votre site sur le web. Ceci dit, les robots peuvent créer une charge excessive sur votre site. Il existe un moyen de minimiser la plupart des problèmes en empêchant de manière sélective l'accès des robots à la plupart de votre site. Le standard d'exclusion des robots utilisé par tous les moteurs de recherche vous permet de spécifier des parties de votre site que vous ne souhaitez pas voir indexées. Pour exclure des pages, créez un fichier que vous nommerez Trobots.txt. Cet article explique comment créer ce fichier.

Nom de fichier et format

Source
Les moteurs de recherche chercheront dans votre domaine racine la présence d'un fichier nommé "robots.txt". Ce fichier indique au robot (spider) quels sont les fichiers qu'il a le droit d'explorer (télécharger). Ce système est appelé le standard d'exclusion des robots.

Le format du fichier robots.txt est spécial. Il est constitué d'enregistrements. Chaque enregistrement est constitué de deux champs : une ligne User-agent et une ou plusieurs lignes Disallow:. Le format est le suivant:

<Field> ":" <value>

Le fichier robots.txt doit être créé dans le mode Unix ! La plupart des éditeurs de texte ont un mode Unix, sinon votre client FTP *devrait* effectuer la conversion à votre place. N'essayez pas d'utiliser un éditeur HTML qui ne dispose pas d'un mode texte pour créer votre fichier robots.txt.

User-agent

La ligne User-agent du fichier spécifie le robot. Par exemple:

User-agent: googlebot

Vous pouvez aussi utiliser le caractère astérisque "*" pour spécifier tous les robots:

User-agent: *

Vous pouvez trouver les noms des user-agents dans vos propres logs en y recherchant des requêtes de robots.txt. La plupart des moteurs de recherche ont des noms abrégés pour leurs espions.

Refuser

La deuxième partie d'un enregistrement est constituée de lignes de directives qui permettent de définir des interdictions. Ces lignes spécifient les fichiers et/ou répertoires dont vous voulez refuser l'accès aux moteurs de recherche. Par exemple, la ligne suivante indique aux moteurs de recherche qu'ils n'ont pas le droit de télécharger le fichier email.htm:

Disallow: email.htm

VOus pouvez également spécifier des répertoires:

Disallow: PhpGedView/media/

Ce qui indiquera aux moteurs de recherche qu'ils n'ont pas le droit d'explorer votre répertoire /media de PhpGedView.

Le standard précise que la directive Disallow: /toto interdit l'accès à /toto.html et /toto/index.html (à la fois le fichier toto et les fichiers qui se trouvent dans le répertoire toto ne seront pas indexés).

Si vous laissez la ligne Disallow vierge, cela signifie que TOIS les fichiers peuvent être rapatriés par les moteurs de reherche. Au moins une ligne disallow doit être présente pour chaque directive User-agent directive pour que ce soit correct. Un fichier Robots.txt complètement vide a le même effet que si ce fichier n'existait pas.

Espaces & commentaires

Toute ligne dans le fichier robots.txt qui commence par un # est considérée comme étant un commentaire. Le standard autorise les commentaires à la fin de chaque ligne de directive, ce qui n'est pas très esthétique:

Disallow: bob #commentaire

Quelques moteurs de recherche n'interprèteront pas la ligne ci-dessus correctement et à la place essaieront de ne pas explorer "bob#comment". La règle à respecter est de placer les commentaires sur des lignes séparées.

Un espace au début d'une ligne est permis, mais n'est pas recommandé.

  Disallow: bob #commentaire

Exemples

Les exemples suivants autorisent tous les robots à visiter tous les fichiers parce que le caractère "*" fait référence à tous les robots.

User-agent: *
Disallow:

Cette ligne refuse l'accès à tous les robots.

User-agent: *
Disallow: /

Cette ligne interdit l'accès de tous les robots aux répertoires cgi-bin et images:

User-agent: *
Disallow: /cgi-bin/
Disallow: /images/

Cette ligne interdit le robot Roverdog d'accéder à tous les fichiers sur le serveur:

User-agent: Roverdog
Disallow: /

Cette ligne empêche googlebot d'accéder au fichier cheese.htm:

User-agent: googlebot
Disallow: cheese.htm

Exemples soumis par des utilisateurs

Exemple 1

User-agent: *
Disallow: /phpgedview/reportengine.php
Disallow: /phpgedview/fanchart.php
Disallow: /phpgedview/search.php
Disallow: /phpgedview/login.php
Disallow: /phpgedview/clippings.php
Disallow: /phpgedview/sosabook.php
Disallow: /phpgedview/timeline.php
Disallow: /phpgedview/calendar.php
Disallow: /phpgedview/images/

Dans cet exemple PhpGedView a été installé dans le répertoire phpgedview. Placez ce fichier à la racine de votre serveur.

Exemple 2

Soumis par: pmarfell

L'exemple suivant montre une *partie* du contenu de mon fichier. Comme vous pouvez le voir il refuse l'accès à tous les robots. Utilisez Google pour obtenir des informations qui pourraient mieux correspondre à votre situation:-

User-agent: *
Disallow: /bin/
Disallow: /cgi-bin/
Disallow: /dev/
Disallow: /mypostnuke/
Disallow: /phpfunc/
Disallow: /phpGedView/reportengine.php
Disallow: /phpGedView/fanchart.php
Disallow: /phpGedView/search.php
Disallow: /phpGedView/login.php
Disallow: /phpGedView/clippings.php
Disallow: /phpGedView/sosabook.php
Disallow: /phpGedView/timeline.php
Disallow: /phpGedView/calendar.php
Disallow: /phpGedView/hourglass.php
Disallow: /phpGedView/ancestry.php
Disallow: /phpGedView/descendancy.php
Disallow: /phpGedView/pedigree.php
Disallow: /phpGedView/family.php
Disallow: /phpGedView/relationship.php
Disallow: /phpGedView/famlist.php
Disallow: /phpGedView/patriarchlist.php
Disallow: /phpGedView/repolist.php
Disallow: /phpGedView/aliveinyear.php

User-agent: URL_Spider_Pro
Disallow: /

User-agent: CherryPicker
Disallow: /

Exemple 3

Dans cet exemple, les robots de Google peuvent visiter tout le site sauf les répertoires PhpgedView/media/ et PhpGedView/index/ les autres robots peuvent visiter tout le site sans restriction

User-agent: googlebot
# Pas pour Google !
Disallow: PhpgedView/media/
Disallow: PhpGedView/index/

Mauvais robots

Que faire si un robot n'obéit pas aux exclusions que vous avez mentionnées dans le fichier robots.txt? Le moyen le plus facile d'empêcher le robot d'accéder à vos fichiers est d'empêcher l'accès à votre site en utilisant le fichier .htaccess

Par exemple il vous suffit d'ajouter ces lignes au fichier .htaccess dans le répertoire phpGedView pour interdire l'accès au robot omni-explorer qui est particulièrement vorace.

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} "^64\.127\.124\." [OR]
RewriteCond %{REMOTE_ADDR} "^65\.19\.150\."
RewriteRule .* - [F,L]

Liens