Accès de Googlebot aux fichiers CSS et JS impossible sur le site

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

  • PieceOfCake
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    J'ai détaillé (image à l'appui) tout le processus du post #63 dans un nouveau billet : http://forum.joomla.fr/showthread.ph...txt-par-Google

    Laisser un commentaire:


  • FlodAriege
    a répondu
    Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    Ah ! merci parce que là je commençais à me dire qu'il y avait un sacré gros problème dans mon robots. Même l'URL administrator.php était autorisée !!
    Zou, je file faire la correction.

    EDIT : retour de test

    Je viens de refaire le test, après avoir remis les lignes destinées à Googlebot à la fin du robtos.txt (après la ligne sitemap).
    Très étonnant mais... ça ne change RIEN.
    Tout ressort comme URL "autorisée".

    J'ai poussé le bouchon jusqu'à tester à nouveau administrator/index.php et... AUTORISEE !!
    Là je me suis dit que c'était forcément l'outil de test de Google qui partait en vrille, alors j'ai essayé en changeant de user :
    Googlebot : autorisée
    Googlebot-news : autorisée
    Googlebot-image : autorisée
    vidéo, mobile... : autorisée
    Mediapartners-Google : BLOQUEE (avec un beau panneau sens interdit en face de la ligne disallow: /administrator/ du robots.txt)
    Adsbot-Google : autorisée

    ?????????????????????????????????????????????????? ??

    J'ai refait les tests avec l'instruction visant à interdire l'indexation de
    rédigée ainsi :
    Disallow: /site_content/tags.html*
    ... là, le test sur l'URL /si​te_​con​ten​t/t​ags​.ht​ml?​id=​124 donne le résultat URL "autorisée" quel que soit le robot, y compris Mediapartner-Google

    Puis j'ai testé l'URL :
    in​dex​.ph​p?o​pti​on=​com​_co​nte​nt&​vie​w=c​ate ​gor​y&l​ayo​ut=​blo​g&i​d=1​00&​Ite​mid​=11​ 47
    alors que j'ai une instruction qui dit :
    Disallow: /index.php?option=com_content*
    ... idem, toujours autorisée, quel que soit le robot Google

    Enfin, j'ai fait un dernier test sur le contenu du dossier images/headers, alors que j'ai une instruction qui dit :
    Disallow: /images/headers/
    J'ai testé l'URL : Disallow: /images/headers/blue-flower.JPG
    ... autorisée, sauf pour Mediapartners-Google

    ????????????????


    2ème ÉDIT;
    Je réalise que j'ai mal lu ton post. J'ai en effet conservé la ligne User agent Googlebot en amont des lignes allow css js et ai tout déplacé en fin de robots, au lieu de faire comme toi qui as autorisé l'indexation des css js etc. à tous les user agent en supprimant la ligne à l'attention du seul Googlebot. Je rectifie ça dès que je peux et je refais mes tests.


    3ème EDIT :
    Bon, ben, cette fois je crois avoir fait la même chose que toi, PieceofCake :

    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/
    Disallow: /tmp/
    Disallow: /html/

    ... mais, par exemple, l'accès à mon custom.css (dans dossier templates) est... bloqué.
    Par contre les instructions relatives aux URL site_content et tout ça, elles, fonctionnent bien cette fois.

    Mais le but initialement recherché (donner accès aux css, js à Google) n'est plus atteint.
    N'y a-t-il que chez moi que le problème se pose ? Est-ce que j'aurais fait une coquille dans mon robots ?
    Dernière édition par FlodAriege à 20/08/2015, 15h59 Raison: TEST effectué

    Laisser un commentaire:


  • PieceOfCake
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    J'ai constaté aussi que les règles partaient un peu (beaucoup ?) en vrille après l'ajout des lignes
    User-Agent: Googlebot
    Allow: .js
    Allow: .css
    en fin de robots.txt, rendant tout ce qui est placé avant ces lignes et pourtant préfixé avec un
    User-Agent: *
    obsolète et sans effet. Étonnant non ?

    Tout se passe comme si la rencontre de l'instruction :
    User-Agent: Googlebot
    faisait que Googlebot ignorait purement et simplement ce qu'il y avait entre les deux instructions User-Agent

    du coup j'ai replacé les
    Allow: .js
    Allow: .css
    sous l'instruction
    User-Agent: *
    et tout est revenu en ordre

    Laisser un commentaire:


  • FlodAriege
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    Je viens de tester cette nouvelle instruction (la plus courte) (après m'être souvenue qu'on pouvait renvoyer le robots comme on renvoie le sitemap)
    ... Et l'URL mentionnée en exemple ressort toujours comme autorisée ... Je n'y comprends rien.
    Je vais tester la plus longue mais à mon avis y'a encore un truc que je fais de travers.

    Laisser un commentaire:


  • FlodAriege
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    Envoyé par PhilJ Voir le message
    A tester :

    Disallow: /site_content/tags.html?id=*&start=*

    ou même plus court :

    Disallow: /site_content/tags.html?*
    Merci PhilJ,
    J'ai modifié mon robots, mais quant à te dire si ça fonctionne, impossible ce soir, Google bloque sur la version précédente et refuse de s'actualiser pour voir la nouvelle version (qui pourtant s'affiche bel et bien quand je clique sur 'afficher le fichier robots en ligne'.

    Note pour moi même : vérifier si les 2 nouvelles instructions permettent bien d'ignorer les URL indésirables
    Disallow: /site_content/tags.html?*
    Disallow: /index.php?option=com_content*

    Laisser un commentaire:


  • PhilJ
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    Envoyé par FlodAriege Voir le message
    [...] pourquoi, alors que j'ai une ligne qui dit :
    Disallow: /site_content/tags.html*

    Quand je teste une URL comme :
    /si​te_​con​ten​t/t​ags​.ht​ml?​id=​124​&st​art​=10
    dans l'outil de test du robots.txt

    le résultat pour cette URL est :
    "autorisée"

    ???
    A tester :

    Disallow: /site_content/tags.html?id=*&start=*

    ou même plus court :

    Disallow: /site_content/tags.html?*

    Laisser un commentaire:


  • FlodAriege
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    Pfff....
    ... soit Google n'en fait qu'à sa tête,
    ... soit je suis aveugle et je ne vois pas mon erreur dans mon robots.

    Sinon, pourquoi, alors que j'ai une ligne qui dit :
    Disallow: /site_content/tags.html*

    Quand je teste une URL comme :
    /si​te_​con​ten​t/t​ags​.ht​ml?​id=​124​&st​art​=10
    dans l'outil de test du robots.txt

    le résultat pour cette URL est :
    "autorisée"

    ???

    Est-ce que c'est une histoire de ? ou de * ou autre signe cabalistique ?
    (j'espère que non les gars, paske je vous ai complètement perdus dans la fin de ce thread...)

    Merci

    Laisser un commentaire:


  • PhilJ
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    Envoyé par PieceOfCake Voir le message
    Dommage ça aurait pu être sympa
    En fait c'est sympa , du moins pour les signes * et $, car pour les ? rien à faire : dans le robots.txt ce sont toujours de simples points d'interrogation — typiquement utilisés pour introduire un passage de paramètres : ?parameter=value.

    => Dans le robots.txt, ? n'est pas là pour remplacer un caractère quelconque (comme c'est le cas dans les expressions régulières) mais simplement pour cibler la présence d'un (bête) point d'interrogation. Référence : https://support.google.com/webmaster..._topic=6061961, § accessible depuis la ligne cliquable 'Pattern-matching rules to streamline your robots.txt code'.

    ________________________

    Reste la question de la compatibilité, et là c'est quasi aussi sympa.

    En effet, on peut lire encore aujourd'hui que les wildcards (jokers symbolisés par un *) et autres $ ne sont pas standard, et donc (!?) qu'il ne faut pas les utiliser. Or ce sont 2 affirmations différentes : la signification de ces symboles n'est pas standard, c'est vrai, car le standard du robots.txt est vraiment minimaliste et n'a pratiquement pas évolué depuis les débuts du web. Mais la quasi totalité des moteurs de recherche en reconnaissent la signification. Voir la première phrase de http://robots-txt.com/ressources/robots-txt-wildcard/.

    En tenant compte de cette indication, la question devient : quelle est la part de marché des principaux moteurs de recherche ?

    => Prenons l'exemple de la France pour 2015 (source : http://gs.statcounter.com/#desktop-s...501-201507-bar) :
    • Numéro 1, de très loin : Google, avec plus de 93 % des recherches moteur.
    • Numéro 2 et numéro 3 sur le podium, évidemment très loin derrière Google : Yahoo et Bing, avec pour chacun ~ 3 % des recherches moteur.
    • Tous les autres moteurs réunis cumulent moins de 0.5 % des recherches moteur.


    Or les 3 premiers moteurs cités reconnaissent la signification de * et de $.

    Donc, au pire, 0.5 % des moteurs de recherche utilisés en France ne reconnaissent pas la signification de * et de $ : lorsque Google écrit que « Googlebot (and some other robots) can understand some simple pattern matching », il faut comprendre que au moins 99.5 % des recherches se font avec des moteurs qui reconnaissent parfaitement ces directives non standard.

    On peut donc utiliser les signes * et $ dans le robots.txt sans plus se poser la question de savoir s'ils sont ou non standard .
    Dernière édition par PhilJ à 12/08/2015, 17h42

    Laisser un commentaire:


  • PieceOfCake
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    Oui tu as sans doute raison, me suis un peu enflammé là !
    on trouve quand même ceci dans les commentaires de Google lui-même :

    Regular Expressions are not allowed in robots.txt, but Googlebot (and some other robots) can understand some simple pattern matching:
    Say if you wanted to block all URLs that have a example any where in the URL, you can use a wild card entry *

    User-agent: *
    Disallow: /*example
    You can also use the dollar sign $ to specify that the URLs must end that way. So if you wanted to block all URLs that end with example, but not URLs that had aexample elsewhere in the URL you could use:

    User-agent: *
    Disallow: /*example$
    Dommage ça aurait pu être sympa

    Laisser un commentaire:


  • PhilJ
    a répondu
    Bonjour,


    Envoyé par PieceOfCake Voir le message
    [...] l'anti slash escape le premier * astérisque : OK si l'idée était de filtrer avec une expression régulière [...]
    Là je crois bien que tu surestimes grandement la subtilité de la syntaxe de robots.txt, laquelle est ultra basique et ignore totalement les expressions dites régulières. En particulier elle ignore l'échappement, et le point d'interrogation signifie tout bêtement... point d'interrogation.

    Par exemple j'ai ceci dans le code source d'un site de e-commerce : /media/com_hikashop/js/hikashop.js?v=250 (v=250 signifiant en fait version 2.5.0). En l'occurrence aucune directive particulière n'est à ajouter au robots.txt dans la mesure où j'autorise Google à regarder partout dans le dossier /media/. Mais supposons que ce ne soit pas le cas pour les besoins de l'explication. Alors une instruction pour cibler ce type d'URL serait .js?*. Si au contraire on voulait cibler spécifiquement les fichiers JS ne comportant pas de point d'interrogation (ie : les fichiers JS sans paramètre-s), on écrirait plutôt .js$, le $ signifiant tout simplement « à la fin » : cette syntaxe restrictive ciblerait alors tous les fichiers JS, sauf ceux ne se terminant pas par .js.

    Laisser un commentaire:


  • PieceOfCake
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    Envoyé par PhilJ Voir le message
    Bonjour,





    J'avoue ne pas comprendre la signification du double astérisque :-\
    Moi non plus, je pense qu'il s'agit d'une erreur l'anti slash escape le premier * astérisque : OK si l'idée était de filtrer avec une expression régulière sur la base de */gzip.php suivi (ou pas) de paramètres passés (?*) jusqu'à la fin de la ligne (de l'url en l'occurrence) alors la bonne syntaxe serait (à mon humble avis) :

    /*//gzip/.php/?*$

    avec la décomposition suivante :
    /* = *
    // = /
    /. = . (le dot remplace n'importe quel caractère dans une expression régulière pas seulement le point)
    /? = ? (idem le point d'interrogation remplace le ou les caractères précédents en signalant qu'il est (ou ils sont) présent une fois ou zéro fois en l'occurrence php? match à la fois ph et php mais en aucun cas le symbole ? séparateur des querystrings dans l'url)

    dans les lignes suivantes à la suite de .css et .js j'avoue que je ne vois pas l'utilité du ?

    quelque chose m'échappe

    Laisser un commentaire:


  • PhilJ
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    Bonjour,


    Envoyé par daneel Voir le message
    Et question *, j'ai trouvé cette solution sur un autre forum :

    Code:
    [LEFT][COLOR=#666666][FONT=Trebuchet MS]....[/FONT][/COLOR]
    [COLOR=#666666][FONT=Trebuchet MS]User-agent: *[/FONT][/COLOR]
    [COLOR=#FF0000][FONT=Trebuchet MS]Allow: /**/gzip.php?*$[/FONT][/COLOR][COLOR=#666666][FONT=Trebuchet MS][/FONT][/COLOR]
    [COLOR=#666666][FONT=Trebuchet MS]....[/FONT][/COLOR]
    [/LEFT]

    J'avoue ne pas comprendre la signification du double astérisque :-\

    Laisser un commentaire:


  • daneel
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    Envoyé par PieceOfCake Voir le message
    oui et tu pouvais même faire l'économie des * le robots.txt acceptant très bien un
    Allow: .gif

    oui merci, cela répond à mon interrogation...

    Et question *, j'ai trouvé cette solution sur un autre forum :

    Code:
    [LEFT][COLOR=#666666][FONT=Trebuchet MS]....[/FONT][/COLOR]
    [COLOR=#666666][FONT=Trebuchet MS]User-agent: *[/FONT][/COLOR]
    [COLOR=#FF0000][FONT=Trebuchet MS]Allow: /**/gzip.php?*$
    Allow: /**/*.css?*$
    Allow: /**/*.js?*$
    Allow: /**/*.css$
    Allow: /**/*.js$[/FONT][/COLOR]
    [COLOR=#666666][FONT=Trebuchet MS]Disallow: /administrator/[/FONT][/COLOR]
    [COLOR=#666666][FONT=Trebuchet MS]....[/FONT][/COLOR][/LEFT]

    Laisser un commentaire:


  • PhilJ
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    Envoyé par PieceOfCake Voir le message
    oui et tu pouvais même faire l'économie des * le robots.txt acceptant très bien un
    Allow: .gif
    ...Exact. C'était pour voir si tu suivais .

    Sinon, voici ce que dit un intervenant sur github à propos des fichiers .PHP (https://github.com/joomla/joomla-cms/pull/6839) :
    PHP files in Joomla, including extensions on the JED, have a defined('_JEXEC') or die statement that prevents the contents of the file being exposed. Even if Google were to find it, the contents would be completely blank and they wouldn't index it.

    That being said, if it's desired to not allow the indexing of php files, a derivative of the following could be used: Disallow: /*.php$

    ...précaution à vrai dire nécessaire seulement dans l'hypothèse où l'exécution directe d'un script PHP ne serait pas empêchée par une instruction defined('_JEXEC') or die.
    Dernière édition par PhilJ à 11/08/2015, 19h33

    Laisser un commentaire:


  • PieceOfCake
    a répondu
    Re : Accès de Googlebot aux fichiers CSS et JS impossible sur le site

    oui et tu pouvais même faire l'économie des * le robots.txt acceptant très bien un
    Allow: .gif

    Laisser un commentaire:

Annonce

Réduire
Aucune annonce pour le moment.

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X