Настройка robots.txt для Joomla 3

Рассмотрим как создать для Joomla 3+ правильный файл для поисковых роботов - robots.txt

Этот файл нужен для указания роботам того, что нужно индексировать на вашем сайте и чего НЕ нужно.

Изначально robots.txt имеет такой вид:

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/

Чтобы понимать суть этого файла, давайте слегка разберём что здесь написано и какие операторы (команды) он поддерживает.

User-agent - это имя робота, для которого предназначена инструкция. По умолчанию в Joomla стоит * (звёздочка) - это означает, что инструкция предназначена для абсолютно всех поисковых роботов.

Наиболее распространённые имена роботов:

  • Yandex - все роботы поисковой системы Яндекса
  • YandexImages - индексатор изображений
  • Googlebot - робот Гугла
  • BingBot - робот системы Bing
  • YaDirectBot - робот системы контекстной рекламы Яндекса

Использовать отдельные инструкции для каждого робота в большинстве случаем нет необходимости. Если только на каких то специфичных проектах и для особенных задач.

Каждый робот понимает большую часть команд, и только для некотрых, например для робота Яндекса существуют собственные команды.

Поэтому смело можно ставить * (звёздочку) и писать инструкции для всех. Если какой-то робот не поёмёт что-то, он просто проигнорирует эту команду и будет работать дальше.

Disallow - запрещает индексировать содержимое указанной папки или URL.

Пример:

Disallow: /images/ - запрет индексации всего содержимого папки images

Disallow: /index.php* - запрет индексации всех URL адресов, начинающихся с index.php

Allow - наоборот, разрешает индексацию папки или URL.

Пример:

Allow: /index.php?option=com_xmap&sitemap=1&view=xml  - разрешает индексацию карты сайта, созданной при помощи Xmap.

Такая директива необходима если у вас стоит запрет на индексацию адресов с index.php, а чтобы робот мог получить доступ к карте сайта, нужно разрешить этот конкретный URL.

Host - указание основного зеркала сайта (с www или без www)

Пример: 

Host: www.joomlatown.net - основной адрес этого сайта с www

Sitemap - указание на адрес по которму находиться карта сайта

Пример:

Sitemap: http://www.joomlatown.net/index.php?option=com_xmap&sitemap=1&view=xml

По этому адресу находится карта сайта в формате xml

Clean-param - специальная директива, которая запрещает роботам Яндекса индексировать URL адреса с динамическими параметрами.

Динамические параметры, это различные переменные и цифры, которые подставляются к адресу, например при поиске по сайту.

Пример таких параметров:

http://www.joomlatown.net/poisk?searchword=robots.txt&ordering=newest&searchphrase=all&limit=20

И чтобы Яндекс не учитывал такие служебные страницы, в robots.txt задаётся директива Clean-param.
Всё тот же пример с поиском по сайту:

Clean-param: searchword / - директива запрещает индексировать все URL с параметром ?searchword

Crawl-delay - директива пока знакомая только Яндексу. Она указывает с каким интервалом сканировать страницы, интервал задаётся в секундах.

Может быть полезно если у вас много страниц и достаточно высокая нагрузка на сервер, поскольку каждое обращение робота к странице вашего сайта - это нагрузка на сервер. Робот может сканировать по несколько страниц в секунду и тем самым загрузить серврер.

Пример:
Crawl-delay: 5 - интервал для загрузки страницы - 5 секунд.

Прим: Но с crawl-delay нужно быть осторожнее, он может замедлить индексацию страниц сайта.

Специфичные директивы для Яндекса вы можете посмотреть здесь >>

Все директивы пишутся с новой строки, без пропуска.

Таким образом для Joomla 3, со включенным SEF (красивыми ссылками без index.php) можно вывести такой файл robots.txt

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: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /index.php*
Allow: /index.php?option=com_xmap&sitemap=1&view=xml
Host: ваш_домен.ru
Sitemap: http://ваш_адрес_карты_сайта
Clean-param: searchword /

Здесь мы запретили индексацию URL адресов с index.php - это можно применить только если у вас включен SEF.
Разрешили индексацию картинок, xml-карты сайта, указали главное зеркало сайта, путь до карты сайта, запретили (очистили) параметр searchword, который используется в поиске Joomla.

Желаю хорошей и быстрой индексации!