
En complément, j'ai aussi ajouté une version de cette documentation pour Joomla 4. Retrouver l'API doc de Joomla 4.… https://t.co/Q6whFT8Zui
Le 21 avril, Google sera sur le point de pénaliser les sites non-adaptés aux téléphones mobiles ! Votre site est déjà en Joomla 3 et vous utilisez un template Responsive ? Très bonne nouvelle, vous vous dites que vous êtes prêt !
Attention : avoir un template Responsive est effectivement un très bon point, mais d'autres paramètres entrent en considération :>
Car le soucis est que Google va se fier aux informations du fichier robots.txt pour s'assurer que votre site est bien "compatible avec les mobiles".
Que faire si votre site Joomla 3, pourtant sensé être Responsive, n'est pas reconnu comme "compatible mobile" par Google ?
Le problème d'une potentielle incompatibilité n'est pas tant dans le CMS Joomla, mais plutôt dans les templates et les extensions que vous utilisez qui ne sont peut-être pas en accord avec l'arborescence de dossiers de Joomla.
L'exemple de ce site garstud.com, basé sur un site Joomla 3 utilisant un composant et un template avancé montre les problèmes que vous pourriez rencontrer. En le testant sur le service de "Test de compatibilité Mobile" de Google ...
Test de compatibilité Mobile > >
On obtient le résultat suivant :
Le constat est sans appel, ce site Joomla 3 pourtant Responsive et dont le rendu est impeccable si on navigue via un Mobile, n'est pas validé par Google, pourquoi ?
Le GoogleBot ne fait pas que charger votre site, il le fait en respectant les règles du fichier robots.txt.
Si ce fichier lui demande de ne pas accéder ("dissallow") à tel dossier, alors GoogleBot tentera de charger la page du site sans aller charger les fichiers présents dans les chemins interdits (généralement des CSS, JS, images) !
Le problème est que Joomla a volontairement bloqué l'indexation des sous dossiers du site (hormis /media/ et /images/ qui ont été retiré du fichier robots.txt depuis la version 3.4 pour optimiser le SEO) car ils n'ont aucun intérêt pour l'indexation du site ! ... Mais voila que Google change la donne pour valider la "Compatibilité Mobile". Du coup, le GoogleBot est incapable de charger certains fichiers (CSS, JS, images ... ) et le rendu de la page lui semble donc altéré. Il décide alors que le site n'est "pas compatible pour les mobiles".
Il faut donc régler le fichier robots.txt pour qu'il autorise les Bots d'indexation de contenus à accéder à tous les fichiers CSS, JS et images !
Il faut procéder à l'analyse des remarques du Webmaster tools Mobile-friendly et ajouter des directives pour autoriser (Allow) les sous-dossiers et fichiers nécessaires sans pour autant supprimer les Disallow proposés par Joomla !
Une des solutions recommandées pour autoriser l’accès aux CSS et JS, souvent installés dans les dossiers /assets des composants consistera a ajouter les 2 lignes suivantes juste avant le "Disallow: /components/" :
Allow: /components/*/assets/css/*.css$ Allow: /components/*/assets/js/*.js$ Disallow: /components/
Le caractère "*" remplace n'importe quel mot. Les règles "Allow" vont permettre a GoogleBot de suivre et charger tous les fichiers "se finissant" (caractère "$") par .js ou .css.
Comme vous pourrez le constater, mon fichier http://www.garstud.com/robots.txt contient d'autres règles "Allow" qui m'ont permis, une par une, de régler les problèmes signalés sur des extensions spécifiques (plugins, modules, templates, cache, components).
L'objectif étant d’être le plus précis afin de limiter les accès, par exemple pour autoriser mon template à fournir son propre cache de fichiers CSS, j'ai ajouté :
Allow: /cache/template/gzip.php?*.css$
le caractère "*" remplaçant toutes les caractères spécifiques afin de traiter les fichiers ci-dessous que le GoogleBot me signalait comme bloqués :
Une fois ces règles ajoutées dans le robots.txt du site Joomla, un simple rechargement du moteur de test de compatibilité donne :
==> La page du site est désormais "Adaptée aux Mobiles" aux yeux du GoogleBot !
User-agent: googlebot ... les regles pour google avec le Allow avant les Disallow User-agent: bingbot ... autres regles spécifiques à ce bot
Les Bots les plus connus sont :
Les 4 premiers sont les plus actifs !
Vous avez un doute ou un problème de fonctionnement lors du test de votre site ?
Vous pouvez vérifier via votre compte "Webmaster Tools", la manière de se comporter du GoogleBot quand il lira votre robots.txt :
L'outil de Test vous signalera si il peut (règle surlignée en vert) ou pas (règle surlignée en rouge) y accéder :
Depuis Joomla 3.4, deux directives bloquantes pour le GoogleBot ont été retirées du robots.txt de Joomla :
Disallow: /images/ Disallow: /media/
Ces 2 dossiers sont donc analysés par les GoogleBot et donc facilite la compatibilité mobile ! Pourtant les extensions Joomla ont encore le choix de ne pas utiliser ses 2 dossiers pour stocker leurs images, css js, ... ou bon leur semblent !
L'API de Joomla fournit pourtant aux développeurs de quoi respecter la structure des dossiers de stockages des médias.
Pour respecter ce point, il vous faut utiliser la balise <media> dans votre Descripteur de déploiement (fichier XML) de votre extension pour que les médias de votre extension (CSS, JS, images) soient installés dans /media/com_moncompo1/... . Plus d'infos sur :
> https://docs.joomla.org/Manifest_files#Media_files
> https://docs.joomla.org/Development_Best_Practices
En complément, j'ai aussi ajouté une version de cette documentation pour Joomla 4. Retrouver l'API doc de Joomla 4.… https://t.co/Q6whFT8Zui
by Marc STUDER