29 Juil 2015

La solution au message «Accès de Googlebot aux fichiers CSS et JS impossible »

E-marketing, E-marketing et réseaux sociaux, Expertise, Veille & nouveautés SEO de l'agence Pullseo 12 commentaires

« Googlebot cannot access CSS and JS files” pour nos amis anglophones et « Accès de Googlebot aux fichiers CSS et JS impossible » pour les français ; Google Search Console envoie des avertissements aux webmasters qui bloquent le CSS et JavaScript sur leurs sites.

L’avertissement, [WNC-658001] de son petit nom, est envoyé par email mais aussi en tant qu’alerte dans Google Search Console pour tous les sites touchés.

« Accès de Googlebot aux fichiers CSS et JS impossible sur le site ….. »

Nos systèmes ont récemment détecté un problème avec votre page d’accueil qui affecte l’affichage et l’indexation de votre contenu par nos algorithmes. Plus particulièrement, Googlebot ne peut accéder à vos fichiers JavaScript ou CSS à cause de restrictions dans votre fichier robots.txt. Ces fichiers nous permettent de comprendre que votre site Web fonctionne correctement. En bloquant l’accès à ces éléments, il est donc possible que le classement du site ne soit pas optimal.

Voici une copie de l’alerte :

Mail Google

Pourquoi ces fichiers bloqués nous préoccupent (et doivent vous préoccuper) ?

Google nous dit qu’«en bloquant l’accès à ces éléments, il est possible que le classement du site ne soit pas optimal ».

Rien de réellement nouveau ceci-dit, nous le savions depuis l’année dernière lorsque Google a mis à jour son guide technique tout en précisant que les fichiers CSS et le Javascript doivent être accessible aux robots des moteurs car ils sont pris en compte dans l’algorithme mobile.

Méthode Générique pour trouver les fichiers CSS et Javascript bloqués :

Suivre les instructions de Google pour les retrouver peuvent s’avérer long et fastidieux. Il y a donc 2 méthodes pour identifier les problèmes.

1.Identifier les fichiers

Premièrement, il faut identifier les fichiers problématiques :html-icone-4988-128

  • via le code source HTML du site
  • avec l’aide de Google Search Console en vous rendant dans la partie Index Google. Le menu Ressources Bloquées qui vous permet de vous rendre compte de toutes les ressources bloquées lors du dernier crawl de Google Bot.

2.Identifier le(s) problème(s)

Ensuite, à partir de ces fichiers, vous devez chercher la source du blocage. Il y fort à parier que le problème réside dans vos fichiers .htaccess et/ou robots.txt.

Mettre en place la solution

  • Au niveau du fichier robots.txt, il est nécessaire d’indiquer les repertoires contenant les fichiers CSS et JS que le crawler peut indexer
  • Au niveau du fichier .htaccess, il est nécessaire de vérifier que rien ne bloque l’accès aux ressources

La solution pour wordpress

Pour WordPress, deux méthodes sont envisageables.Solution WordPress

1. La première ne fixe le problème que pour GoogleBot :

#Googlebot
 User-agent: Googlebot
 Allow: *.css
 Allow: *.js
# Other bot spider
 User-agent: *
 Disallow: /wp-admin/
 Disallow: /wp-includes/

2. Dans le cas où Yahoo ou Bing vous renverraient eux aussi un message concernant le blocage des fichiers CSS et JavaScript, il vous suffira de modifier votre robots.txt comme suit :

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Allow: /wp-content/plugins/
Allow: /wp-content/themes/

Enfin, il vous suffira de proposer la réindexation de votre fichier robots.txt dans Google Search Console pour que les modifications soient prises en compte par Google.

La solution Prestashop :

Pour Prestashop, les modifications sont un peu plus complexes.

1. Il vous faudra ajouter l’élément « Allow » dans votre fichier robots.txt sur les répertoires suivants :Solution prestashop

Allow: /themes/
Allow: /js/
Allow: */modules/

Variante :

Allow: /themes/
Allow: /js/
Allow: */modules/*.css
Allow: */modules/*.js

Cette variante donne accès uniquement aux fichiers .css et .js du répertoire module. Merci E-Komerco.

2. Si vous faites attention, vous aurez remarqué qu’il y a une indication contraire dans votre fichier robots.txt. Il faut donc supprimer ou mettre en commentaire la ligne suivante :

# Disallow: */modules/

Le # sert à mettre la ligne en commentaire

3. Ensuite, il faudra modifier le fichier .htacess qui se trouve à la racine du répertoire /theme / en ajoutant la ligne suivante :

Allow from all

Ce qui donne le fichier suivant :

<FilesMatch "\.tpl$">
 Deny from all
 Allow from all

4. Pour finir, il vous suffira, là aussi, de proposer la réindexation de votre fichier robots.txt à Google (soit via la fonction d’exploration comme Google, soit via l’outil de test du fichier robots.txt).

A noter : Prestashop ayant beaucoup de cache, l’indexation peut éventuellement prendre du temps.

Avec ces petites corrections, vous devriez avoir résolu le problème.

Crédit Photo : Icones.pro – Wikipédia – Wikipédia

12 commentaires pour “La solution au message «Accès de Googlebot aux fichiers CSS et JS impossible »”

  1. Stéphane says:

    Un grand merci pour la soluce :) Il est vrai que le message provenant de Google est apparu récemment pour beaucoup de sites. Cela peut en faire paniquer plus d’un. Ce que je ne comprends pas, c’est que le fichier robots.txt ne bloquait pas l’accès à ces fichiers. Google a décidé sur un coup de tête que ces fichiers étaient inaccessibles. Il faut donc « autoriser » manuellement le crawl de ces fichiers pour qu’ils soit lisibles par Googlebot. Faut-il donc revoir entièrement la syntaxe d’écriture et le fonctionnement du robots.txt ?

  2. SEO says:

    Bonjour Stéphane.
    Plutôt que de revoir uniquement le fichier robots.txt, il faut se tenir au courant des évolutions et des nouvelles « contraintes » imposées par les moteurs de recherche

    Cordialement

  3. E-komerco says:

    Bonjour,

    Par rapport à Prestashop, au lieu d’autoriser l’accès complet aux répertoires (module par exemple), pourquoi ne pas laisser la directive disallow et d’en ajouter une autre laissant l’accès aux fichier js, et css ?

    Disallow: */modules/

    Allow: */modules/*.css
    Allow: */modules/*.js

    On peut d’ailleurs utiliser cette directive pour les autres répertoires éventuellement concernés.

    Cela me parait plus opportun.

    Non ?

    E-Komerco

  4. SEO says:

    Bonjour

    Merci pour ces précisions. Nous allons éditer le billet.
    La question se pose par rapport aux éventuels autres fichiers qu’il faudra rendre accessible dans un futur plus ou moins proche.

  5. Alex says:

    Mais je me pose la question pourquoi donner un accès à tous les js si le site marche pour mobile et que Google ne voit aucune erreur ?
    Pour moi si Google arrive à lire le site en mode mobile je ne vois pas pourquoi on lui donnerait accès tout

  6. SEO says:

    En fait, apparemment, le crawler mobile n’as pas accès aux CSS et JS si on ne le définit pas.
    Et Google a besoin de ces éléments pour bien comprendre le fonctionnement de la page (car certains contenus sont parfois intégré aux JS par exemple)

    Et surtout, si Google se prend le temps de prévenir les webmasters, mieux vaut l’écouter…

  7. Mic says:

    Bonjour,
    petit retour d’expérience pour mon site sur lequel j’ai modifié le robots.txt le 30 juillet.
    Si mon site est désormais « mobile friendly », c’est la catastrophe au niveau du référencement. Plusieurs pages installées depuis plusieurs année dans le Top 20 sur Google ont plongé d’au moins 40 places !
    Et certains résultats dans les SERP s’affichent maintenant avec la mention « description bloquée par le fichier robots.txt… »
    Je suis un peu désemparé…
    Voila la partie du fichier qui nous intéresse :

    User-agent: *
    Disallow: /cgi-bin/
    Disallow: /memo/
    Disallow: /wp-admin/
    Disallow: /wp-includes/
    Allow: /wp-content/plugins/ (qui était disallow avant)
    Disallow: /wp-content/cache/
    Allow: /wp-content/themes/ (qui était disallow avant)
    Disallow: /feed/
    Disallow: /trackback/
    Allow: /wp-content/uploads/ (qui était disallow avant)

    User-agent: Googlebot
    Disallow: /*.php$
    Allow: /*.js (qui était disallow avant)
    Disallow: /*.inc$
    Allow: /*.css (qui était disallow avant)

    Vous me conseillez de remettre les paramètres antérieurs au 30 juillet ?
    ou j’ai fait une grossière erreur ?
    Merci de votre aide
    Cordialement

  8. SEO says:

    Bonjour

    Il est difficile d’accuser uniquement les modifications du fichier htacess dans votre baisse du positionnement sans avoir tous les éléments.
    Il faudrait analyser tout le site et voir quelles sont les URL exactement bloquées.
    De plus, vous avez ajouté des permissions (en passant des éléments de « disallow » vers « allow ») donc vous donnez à Google plus de chose à indexer (et non l’inverse)

    La première chose que je ferais c’est de vérifier la balise META ROBOTS dans la source HTML des pages incriminées par la baisse.
    Ensuite, avant de trouver la solution, effectivement, je reviendrais en arrière avec l’ancienne version du fichier.

  9. Mic says:

    Bonjour,
    merci pour votre réponse rapide.
    Certaines URL sont bloquées, ce sont toutes des articles sous wordpress, construits de la même façon.
    Je vais remettre l’ancienne version du fichier car ça risque d’empirer et de toucher toutes les pages du site.
    Etonnant quand autorisant plus de choses, Google considère qu’il a moins de libertés ;-)
    Je viens de trouver également 2 articles référencés sur Google en https !!!

    Je n’arrive pas à trouver cette balise META ROBOTS. Dans le code source de la page sur internet ? ou dans le code de single.php ?
    Cordialement

  10. SEO says:

    Mic,

    La balise META Robot se trouve dans la source HTML de la page.
    Si elle est présente, il y a de grandes chances qu’elle soit généré par un plugin (et non directement dans header.php)

    Cordialement

  11. Papagayo says:

    User-agent: *
    Disallow: /folder/
    Allow: /folder/*.js
    Allow: /folder/*.css

    Puis tester les ressources bloquées dans search console

  12. NextWeb says:

    Mais que peut bien faire le bot de Google des fichiers CSS et JS ?
    Jamais vu de GET de fichier CSS ou JS par un bot dans les logs

Laisser un commentaire

Les liens des commentaires peuvent être libérés des nofollow.