Ordre de traitement du robots.txt par Google

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Astuce] Ordre de traitement du robots.txt par Google

    Bonjour,

    classer ceci dans la rubrique Astuce est peut être un peu fort, puisque en fait je ne sais pas si c'est un bug ou une astuce, en tout cas, il convient de bien se méfier de la façon dont est rempli le fichier robots.txt. J'ai ouvert ce billet en écho (et en continuation) de celui ouvert par FlodAriège : http://forum.joomla.fr/showthread.ph...le-sur-le-site ainsi que cet autre fil ou la discussion était reprise sous un autre angle : http://forum.joomla.fr/showthread.ph...nent-elles-pas (posts #22 et #23 notamment).

    Le contenu de mon fichier robots.txt est à l'origine celui-ci (intégralement) :
    User-agent: *

    Disallow: /administrator/
    Disallow: /cache/
    Disallow: /cli/
    Disallow: /components/
    Allow: /components/*/assets/css/*.css$
    Allow: /components/*/assets/js/*.js$
    Allow: /components/com_komento/assets/images
    Allow: /components/com_komento/themes
    Allow: /components/com_jce/editor/tiny_mce/plugins
    Allow: /components/com_kunena/template
    Allow: /components/com_seoglossary/templates
    Disallow: /includes/
    Disallow: /installation/
    Disallow: /language/
    Disallow: /libraries/
    Disallow: /logs/
    Disallow: /modules/
    Allow: /modules/mod_cookiesaccept
    Allow: /modules/mod_slideshowck
    Allow: /modules/mod_itpshare
    Disallow: /plugins/
    Allow: /plugins/system/jcemediabox
    Allow: /plugins/system/jsntplframework
    Allow: /plugins/system/tooltipgc
    Disallow: /templates/
    Allow: /templates/*/images
    Allow: /templates/*/css
    Allow: /templates/*/js
    Disallow: /tmp/
    Disallow: /*/component/mailto/*
    Disallow: /*print=1*

    Disallow: /*.feed*
    Noindex: /*?view=archive
    Noindex: /*component/tags/tag
    Noindex: /*print=1*
    Noindex: /*?id=article*
    Noindex: /*/component/content/article.html?id=*
    Noindex: /component/mailto/*


    Sitemap: http://www.guerrier-celeste.fr/index...component&id=1
    Il satisfait correctement aux exigences de Google concernant les dernières moutures du contrôle d'accès aux fichier css et js notamment dans le cadre de l'ergonomie mobile.
    A ce moment là, tester une url se terminant par .feed?type=rss donne les résultats attendus (l'url n'est ni indexée, ni parcourue par Googlebot) :
    Cliquez sur l'image pour l'afficher en taille normale

Nom : robots_txt_ok.jpg 
Affichages : 1 
Taille : 46,5 Ko 
ID : 1823499
    ce qui est évidemment le résultat attendu.

    Suite à diverses discussions dont celles notées ci-dessus, j'ai rajouté en fin de fichier les lignes ci-après :
    User-agent: Googlebot
    Allow: *.css
    Allow: *.js
    (A noter si vous ne le savez pas déjà que ceci peut être effectué directement dans GWT (Google Web Tools) dans la rubrique Exploration > Outil de test du fichier robots.txt, qui est éditable et permet de tester en temps réel les résultats de vos modifications avant de les passer en production.

    En faisant cela, j'ai tout cassé, puisque une simple consigne comme :
    Disallow: /*.feed*
    ne fonctionne plus à preuve :

    Cliquez sur l'image pour l'afficher en taille normale

Nom : robots_txt_ko.jpg 
Affichages : 1 
Taille : 105,8 Ko 
ID : 1823498

    L'url testée (la même exactement que dans le test précédent) se terminant pourtant par .feed?type=rss passant du coup comme une lettre à la poste. Étonnant non ?

    Si l'on supprime la référence à Googlebot introduite précédemment en enlevant la ligne :
    User-agent: Googlebot
    Tout revient en ordre :

    Cliquez sur l'image pour l'afficher en taille normale

Nom : robots_txt_ok2.jpg 
Affichages : 1 
Taille : 52,5 Ko 
ID : 1823500

    Je n'ai trouvé aucune explication à ceci dans la documentation Google pour le fichier robots.txt (ou alors j'ai mal cherché ).

    Soit il faut être vraiment méticuleux sur l'écriture du fichier, soit il faut vraiment testé ligne à ligne !

    Nota : Bien entendu l'exemple pris avec les urls se terminant par .feed est reproductible avec toutes celles passées en Disallow dans les lignes précédentes ...
    Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

  • #2
    Re : Ordre de traitement du robots.txt par Google

    Merci pour la précision de ta réponse PieceofCake.

    Chez moi, le css reste bloqué malgré les lignes :
    Allow: .css
    Allow: /templates/*/css

    La preuve :
    Cliquez sur l'image pour l'afficher en taille normale

Nom : test-robots-css.jpg 
Affichages : 1 
Taille : 108,3 Ko 
ID : 1805027

    C'est d'ailleurs ce que semble dire cet article : http://upcity.com/blog/how-to-fix-go...earch-console/

    How To Quickly Fix ‘Googlebot Cannot Access CSS and JS Files’ Warning in Search Console
    Google’s own Gary Ilyles posted a quick and simple method of resolving this issue on StackOverflow yesterday, and the fix is surprisingly quick and easy to implement. According to Gary, “simplest form of allow rule to allow crawling javascript and css resources” is to add the following lines to your robots.txt file:
    User-Agent: Googlebot
    Allow: .js
    Allow: .css

    These few lines of code will allow Google’s crawling bots explicit access to all CSS and JavaScript elements to ensure that these site assets are fully visible and indexable. NOTE: Implementing these allow rules are superseded by any disallow rules, meaning the above lines will not solve any blocked elements issues, and any directory or structural rules are still applied.

    PieceofCake, as-tu fait le test pour voir chez toi si Googlebot arrivait à passer jusqu'à tes css ?


    PS: Le contenu intégral de mon robots :
    (la ligne Allow templates/*/css a été ajoutée à la volée dans l'outil de test pour voir si ça résoudrait mon problème)


    User-agent: *

    Allow: .css
    Allow: .js
    Allow: .png
    Allow: .gif
    Allow: .jpg
    Allow: .JPG
    Disallow: /administrator/
    Disallow: /cache/
    Disallow: /cli/
    Disallow: /components/
    Disallow: /component/
    Disallow: /site_content/tags.html*
    Disallow: /index.php?option=com_content*
    Disallow: /images/headers/
    Disallow: /images/phocagallery/
    Disallow: /includes/
    Disallow: /installation/
    Disallow: /language/
    Disallow: /libraries/
    Disallow: /logs/
    Disallow: /media/
    Disallow: /modules/
    Disallow: /plugins/
    Disallow: /templates/
    Allow: /templates/*/css
    Disallow: /tmp/
    Disallow: /html/
    Sitemap: ..........................................


    Si j'ajoute la ligne User-agent: Googlebot au début du fichier + une ligne User-agent: * après les consignes Allow, alors Googlebot passe sans problème sur le .css :
    Cliquez sur l'image pour l'afficher en taille normale

Nom : test-robots-css-2.jpg 
Affichages : 1 
Taille : 83,4 Ko 
ID : 1805028
    ... mais aussi sur tout ce qui est interdit comme ici l'administration du site !! :
    Cliquez sur l'image pour l'afficher en taille normale

Nom : test-robots-css-3.jpg 
Affichages : 1 
Taille : 94,6 Ko 
ID : 1805029


    PS: je vous recommande la lecture de cet article (en anglais, désolée) https://yoast.com/wordpress-robots-txt-example/ et de jeter un œil, après lecture, à leur robots.txt, ici : https://yoast.com/robots.txt
    Est-ce qu'ils ne seraient pas dans le vrai, finalement, en n'interdisant quasiment plus rien ? (le 'out' qui est interdit dans leur robots.txt est simplement la page des affiliates)
    Dernière édition par FlodAriege à 21/08/2015, 09h54
    Flo, Ariège

    Il n'y a que celui qui a honte d'apprendre qui a peur de demander

    Commentaire


    • #3
      Re : Ordre de traitement du robots.txt par Google

      Il faut toujours placer les instructions "Allow" avant les "Disallow"
      Par exemple, pas
      Disallow: /templates/
      Allow: /templates/*/css
      mais
      Allow: /templates/*/css
      Disallow: /templates/
      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

      Commentaire


      • #4
        Re : Ordre de traitement du robots.txt par Google

        Envoyé par RobertG Voir le message
        Il faut toujours placer les instructions "Allow" avant les "Disallow"
        Par exemple, pas mais
        Désolée, mais c'est le cas dans mon 2nd test (je me souvenais qu'on m'avait déjà dit ça, j'ai donc vérifié), et ça ne change rien au problème, la preuve :
        Cliquez sur l'image pour l'afficher en taille normale

Nom : test-robots-css-4.jpg 
Affichages : 1 
Taille : 104,3 Ko 
ID : 1805030
        Flo, Ariège

        Il n'y a que celui qui a honte d'apprendre qui a peur de demander

        Commentaire


        • #5
          Re : Ordre de traitement du robots.txt par Google

          Tu as oublié le slash de fin, après "css" (et moi aussi en recopiant), donc le robot ne considère pas ça comme un dossier mais un fichier, qu'il ne trouvera pas.
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

          Commentaire


          • #6
            Re : Ordre de traitement du robots.txt par Google

            Bonjour,
            Robert a raison concernant les allow avant des disallow ... meme si le bot de Google sait gérer cette subtilité
            Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer
            Cette année, le JoomlaDay FR a lieu à Bruxelles, les 20 et 21 mai 2022, plus d'infos et inscriptions : www.joomladay.fr

            Commentaire


            • #7
              Re : Ordre de traitement du robots.txt par Google

              Envoyé par manu93fr Voir le message
              Bonjour,
              Robert a raison concernant les allow avant des disallow ... meme si le bot de Google sait gérer cette subtilité
              OK, et j'ai bien rectifié l'ordre, ce qui n'a absolument rien changé. Normal puisque, comme tu le dis toi même, Googlebot sait gérer cette histoire d'ordre de toutes façons.


              Envoyé par RobertG Voir le message
              Tu as oublié le slash de fin, après "css" (et moi aussi en recopiant), donc le robot ne considère pas ça comme un dossier mais un fichier, qu'il ne trouvera pas.
              Le conseil donné aux endroits déjà indiqués par PieceofCake et dans les 2 autres threads était bien d'autoriser les FICHIERS .css, et pas un dossier css, d'où la syntaxe .css, censée autoriser Googlebot à accéder à tout fichier css quel que soit son emplacement, sauf que, comme je le dis plus haut (enfin comme Gary Ilyles l'écrit, plutôt), ces consignes sont de toutes façons supplantées par toute interdiction qui figurerait par ailleurs dans le robots (genre Disallow: /templates/)

              Moralité, comme j'ai bien d'autres soucis avec mon $%#?! de site, j'allège mon robots.txt, pas autant que cela est conseillé dans le lien yoast que j'ai donné plus tôt, mais très nettement quand même. En ayant vérifié que les consignes que j'ai laissées permettent de ne plus indexer des URL (duplicate content ou balises META en double) automatiquement générées par mon système, telles que celles se terminant par ?start=10, et les vieilles URL dont Google a gardé la mémoire pendant que j'activais l'URL rewriting.
              Voilà ce que je viens de mettre en ligne (on verra bien à l'usage si ça me pose des problèmes) :

              User-agent: *
              Allow: .css
              Allow: .js
              Allow: .png
              Allow: .gif
              Allow: .jpg
              Allow: .JPG
              Disallow: /administrator/
              Disallow: /cache/com_flexicontent_cats/
              Disallow: /cache/com_languages/
              Disallow: /cache/com_modules/
              Disallow: /cache/com_plugins/
              Disallow: /cache/com_templates/
              Disallow: /cache/mod_custom/
              Disallow: /cache/mod_flexitagcloud/
              Disallow: /cache/mod_menu/
              Disallow: /cache/mod_search/
              Disallow: /cli/
              Disallow: /component/
              Disallow: /site_content/
              Disallow: /index.php?option=com_content*
              Disallow: /*.html?start=*
              Disallow: /includes/
              Disallow: /installation/
              Disallow: /language/
              Disallow: /logs/
              Disallow: /tmp/
              Disallow: /html/
              Sitemap: ...............................................
              Dernière édition par FlodAriege à 21/08/2015, 12h07
              Flo, Ariège

              Il n'y a que celui qui a honte d'apprendre qui a peur de demander

              Commentaire


              • #8
                Re : Ordre de traitement du robots.txt par Google

                PS: Le contenu intégral de mon robots :
                (la ligne Allow templates/*/css a été ajoutée à la volée dans l'outil de test pour voir si ça résoudrait mon problème)
                SI j'ai bien lu tes images écrans, c'est bien le comportement que j'essayai de mettre en évidence dans mon post. Pour une raison qui m'échappe plusieurs instructions user-agent dans le même fichier sont mal interprétés par Googlebot.

                La dernière image de ton post #2 montre bien que tu as une instruction user-agent: Googlebot suivi d'une autre user-agent: * cette construction ou son contraire d'ailleurs, fait ou semble faire que Googlebot oublie la première (et tout ce qui la suit) et ne garde que la seconde.

                Ce qui m'a amené à démarrer par un user-agent: * et ne plus en mettre aucun autre après. Ce qui a immédiatement corrigé le tir
                Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

                Commentaire


                • #9
                  Re : Ordre de traitement du robots.txt par Google

                  Attention Flo, quand tu donnes l'autorisation "Allow: /templates/*/.css" pour permettre au robot de voir les fichiers css, il n'y a en général pas de fichier CSS à la racine des templates, donc tu devrais alors tout simplement mettre un "Allow: /templates/*/css/" pour autoriser l'accès aux fichiers de ces dossiers "css".
                  "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                  MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                  Commentaire


                  • #10
                    Re : Ordre de traitement du robots.txt par Google

                    Envoyé par RobertG Voir le message
                    Attention Flo, quand tu donnes l'autorisation "Allow: /templates/*/.css" pour permettre au robot de voir les fichiers css, il n'y a en général pas de fichier CSS à la racine des templates, donc tu devrais alors tout simplement mettre un "Allow: /templates/*/css/" pour autoriser l'accès aux fichiers de ces dossiers "css".
                    Non désolé Robert :
                    Allow: /templates/*/.css
                    est largement suffisant le * du milieu remplacant un nombre illimité d'arborescence de répertoire, il n'est pas nécessaire de cibler le répertoire css du template.
                    C'est d'ailleurs ce que j'utilise et ça marche très bien
                    Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

                    Commentaire


                    • #11
                      Re : Ordre de traitement du robots.txt par Google

                      De mon expérience, non : le * ne remplace pas un nombre illimité de répertoires, et comme l'a dit Flo, cette instruction ne fonctionne pas pour son site.
                      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                      Commentaire


                      • #12
                        Re : Ordre de traitement du robots.txt par Google

                        Bonjour,


                        Pourquoi bloquer /templates/ alors que Joomla préconise de ne plus écrire du tout Disallow: /templates/ ? Si le template est correctement programmé, les fichiers .PHP ne sont pas exécutables et donc pas indexables. Restent quelques index.html vides. Et bien sûr les .CSS et .JS, qui eux doivent être indexés.

                        => A mon sens, aucune ligne Disallow ou Allow: du robots.txt ne devrait commencer par /templates/.
                        Créateur de sites internet — Agence web indépendante http://www.e-33.fr | http://www.quali-site.fr (région de Bordeaux)

                        Commentaire


                        • #13
                          Re : Ordre de traitement du robots.txt par Google

                          => A mon sens, aucune ligne Disallow ou Allow: du robots.txt ne devrait commencer par /templates/.
                          Surtout avec l'ajout des lignes de fin :
                          Allow: *.js
                          Allow: *.css
                          Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

                          Commentaire


                          • #14
                            Re : Ordre de traitement du robots.txt par Google

                            Envoyé par RobertG Voir le message
                            De mon expérience, non : le * ne remplace pas un nombre illimité de répertoires, et comme l'a dit Flo, cette instruction ne fonctionne pas pour son site.
                            Franchement Robert, ça me gêne de te contredire sans arrêt, mais ...

                            Cliquez sur l'image pour l'afficher en taille normale

Nom : robots_txt_ok3.jpg 
Affichages : 1 
Taille : 54,3 Ko 
ID : 1805032

                            La preuve en images (et bien entendu : j'ai enlevé le Allow: *.css auparavant !)


                            PS : J'ai essayé le fichier robots.txt de FodAriege dans mon GWT (outil de test du robots.txt) et cette url ci-dessus ....blue.css sort bien en autorisée
                            Cliquez sur l'image pour l'afficher en taille normale

Nom : robots_txt_ok_flodariege.jpg 
Affichages : 1 
Taille : 36,5 Ko 
ID : 1805033
                            Dernière édition par PieceOfCake à 21/08/2015, 16h13
                            Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

                            Commentaire


                            • #15
                              Re : Ordre de traitement du robots.txt par Google

                              Envoyé par PieceOfCake Voir le message
                              Surtout avec l'ajout des lignes de fin :
                              Allow: *.js
                              Allow: *.css
                              Que moi j'ai sagement placées au début puisqu'on m'a dit ici qu'il fallait écrire les Allow avant les Disallow
                              ... et qui de toutes façons ne doivent plus vraiment être utiles dans mon robots vu comment je lui ai taillé les oreilles en pointe

                              Envoyé par PhilJ Voir le message
                              Bonjour,


                              Pourquoi bloquer /templates/ alors que Joomla préconise de ne plus écrire du tout Disallow: /templates/ ? Si le template est correctement programmé, les fichiers .PHP ne sont pas exécutables et donc pas indexables. Restent quelques index.html vides. Et bien sûr les .CSS et .JS, qui eux doivent être indexés.

                              => A mon sens, aucune ligne Disallow ou Allow: du robots.txt ne devrait commencer par /templates/.
                              C'est aussi la conclusion à laquelle je suis arrivée, et c'est pourquoi comme je l'écris plus haut, je n'ai plus aucune ligne faisant mention du dossier templates dans mon robots

                              Voici (à nouveau), le contenu de mon nouveau robots :

                              User-agent: *
                              Allow: .css
                              Allow: .js
                              Allow: .png
                              Allow: .gif
                              Allow: .jpg
                              Allow: .JPG
                              Disallow: /administrator/
                              Disallow: /cache/com_flexicontent_cats/
                              Disallow: /cache/com_languages/
                              Disallow: /cache/com_modules/
                              Disallow: /cache/com_plugins/
                              Disallow: /cache/com_templates/
                              Disallow: /cache/mod_custom/
                              Disallow: /cache/mod_flexitagcloud/
                              Disallow: /cache/mod_menu/
                              Disallow: /cache/mod_search/
                              Disallow: /cli/
                              Disallow: /component/
                              Disallow: /site_content/
                              Disallow: /index.php?option=com_content*
                              Disallow: /*.html?start=*
                              Disallow: /includes/
                              Disallow: /installation/
                              Disallow: /language/
                              Disallow: /logs/
                              Disallow: /tmp/
                              Disallow: /html/
                              Sitemap: (URL de mon sitemap)

                              J'ai arrêté d'interdire tout le dossier cache, car cela gênait Google, qui avait besoin de voir le contenu des sou dossiers preview et sigplus. Ne sachant comment faire autrement, j'ai donc interdit tout sauf ce que je voulais autoriser dans ce dossier cache. [grand mystère pour moi d'ailleurs qu'il y ait quoi que ce soit là dedans sachant que je ne suis encore pas arrivée à activer le cache sur mon site )

                              J'ajouterai peut-être quelques lignes empruntées à PieceOfCake (les print, les mailto, etc.)

                              J'ai refait plusieurs tests "explorer comme Google" avec ce robots, et ils sont sortis nickel chrome (à l'exception de scripts placés à l'extérieur, chez addthis par exemple).
                              Flo, Ariège

                              Il n'y a que celui qui a honte d'apprendre qui a peur de demander

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X