web-dev-qa-db-fra.com

Devrions-nous modifier notre fichier Joomla robots.txt après l'annonce de Google sur l'exploration de CSS et de JavaScript?

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?

8
Gag

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.

3
DisgruntledGoat

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.

2
Craig

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

2
Michel

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/
1
Neil Robertson

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.

1
Bojan Miljevic