Ont rencontré une annonce de Google: http://googlewebmastercentral.blogspot.in/2014/10/updating-our-technical-webmaster.html
Il est dit:
Pour un rendu et une indexation optimaux, notre nouvelle directive précise que vous devez autoriser Googlebot à accéder aux fichiers JavaScript, CSS et images utilisés par vos pages. Cela vous offre un rendu et une indexation optimaux pour votre site. Interdire l’exploration de fichiers Javascript ou CSS dans le fichier robots.txt de votre site nuit directement à la qualité de rendu et d’indexation de votre contenu par nos algorithmes et peut conduire à des classements non optimaux.
Par défaut, le fichier robots.txt de Joomla est livré avec interdire:
Disallow: /administrator/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Veuillez indiquer si nous devons supprimer les éléments ci-dessous du fichier robots.txt en fonction de l'annonce de Google.
Disallow: /components/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Est-ce ce qui est recommandé selon l'annonce pour les sites basés sur Joomla?
Honnêtement, vous feriez mieux de tout supprimer de votre fichier robots.txt. Autant que je sache, tous les fichiers PHP de Joomla contiennent la ligne
defined('_JEXEC') or die;
Ce qui signifie que si vous chargez un fichier PHP directement dans le navigateur, vous obtenez un fichier vide que les moteurs de recherche ignoreront. (Ils ne devraient jamais les rencontrer de toute façon, sauf si vous les avez liés directement.)
Le problème en laissant certains de ces répertoires bloqués est que certains composants et modules conservent leurs fichiers CSS/JS dans ces répertoires respectifs et non dans les dossiers de supports ou d'images préférés.
Il n'y a donc aucune raison de bloquer les fichiers Joomla de Google.
Outre l'utilisation/l'absence globale de celui-ci, robots.txt
sur un site Joomla bien géré, doté de "bonnes" extensions tierces - les seuls emplacements devant contenir du CSS, JS ou des images sont:
/images
/media
/templates
et bien sûr leurs sous-répertoires.
Ainsi, vous pouvez simplement supprimer ceux de robots.txt
.
Dans Joomla 3.3, ces lignes ont été supprimées du fichier robots.txt:
Disallow: /templates/
Disallow: /media/
Plus d'infos ici: http://www.energizethemes.com/blog/joomla/have-you-updated-the-joomla-robots-txt-file.html
Les versions les plus récentes de Joomla ne bloquent plus les dossiers /media/
et /templates/
:
User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/
Toutes les extensions ne respectent pas les consignes relatives à l'emplacement des fichiers CSS, JS, etc.: vous devez donc permettre à Google d'accéder à ces fichiers, où qu'ils se trouvent.
Vous pouvez y parvenir en insérant quelques lignes au début de votre fichier robots.txt
comme ceci:
#Googlebot
User-agent: Googlebot
Allow: *.css
Allow: *.js
User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/
EDIT:
Merci @ w3dk et @Stephen Ostermiller pour les commentaires! Vous avez parfaitement raison. Il vaut mieux faire quelque chose comme ça:
User-agent: *
Allow: *.css
Allow: *.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/
Malheureusement, cela ne semble pas fonctionner comme prévu car les règles les plus longues (plus spécifiques) remplacent les règles les plus courtes et les lignes d'autorisation sont ignorées. Cela ne semble pas faire de différence que les lignes d'autorisation suivent les lignes interdites ou inversement.
La seule façon pour moi de contourner ce problème consiste à faire quelque chose comme ceci qui semble fonctionner lorsque je le teste dans les outils pour les webmasters:
User-agent: *
Allow: /************************************************************.css
Allow: /************************************************************.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/
EDIT 2 - MEILLEURE SOLUTION:
OK, alors j'ai fait un peu plus de recherches et j'ai trouvé la réponse à https://stackoverflow.com/a/30362942/1983389
Il semble que la solution la plus correcte et la plus prise en charge parmi tous les robots d’analyse Web ressemble au suivant (permettre l’accès aux fichiers *.css
et *.js
dans le fichier /bin
, /cache
, /installation
, /language
, /logs
et /tmp
et éventuellement d'autres dossiers n'a pas de sens):
User-agent: *
Allow: /administrator/*.css
Allow: /administrator/*.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Allow: /cli/*.css
Allow: /cli/*.js
Disallow: /cli/
Allow: /components/*.css
Allow: /components/*.js
Disallow: /components/
Allow: /includes/*.css
Allow: /includes/*.js
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Allow: /layouts/*.css
Allow: /layouts/*.js
Disallow: /layouts/
Allow: /libraries/*.css
Allow: /libraries/*.js
Disallow: /libraries/
Disallow: /logs/
Allow: /modules/*.css
Allow: /modules/*.js
Disallow: /modules/
Allow: /plugins/*.css
Allow: /plugins/*.js
Disallow: /plugins/
Disallow: /tmp/
Si vous voyez vos pages sans erreur lorsque vous récupérez Google en WMT, tout va bien. Mais, à l'avenir, vous pourrez mettre à niveau certains contenus de votre site Web, ce qui nécessitera des scripts/css de certains dossiers bloqués. Par conséquent, je pense qu’il serait peut-être préférable de permettre aux moteurs de recherche d’explorer tous ces dossiers contenant du CSS/JavaScript.