robots.txt
robots.txt — файл в корне сайта, в котором владелец указывает роботам, какие разделы можно обходить.
Обновлено · Редакция Prokso
Файл лежит по адресу /robots.txt, например example.com/robots.txt. В нём правила для роботов: какие разделы закрыты, с какой паузой ходить, где карта сайта.
robots.txt — это просьба, а не замок. Но добросовестные краулеры и поисковые системы его соблюдают, и владельцы сайтов на это рассчитывают.
Перед сбором данных стоит прочитать и robots.txt, и правила сайта. Соблюдение указанного темпа бережёт сайт от перегрузки, а вас — от лимитов запросов.
Как организовать сбор открытых данных через прокси, рассказываем на странице прокси для парсинга.
Директивы и как они работают
| Директива | Что делает |
|---|---|
User-agent | называет робота, для которого действует группа правил; * — все |
Disallow | закрывает путь с таким началом; пустое значение не закрывает ничего |
Allow | открывает путь внутри закрытого раздела |
Sitemap | полный адрес карты сайта |
Crawl-delay | пауза между запросами; не входит в стандарт, часть роботов ее игнорирует |
С 2022 года формат описывает RFC 9309. В путях действуют два спецсимвола: * означает любую последовательность символов, а $ — конец адреса. Когда Allow и Disallow противоречат друг другу, побеждает правило с более длинным путем, поэтому Allow: /shop/public/ работает внутри Disallow: /shop/.
Какая группа правил действует для вашего робота
Робот ищет группу со своим названием в User-agent, сравнивая названия без учета регистра. Если такая группа есть, действует только она, а правила для * игнорируются. Если нет, робот выполняет группу *.
Пример: файл с User-agent: * и Disallow: /search, а дальше User-agent: MyCrawler и Disallow: / закрывает для MyCrawler весь сайт, а остальным разрешает все, кроме поиска. Именно поэтому краулеру стоит иметь собственное название и проверять, нет ли для него отдельной группы.
Чего robots.txt не охватывает
Файл действует для одного хоста и протокола: у shop.example.com свой robots.txt, отдельный от example.com. Если файл возвращает 404, роботы обычно считают разрешенным все. Если он возвращает ошибки 5xx, RFC советует временно считать сайт полностью закрытым, а сохраненную копию файла не использовать дольше 24 часов.
robots.txt также не заменяет условия пользования сайтом: раздел может быть открыт для роботов, но закрыт правилами. Использование прокси Prokso регулируют правила пользования.
Вопросы и ответы
Обязательно ли выполнять robots.txt?
Технически файл ничего не блокирует, но это явное пожелание владельца сайта. Добросовестные роботы его соблюдают.
Что означает Crawl-delay?
Паузу в секундах между запросами, которую владелец просит выдерживать. Не все поисковые системы её учитывают, но для собственного сбора это удобный ориентир.
Резидентские $1.59, мобильные $2.50, серверные $0.65 за 1 ГБ
Регистрация за минуту, доступы сразу после оплаты.