Должны ли мы изменить наш Joomla robots.txt после объявления Google о сканировании CSS и JavaScript?

8

Наткнулся на объявление от Google: http://googlewebmastercentral.blogspot.in/2014/10/updating-our-technical-webmaster.html

Здесь утверждается:

Для оптимального рендеринга и индексации в нашем новом руководстве указано, что вы должны разрешить роботу Google доступ к файлам JavaScript, CSS и изображениям, которые используют ваши страницы. Это обеспечивает оптимальную визуализацию и индексацию вашего сайта. Запрещение сканирования файлов Javascript или CSS в файле robots.txt вашего сайта напрямую влияет на то, насколько хорошо наши алгоритмы отображают и индексируют ваш контент, и может привести к неоптимальному ранжированию.

По умолчанию файл Joomla robots.txt поставляется с запрещением:

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/

Посоветуйте, пожалуйста, удаляем ли мы нижеуказанные элементы из файла robots.txt на основании объявления Google?

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

Это то, что рекомендуется согласно объявлению для сайтов, основанных на Joomla?

кляп
источник
Почему бы просто не покончить с этим, robots.txtтак как никто (даже поисковые машины, которые сейчас предъявляют требования Google к тому, что вы не должны запрещать) все равно не последует этому?
переполнение вопроса
Связанный (не дубликат): Robots.txt - Разрешить или запретить CSS
unor

Ответы:

3

Честно говоря, вам лучше удалить все из вашего robots.txt. Насколько я вижу, все файлы PHP в Joomla содержат строку

defined('_JEXEC') or die;

Это означает, что если вы загрузите PHP-файл прямо в браузер, все, что вы получите, - это пустой файл, который поисковые системы будут игнорировать. (Они никогда не должны сталкиваться с ними в любом случае, если вы не связали их напрямую.)

Проблема с блокировкой некоторых из этих каталогов состоит в том, что некоторые компоненты и модули хранят свои файлы CSS / JS внутри этих соответствующих каталогов, а не в предпочитаемых папках media или images.

Так что нет никаких причин блокировать любые файлы Joomla от Google.

DisgruntledGoat
источник
Спасибо. Тем не менее - я вижу, - когда выборка страницы через веб-мастера - это выборка хорошо - несмотря на то, что не разрешать все эти папки. Разве удаление disallow принесет пользу страницам?
Gag
1
@Gagan Я не уверен, но инструмент извлечения в Инструментах для веб-мастеров, вероятно, игнорирует robots.txt.
Рассерженная шлюха
1
GWMT делает оба. Когда вы выбираете как Google, он покажет вам, как Google видит ваш сайт и как пользователь видит ваш сайт. @DisgruntledGoat прав, нет необходимости что-либо блокировать.
Брент Фриар
2

Помимо общего использования / отсутствия такового robots.txtна хорошо управляемом сайте Joomla с «хорошими» сторонними расширениями - единственные места, которые должны содержать CSS, JS или изображения:

/images
/media
/templates

и, конечно, их подкаталоги .

Таким образом, вы можете просто удалить их из robots.txt.

Craig
источник
1

Если вы видите свои страницы без ошибок при загрузке как Google в WMT, то вы, вероятно, в порядке. Но в будущем вы можете обновить контент на своем сайте, что потребует некоторых скриптов / CSS из некоторых заблокированных папок. Поэтому я думаю, что вам может быть лучше разрешить поисковым системам сканировать все эти папки, содержащие CSS / JavaScript.

Боян Мильевич
источник
1

Самые последние версии Joomla больше не блокировать /media/и /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/

Не все расширения соответствуют рекомендациям о том, где размещать файлы CSS, JS и т. Д., Поэтому хороший способ обойтись - разрешить Google доступ к этим файлам независимо от того, где они находятся.

Вы можете добиться этого, вставив несколько строк в начало вашего robots.txtфайла следующим образом:

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

РЕДАКТИРОВАТЬ:

Спасибо @ w3dk и @Stephen Ostermiller за отзывы! Ты совершенно прав. Лучше сделать что-то вроде этого:

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/

К сожалению, это не работает должным образом, потому что более длинные (более конкретные) правила переопределяют более короткие правила, а разрешающие строки игнорируются. Похоже, не имеет значения, следует ли линиям разрешения следовать линиям запрета или наоборот.

Единственный способ, которым я могу обойти это, - это сделать что-то вроде этого, которое, кажется, работает, когда я тестирую это в Инструментах для веб-мастеров:

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/

РЕДАКТИРОВАТЬ 2 - ЛУЧШЕЕ РЕШЕНИЕ:

Итак, я провел небольшое исследование и нашел ответ на https://stackoverflow.com/a/30362942/1983389

Это представляется наиболее правильным и наиболее поддерживается решение во всех веб - сканерам что - то вроде следующего (предоставление доступа к *.cssи *.jsфайлам в /bin, /cache, /installation, /language, /logs, и /tmpпапки и , возможно , некоторые из других папок имеет мало смысла):

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/
Нил Робертсон
источник
2
Это позволит роботу Googlebot сканировать все , что сильно отличается от исходного файла robots.txt - так ли это? (Тем не менее, это то же самое, что просто включить Disallow:в User-agent: Googlebotгруппу, что было бы более читабельным.)
MrWhite
Да, мы хотим предоставить Google доступ ко всем файлам CSS и JS на сайте.
Нил Робертсон
2
Не только файлы CSS и JS, но и все файлы на сайте. (?)
MrWhite
1
w3dk правильно. Если вы добавите специальный раздел для робота Googlebot, вам придется продублировать все существующие правила в этом разделе. Предложенный вами файл robots.txt позволит сканировать робот Googlebot /logs/, не позволяя другим ботам делать это.
Стивен Остермиллер