Robots.txt
Robots.txt – что это? Это файл, использующийся для регулирования индексации web-сайта ПС (поисковыми системами). Он находится в корневом каталоге. В разделах файла находятся директивы, открывающие или закрывающие доступ индексирующим ботам к разделам/страницам ресурса. Каждый поисковый робот использует свой алгоритм обработки этого файла. Настройки robots.txt не оказывают влияние на обработку ссылок на страницы ресурса с других web-сайтов.
Функции robots.txt
Основной функцией данного файла является размещение указаний для роботов ПС. К главным директивам robots.txt относят следующие.
- Disallow – накладывает запрет на индексацию;
- Allow – значит, что индексация конкретного раздела/файла разрешена;
- User-agent – определяет, к каким роботам относятся разрешающие/запрещающие директивы.
Инструкции robots.txt носят рекомендательный характер – то есть иногда они могут игнорироваться роботами.
Пример
User-agent: *
Disallow: / |
Файл с таким содержанием запрещает индексацию ресурса для всех роботов. |
User-agent: Yandex
Disallow: /private/ |
Robots.txt с таким содержанием (директорий /private/) нужно применить, чтобы запретить индексацию для основного робота ПС Yandex. |
Как создавать и где размещать robots.txt
У файла должно быть расширение txt. После создания он закачивается в корневой каталог при помощи любого FTP-клиента. После нужно проверить доступность файла по адресу site.com/robots.txt (в браузере он должен отображаться целиком).
Требования к файлу robots.txt
Поговорим о требованиях к файлу. Web-мастера знают, что отсутствие robots.txt в корневом каталоге ресурса либо его некорректная настройка могут угрожать посещаемости сайта и его доступности в поиске. По стандартам, в файле robots.txt должна использоваться латиница. Для работы с доменами на кириллице следует использовать Punycode. Кодировка URL должна в полной мере соответствовать кодировке применяемой структуры сайта.
Другие директивы файла
- Host
Данная директива активно используется роботами всех ПС. Она позволяет указывать зеркало сайта (именно оно будет главным при индексировании). Это помогает избегать попадание в индекс страниц разных зеркал ресурса, появления дублей в выдаче поисковиков.
Примеры использования
Если для нескольких ресурсов главное зеркало – https://onetwosite.com, то:
User-Agent: Yandex
Disallow: /blog
Disallow: /custom
Host: https://onetwosite.com
При наличии в файле robots.txt нескольких значений директивы Host робот ПС использует только первую, а прочие игнорирует.
- Sitemap
Чтобы индексация проходила корректно и быстро, нужно использовать файл Sitemap либо группу подобных файлов. Эта директива является межсекционной – робот будет ее учитывать при размещении в любом месте robots.txt. Но обычно ее вставляют в самом конце. В процессе обработки директивы робот запоминает и перерабатывает информацию. Именно эти данные лежат в основе формирования следующих сессий загрузки страниц для индексации сайта.
Примеры использования:
User-agent: *
Allow: /catalog
sitemap: https://mmysite.com/mmy_sitemaps0.xml
sitemap: https://mmysite.com/mmy_sitemaps1.xml
- Clean-param
Это дополнительная директива для ботов ПС Яндекс. Современные ресурсы отличаются сложной структурой названий. Часто системами управления контентом в названиях страниц формируются динамические параметры. Через них могут передаваться дополнительные данные о referrer, сессиях пользователей и пр.
Стандартный синтаксис данной директивы выглядит так:
Clean-param: s0[&s1&s2&..&sn] [path]
В первом поле размещены параметры, которые не нужно учитывать. Они отделяются при помощи символа &. Во втором поле содержится префикс пути страниц, подпадающих под действие данного правила.
Допустим, движок форума при обращении пользователя к страницам генерирует длинные ссылки следующего вида:
http://4forum.com/index.php?id=132879525&topic=60
Содержание страниц в этом случае будет одинаковым, индивидуальный лишь параметр ID для каждого пользователя. Чтобы не индексировать множество страниц с различными ID, можно использовать следующий файл robots.txt:
User-agent: *
Disallow:
Clean-param: id /4forum.com/index.php
- Crawl-delay
Данная директива актуальна в случаях, когда роботы ПС слишком нагружают сервер ресурса. В ней задается минимальное время между концом загрузки страницы сайта и обращением робота к следующей. Период времени указывается в секундах. Робот ПС Яндекс также может считывать дробные значения чисел (0,5 сек., 0,3 сек. и т. п.).
Примеры использования:
User-agent: *
Disallow: /cgi
Crawl-delay: 4.2 # таймаут 4.2 секунды для роботов
Данную директиву не учитывают роботы ПС Google.
$ и другие спецсимволы
Важно не забывать, что в процессе внесения любых директив всегда нужно прописывать в конце специальный символ *. Действие указания распространяется на все разделы/страницы web-сайта, которые начинаются с определенной комбинации символов.
Для отмены действия по умолчанию используют специальный символ $. Пример использования:
User-agent: Googlebot
Disallow: /pictures$ # запрещает ‘/pictures’,
# но не запрещает ‘/pictures.html’
Стандартное использование файла robots.txt предполагает выставление пустого перевода строки после каждой группы директив User-agent. При этом спецсимвол # используется для размещения комментариев в файле. Роботы не станут учитывать содержание, размещенное за символом # до знака пустого перевода.
Как запретить индексацию ресурса либо его разделов
Запретить индексацию отдельных страниц/разделов либо всего сайта через директиву Disallow можно так:
User-agent: *
Disallow: /
# блокирует доступ ко всему сайту
User-agent: Yandex
Disallow: / bin
# блокирует доступ к страницам,
# которые начинаются с ‘/bin’
Как проверить robots.txt на правильность
Проверка корректности файла robots.txt является обязательной операцией сразу после внесения в него любых правок. Это важно, потому что даже мелкая случайная ошибка в размещении символа может привести к очень серьезным проблемам. Нужно обязательно проверить robots.txt в инструментах для web-мастеров Яндекса. Такую проверку следует производить и в ПС Google. Для этого требуется регистрация и ввод в панель вебмастера данных своего ресурса.