Pourquoi mettre en place un fichier robots.txt dans votre site

Les moteurs de recherche naviguent sur vos blogs et sites à la recherche de contenus à indexer. Malheureusement ces robots sont un peu gourmands et prennent donc tout ce qu’ils trouvent lors de leur exploration. Afin de les aider dans leur quête il est recommandé de mettre un petit fichier texte à la racine de votre blog afin de donner des directives sur la manière d’explorer votre site avec des go no go en fonction des dossiers ou types de fichiers.

Voici une illustration de l’intérêt d’un fichier robots.txt :

robots.txt

Avant de rentrer dans le vif du sujet il faut obligatoirement placer le fichier robots.txt à la racine de votre blog ou site. Mettre ce fichier dans le dossier “blog” si votre adresse est http://www.mondomaine.com/blog ne sert à rien il faut le mettre dans le dossier racine. En revanche si vous avez des sous-domaines il est possible de mettre en place un robots.txt par sous-domaine (ce que j’ai fait pour les blogs 2803).

Alors quoi mettre dans ce fichier robots.txt? Plutôt que des longs discours voici le fichier robots.txt de 2803 :


Sitemap: http://www.2803.fr/wp-sitemap.php

User-agent: *
Disallow: /wp-content/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-
Disallow: /feed/
Disallow: /trackback/
Disallow: /cgi-bin/
Disallow: /addons/
Disallow: /test/
Allow: /wp-sitemap.php

User-agent: Googlebot
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.cgi$
Disallow: /*.xhtml$
Disallow: /*.php*
Disallow: */trackback*
Disallow: /*?*
Disallow: /z/
Disallow: /wp-*
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*.txt$
Allow: /wp-content/uploads/
Allow: /wp-sitemap.php

User-agent: Googlebot-Image
Allow: /*

Voici quelques explications sur ce fichier txt vraiment important.

Notez que j’utilise plusieurs directives en fonction des “User-agent” (* pour tous les robots des moteurs de recherche, googlebot pour le robots de google, et Googlebot-Image pour le robots d’images de google).

La commande “Disallow” me permet d’interdire l’indexation d’un dossier ou d’une URL intégrant le chemin interdit.

A l’inverse la commande “Allow” autorise et vient en contradiction avec la “Disallow”. Par exemple si l’on a interdit une extension de fichier .php pour mon cas d’où un “Allow: /wp-sitemap.php”.

Pour le Googlebot mes restrictions sont encore plus importantes puisque j’interdis tout simplement l’indexation de fichiers dont l’extension se termine par php, js, xhtml, css… Cela permet de faire le ménage dans l’index de google et de diminuer sensiblement le “duplicate content“. En effet, en faisant cela j’interdis l’indexation du fichier index.php qui s’apparente à du “duplicate content” par rapport au nom de domaine sans index.php et qui affiche la même chose.

Bien entendu ce robots.txt est à adapter au cas par cas en fonction de la plateforme de blog et des dossiers à interdire ou non. Pour tester son fichier et pour valider que vous n’avez pas fait d’erreurs il est possible de le tester ici (bien pratique comme outil d’ailleurs).

robots.txt

A ce sujet lire aussi :

22 Comments

  1. Romain (6 comments)
    Posted July 9, 2007 at 12:03 pm | Permalink

    L’utilisation d’un fichier Robots.txt adapté permet aussi d’éviter de voir d’éventuelles failles de sécurité affichées en première page de Google.
    Certains hackers se contentent de taper des requêtes spéciales dans les moteurs de recherche pour scanner les failles des sites webs.
    Bloquer l’accès des crawlers à certains répertoires sensibles (par exemple le répertoire wp-includes de Wordpress) ne soignera pas le problème mais cela le rendra au moins beaucoup plus discret, vous laissant le temp d’agir.

  2. henri (2299 comments)
    Posted July 9, 2007 at 12:05 pm | Permalink

    Très bonne remarque Romain

  3. temet (4 comments)
    Posted July 9, 2007 at 12:42 pm | Permalink

    il me semblait qu’en raison de la guerre à l’indexation, les robots de google et yahoo indexent tout ce qu’ils trouvent, le robots.txt ne servant alors qu’à interdire l’affichage du resultats dans le moteur de recherche.

  4. Nicolas (63 comments)
    Posted July 9, 2007 at 1:11 pm | Permalink

    bel article, j’avais mis en place un sitemap, je vais regader su côté du robots.txt

  5. Lump[YaNa] (1 comments)
    Posted July 9, 2007 at 2:16 pm | Permalink

    Lien effacé car hors sujet

  6. henri (2299 comments)
    Posted July 9, 2007 at 2:18 pm | Permalink

    Lump[YaNa] si tu veux te faire blacklister ton IP sur 2803 continues comme cela tu n’en es pas loin du tout…

  7. Frenchmat (2 comments)
    Posted July 9, 2007 at 2:37 pm | Permalink

    Ouais, ben j’ai mis un robots.txt à la racine de mon domaine depuis près d’un mois et Google continue d’indexer ma page de contact, mon flux et le flux des commentaires, etc…

    J’ai pourtant soumis ce fichier à google webmastertools sans problème, mais bon…
    Donc merci pour cet article mais je me demande toujours à quoi ça sert :s

  8. henri (2299 comments)
    Posted July 9, 2007 at 3:01 pm | Permalink

    Il faut attendre un peu avant de voir disparaitre du moteur le contenu déjà indexés par google…

  9. Al-Kanz (127 comments)
    Posted July 9, 2007 at 5:23 pm | Permalink

    J’ai une question : ma sitemap est en xml (générée par plugin). Comment faire pour avoir une sitemap en wp-sitemap.php, comme ici ?

  10. epikurieu (1 comments)
    Posted July 10, 2007 at 6:11 pm | Permalink

    Dans cet article : http://docs.abondance.com/robots.html, certaines des informations que vous donnez sont contredites (l’utilisation de l’étoile * et la commande Allow).
    Après une petite recherche, il apparaît que la commande Allow est peu prise en charge, et que l’étoile n’est utilisable que dans le champ “User-agent”…

  11. Martin (326 comments)
    Posted July 10, 2007 at 6:30 pm | Permalink

    Note que le standard du robots.txt ne permet pas de faire des filtres avec un “wildchar” dans les chemins. Cependant, certains robots les acceptent. Certains services d’indexation permettent de vérifier la validité de son fichier robots.txt, avec éventuellement le confronter à une batterie d’URLs de test.

    Le service Google Sitemaps permet notamment de faire ce genre de vérifications. Il serait en effet de faire un robots.txt qui ne soit pas correctement interprété par les robots d’indexation et qui, pire, serait ignoré, du fait d’une mauvaise syntaxe.

    Certains points en matière de robots.txt sont tout de même à noter : s’il est de bon ton d’interdire l’indexation de certaines parties sensibles d’un site web aux robots d’indexation des moteurs de recherche, les hackers ayant tendance à faire des requêtes du type “inurl:admin.php” pour identifier des cibles potentielles prêtes à être hackées par l’exploitation de failles de sécurité des divers outils de publication web, il est en revanche important de noter que la lecture du robots.txt peut être faite par n’importe qui, et en particulier par des robots d’indexation, dont des robots de hackers. Aussi, il est très important de ne pas y faire figurer de dossiers “confidentiels”, et de bien veiller à protéger ceux-ci via un mot de passe, notamment via un mot de passe au niveau du serveur web.

  12. henri (2299 comments)
    Posted July 10, 2007 at 6:35 pm | Permalink

    @epikurieu en ce qui concerne la fonction Allow je peux valider qu’elle fonctionne car elle autorise mon sitemap.php qui sans ce “allow” ne fonctionnait pas dans le webmastertool de google… Pour les wildcards il semble que cela fonctionne aussi mais il faut faire des test pour vérifier qu’ils marchent chez toi.

  13. karl (1 comments)
    Posted July 18, 2007 at 7:34 am | Permalink

    La stratégie pour robots.txt

    * Déclarer les pages *publiques* que l’on veut interdire à l’accès des indexeurs.
    * Ne pas déclarer les pages d’admins, et autres. Car pour le coup, cela les rend vraiment visibles à tous. Pour les pages d’admins, il est préférable de mettre en place un .htaccess avec un mot de passe et un login.

  14. jack (12 comments)
    Posted July 22, 2007 at 10:27 am | Permalink

    Voici un autre article sur le même sujet paru dans selfhtml
    http://fr.selfhtml.org/divers/robots.htm

  15. alex (1 comments)
    Posted August 7, 2007 at 11:47 pm | Permalink

    Bonjour,

    Je suis en train de faire mon fichier robots.txt et je me demandais quoi inclure dedans. Alors, si je comprends bien le tout, je dois pas y inclure les dossiers des includes php, des css, des librairies javascript et dossier d aministration du cms?

    Dans le cas où j ai une commande serveur qui restreind l acces aux contenus des dossiers de mon site sans urls complètes, est-ce que les robots peuvent y accéder quand meme?

    Merci

    Alex

  16. Visitor129 (1 comments)
    Posted August 13, 2007 at 3:40 am | Permalink

    I have visited your site 835-times

  17. Visitor757 (1 comments)
    Posted August 13, 2007 at 3:40 am | Permalink

    Your site found in Google: position651

  18. Visitor026 (1 comments)
    Posted August 13, 2007 at 3:42 am | Permalink

    Your site found in Google: http://google.com/search?q=qxl

  19. Visitor169 (1 comments)
    Posted August 13, 2007 at 3:42 am | Permalink

    I could not find this site in the Search Engines index

  20. Parlonshotel (2 comments)
    Posted September 12, 2007 at 8:46 pm | Permalink

    Merci pour ce super article.

    Je me demandais s’il était judicieux d’interdire aux moteurs d’accéder aux pages de tags.

    Si oui, ça ressemblerait à ça non? disallow: /tag

    Merci beaucoup si tu trouves le temps de répondre.

    Garry

  21. henri (2299 comments)
    Posted September 12, 2007 at 10:54 pm | Permalink

    Je mettrai un / à la fin mais cela a l’air bon!

  22. Parlonshotel (2 comments)
    Posted September 13, 2007 at 9:49 am | Permalink

    Merci beaucoup!

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*