¿Deberíamos modificar nuestro archivo robots.txt de Joomla después del anuncio de Google sobre el rastreo de CSS y JavaScript?

8

He encontrado un anuncio de Google: http://googlewebmastercentral.blogspot.in/2014/10/updating-our-technical-webmaster.html

Afirma:

Para una representación e indexación óptimas, nuestra nueva directriz especifica que debe permitir que Googlebot acceda a JavaScript, CSS y archivos de imagen que usan sus páginas. Esto le proporciona una representación e indexación óptimas para su sitio. No permitir el rastreo de archivos Javascript o CSS en el archivo robots.txt de su sitio perjudica directamente qué tan bien nuestros algoritmos procesan e indexan su contenido y pueden dar lugar a clasificaciones subóptimas.

Por defecto, el archivo robots.txt de Joomla viene con no permitir:

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/

Por favor avise, ¿eliminaremos los siguientes elementos del archivo robots.txt según el anuncio de Google?

Disallow: /components/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/

¿Es esto lo que se recomienda según el anuncio para los sitios basados ​​en Joomla?

Mordaza
fuente
¿Por qué no simplemente eliminar robots.txtya que nadie (ni siquiera los motores de búsqueda ahora que Google está exigiendo lo que no debe rechazar) lo va a seguir de todos modos?
Desbordamiento de preguntas el
Relacionado (no un duplicado): Robots.txt - Permitir o no permitir CSS
hasta el

Respuestas:

3

Honestamente, es mejor que elimines todo de tu robots.txt. Hasta donde puedo ver, todos los archivos PHP en Joomla contienen la línea

defined('_JEXEC') or die;

Lo que significa que si carga un archivo PHP directamente en el navegador, todo lo que obtiene es un archivo en blanco, que los motores de búsqueda ignorarán. (De todos modos, nunca deberían encontrarse con estos a menos que los vincules directamente).

El problema de dejar bloqueados algunos de estos directorios es que algunos componentes y módulos mantienen sus archivos CSS / JS dentro de esos directorios respectivos y no en las carpetas preferidas de medios o imágenes.

Por lo tanto, no hay ninguna razón para bloquear ningún archivo de Joomla de Google.

Cabra descontento
fuente
Gracias. Sin embargo, sí veo, cuando una búsqueda de una página a través de Webmaster está bien, a pesar de no permitir todas esas carpetas. ¿Eliminar la anulación hará algún bien a las páginas?
Mordaza el
1
@Gagan No estoy seguro, pero la herramienta de búsqueda en las Herramientas para webmasters de Google probablemente ignore el archivo robots.txt.
DisgruntledGoat
1
GWMT hace las dos cosas. Cuando busque Google, le mostrará cómo Google ve su sitio y cómo lo ve un usuario. @DisgruntledGoat tiene razón, no hay necesidad de bloquear nada.
Brent Fray
2

Además del uso general / falta de ella, robots.txten un sitio Joomla bien administrado, con extensiones de terceros "buenas", los únicos lugares que deberían contener CSS, JS o imágenes son:

/images
/media
/templates

y, por supuesto, sus subdirectorios .

Entonces, podrías eliminarlos de robots.txt.

Craig
fuente
1

Si ve sus páginas sin errores al buscar como Google en WMT, entonces probablemente esté bien. Pero, en el futuro, puede actualizar algún contenido en su sitio web, lo que exigirá algunos scripts / css de algunas de las carpetas bloqueadas. Por lo tanto, creo que podría ser mejor si permite que los motores de búsqueda rastreen todas estas carpetas que contienen CSS / JavaScript.

Bojan Miljevic
fuente
1

Las versiones más recientes de Joomla ya no bloquean las carpetas /media/y /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/

No todas las extensiones se adhieren a las pautas de dónde colocar los archivos CSS y JS, etc., por lo que una buena solución es permitir que Google acceda a estos archivos independientemente de dónde se encuentren.

Puede lograr esto insertando algunas líneas al inicio de su robots.txtarchivo de esta manera:

#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/

EDITAR:

¡Gracias @ w3dk y @Stephen Ostermiller por los comentarios! Estás en lo cierto. Es mejor hacer algo como esto:

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/

Desafortunadamente, esto no parece funcionar según lo previsto porque las reglas más largas (más específicas) anulan las reglas más cortas y se ignoran las líneas permitidas. No parece hacer ninguna diferencia si las líneas de permiso siguen las líneas de no permitir o viceversa.

La única forma en que puedo evitar esto es haciendo algo como esto que parece funcionar cuando lo pruebo en las Herramientas para 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 - MEJOR SOLUCIÓN:

Bien, investigué un poco más y encontré la respuesta en https://stackoverflow.com/a/30362942/1983389

Al parecer, la solución más correcta y más apoyado en todos los rastreadores web es algo así como lo siguiente (lo que permite el acceso a *.cssy *.jsarchivos en los /bin, /cache, /installation, /language, /logs, y /tmpcarpetas y, posiblemente, algunas de las otras carpetas no tiene mucho sentido):

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/
Neil Robertson
fuente
2
Esto permitirá que Googlebot rastree todo , lo cual es bastante diferente del archivo robots.txt original. ¿Es esa la intención? (Sin embargo, esto es lo mismo que simplemente incluir Disallow:en el User-agent: Googlebotgrupo, lo que sería más legible.)
MrWhite
Sí, la intención es permitir el acceso de Google a todos los archivos CSS y JS en el sitio web.
Neil Robertson el
2
No solo los archivos CSS y JS, sino todos los archivos del sitio web. (?)
MrWhite
1
w3dk es correcto. Si agrega una sección especial para Googlebot, debe duplicar todas las reglas existentes en esa sección. Su archivo robots.txt propuesto permitiría a Googlebot rastrear /logs/mientras evita que otros bots lo hagan.
Stephen Ostermiller