Directive robots serveur web

De EjnTricks

Lors de la mise en place d'un serveur web, il est important de spécifier aux moteurs d'indexation les accès qui leur sont authorisés. Par exemple, cela permet de ne pas indexer une partie des ressources du site. Cet article présente des implémentations du fichier robots.txt mises en place.

Il est possible de ne pas placer de fichier robots.txt si tout le contenu peut être accédé. Cependant l'accès entraînera un code retour 404 qui sera alors référencé dans les traces du serveur web.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Folder-icon.png Emplacement

Les directives d'indexation doivent être placées dans un fichier accessibles depuis l'url robots.txt à la racine du site. Dans le cas le plus simple il suffit de placer le fichier robots.txt dans le répertoire racine du site, configuré à l'aide du paramètre DocumentRoot dans le cas d'un serveur Apache comme dans le cas de la configuration suivante.

<VirtualHost *:80>
    ServerAdmin contact-email@dummy.net
    ServerName www.dummy.net
    DocumentRoot /var/www/dummy
    DirectoryIndex index.php

    LogLevel warn
    ErrorLog ${APACHE_LOG_DIR}/dummy_error.log
    CustomLog ${APACHE_LOG_DIR}/dummy_access.log combined

    <Directory /var/www/dummy>
        Options -Indexes +FollowSymLinks
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>

Le fichier devra être placé à l'emplacement /var/www/dummy/robots.txt.


Toujours dans le cas de Apache, il est possible de spécifier des alias si le répertoire racine ne correspond pas au répertoire contenant le fichier. Dans l'exemple suivant, le fichier est externalisé à l'emplacement /var/www/common/robots.txt.

<VirtualHost *:80>
    ServerAdmin contact-email@dummy.net
    ServerName www.dummy.net
    DocumentRoot /var/opt/dummy
    DirectoryIndex index.php

    LogLevel warn
    ErrorLog ${APACHE_LOG_DIR}/dummy_error.log
    CustomLog ${APACHE_LOG_DIR}/dummy_access.log combined

    Alias /robots.txt "/var/www/common/robots.txt"

    <Directory /var/opt/dummy>
        Options -Indexes +FollowSymLinks
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>

Cette technique peut être pratique pour utiliser une configuration sur un ensemble de site.


Icon ACL.png Directives accès

Ce fichier est donc utile pour spécifier les accès authorisés. Attention, il ne faut pas insérer de lignes vides entre les instructions, car cela représente un saut de section dans le fichier de configuration.

Lock-off-icon.png Permission

Le cas le plus simple est de donner un accès complet. Dans ce cas, il suffit de spécifier la valeur * pour le paramètre User-agent et de laisser vide le paramètre Disallow.

User-agent: *
Disallow:

Lock-icon.png Restriction

Il peut être nécessaire de bloquer l'accès à une ressource. Ceci est particulièrement pratique car un site pour être parcourus par de nombreux services qui rendent disponibles leur analyse après souscription. Or leur indexation peut engendrer un traffic important.

Dans la configuration suivante, les accès aux répertoires datas1 et datas2 ne sont pas authorisés aux robots.

User-agent: *
Disallow: /datas1/
Disallow: /datas2/

Dans le précédent cas, cela s'applique à tous les robots. Il peut être nécessaire d'appliquer ces restrictions sur des robots identifiés par le nom, qui sont mentionnés dans les traces d'accès. Dans l'exemple suivant, les deux robots SemrushBot et SemrushBot-SA ne sont pas authorisés sur l'ensemble.

User-agent: SemrushBot
Disallow: /
 
User-agent: SemrushBot-SA
Disallow: /

User-agent: *
Disallow:

La configuration pourrait être plus compacte ainsi. Cependant, cette nomenclature n'est pas toujours pris en compte.

User-agent: SemrushBot
User-agent: SemrushBot-SA
Disallow: /

User-agent: *
Disallow:


Viewer icon.png Voir aussi

Site complet: http://robots-txt.com/