Robots.txt – специальный файл, который используется для регулирования процесса индексации сайта поисковыми системами. Место его размещения – корневой каталог. Различные разделы этого файла содержат директивы, которые открывают или закрывают доступ индексирующим ботам к разделам и страницам сайта. При этом поисковые роботы различных систем используют отдельные алгоритмы обработки этого файла, которые могут отличаться друг от друга. Никакие настройки robots.txt не влияют на обработку ссылок на страницы сайта с других сайтов.
Функции robots.txt
Основная функция этого файла – размещение указаний для индексирующих роботов. Главные директивы robots.txt – Allow (разрешает индексацию определенного файла или раздела) и Disallow (соответственно, запрещает индексацию), а также User-agent (определяет, к каким именно роботам относятся разрешительные и запрещающие директивы).
Нужно помнить, что инструкции robots.txt носят рекомендательный характер. Значит, они могут быть в различных случаях проигнорированы роботами.
Рассмотрим примеры.
Файл следующего содержания запрещает индексацию сайта для всех роботов:
User-agent: *
Disallow: /
Чтобы запретить индексацию для основного робота поисковой системы Yandex только директории /private/, применяется robots.txt такого содержания:
User-agent: Yandex
Disallow: /private/
Как создать и где разместить robots.txt
Файл должен иметь расширение txt. После создания его нужно закачать в корневой каталог сайта с использованием любого FTP-клиента и проверить доступность файла по адресу site.com/robots.txt. При обращении по этому адресу он должен отображаться браузером в полном объеме.
Требования к файлу robots.txt
Веб-мастер всегда должен помнить, что отсутствие в корневом каталоге сайта файла robots.txt или его неправильная настройка потенциально угрожают посещаемости сайта и доступности в поиске.
По стандартам, в файле robots.txt запрещено использование кириллических символов. Поэтому для работы с кириллическими доменами нужно применять Punycode. При этом кодировка адресов страниц должна соответствовать кодировке применяемой структуры сайта.
Другие директивы файла
Host
Эта директива используется роботами всех поисковых систем. Она дает возможность указать зеркало сайта, которое будет главным к индексированию. Это позволит избежать попадания в индекс страниц разных зеркал одного сайта, появления дублей в выдаче ПС.
Примеры использования
Если для группы сайтов главное зеркало именно https://onesite.com, то:
User-Agent: Yandex
Disallow: /blog
Disallow: /custom
Host: https://onesite.com
Если в файле robots.txt есть несколько значений директивы Host, то индексирующий робот использует только первую из них, остальные будут проигнорированы.
Sitemap
Для быстрой и правильной индексации сайтов используется специальный файл Sitemap или группа таких файлов. Сама директива является межсекционной – она будет учитываться роботом при размещении в любом месте robots.txt. Но обычно ее принято размещать в конце.
При обработке этой директивы робот запомнит и переработает данные. Именно эта информация ложится в основу формирования следующих сессий загрузки страниц сайта для его индексации.
Примеры использования:
User-agent: *
Allow: /catalog
sitemap: https://mysite.com/my_sitemaps0.xml
sitemap: https://mysite.com/my_sitemaps1.xml
Clean-param
Это дополнительная директива для ботов поисковой системы Yandex. Современные сайты имеют сложную структуру названий. Часто системы управления контентом формируют в названиях страниц динамические параметры. Через них может передаваться дополнительная информация о реферерах, сессиях пользователей и так далее.
Стандартный синтаксис этой директивы описывается следующим образом:
Clean-param: s0[&s1&s2&..&sn] [path]
В первом поле мы видим параметры, которые нужно не учитывать. Они разделяются символом &. А второе поле содержит префикс пути страниц, которые подпадают под действие этого правила.
Допустим, на некотором форуме движок сайта при обращении пользователя к страницам генерирует длинные ссылки типа http://forum.com/index.php?id=128955&topic=55, причем содержание страниц одинаковое, а параметр id для каждого посетителя свой. Чтобы все множество страниц с различными id не попали в индекс, используется такой файл robots.txt:
User-agent: *
Disallow:
Clean-param: id /forum.com/index.php
Crawl-delay
Эта директива предназначается для тех случаев, когда индексирующие роботы создают на сервер сайта слишком высокую нагрузку. В ней указывается минимальное время между концом загрузки страницы сайта и обращением робота к следующей. Период времени задается в секундах. Робот поисковой системы «Яндекс» успешно считывает и дробные значения, например 0.3 секунды.
Примеры использования:
User-agent: *
Disallow: /cgi
Crawl-delay: 4.1 # таймаут 4.1 секунды для роботов
На настоящее время эта директива не учитывается роботами поисковой системы Google.
$ и другие спецсимволы
Нужно помнить, что при внесении любых директив по умолчанию в конце приписывается спецсимвол *. В результате получается, что действие указания распространяется на все разделы или страницы сайта, начинающиеся с определенной комбинации символов.
Чтобы отметить действие по умолчанию, применяется специальный символ $.
Пример использования:
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 в инструментах для веб-мастеров «Яндекса». Аналогичную проверку необходимо произвести и в поисковой системе Google. Для успешной проверки нужно зарегистрироваться для работы в панели вебмастера и внести в нее данные своего сайта.