Робот Троповода — TropovodBot
TropovodBot скачивает страницы сайта, когда пользователь Троповода ищет на нём места для внутренних ссылок на одну из страниц. Сайт робот только читает: ничего не отправляет и не меняет.
Как узнать робота · Как он ходит · robots.txt · Сайт за защитой от ботов
Как узнать робота
Робот представляется так:
Mozilla/5.0 (compatible; TropovodBot/1.0; +https://tropovod.ru/bot)
В robots.txt и в правилах защиты достаточно слова TropovodBot.
Запросы приходят с адреса 135.106.199.52. Адрес может смениться при переезде сервера, поэтому правило по User-Agent надёжнее, а правило по IP нужно там, где User-Agent не помогает, — например, в режиме Bot Fight Mode у Cloudflare.
Как он ходит
- Только когда пользователь Троповода запустил прогон по странице вашего сайта. Фонового обхода и расписания нет.
- За прогон — robots.txt, целевая страница, карта сайта и до 300 страниц сайта: на небольшом сайте — все страницы из карты сайта, на большом — те, что поиск Яндекса находит по теме, и часть карты сайта.
- Не больше 2 запросов к сайту одновременно.
- Первый ответ 429 или 503 останавливает загрузку: до конца прогона робот больше ничего с сайта не запрашивает. Так же — после трёх ответов 403 подряд или трёх запросов подряд без ответа.
- Заголовок
Retry-Afterробот запоминает: раньше названного срока, но не дольше суток, новый прогон по сайту не начнётся. - По одному сайту — не больше 5 прогонов в сутки на всех пользователей вместе.
- Страницу больше 2 МБ робот не дочитывает, на запрос отводит не больше 60 секунд.
- JavaScript не выполняет, форм не отправляет, защиту от ботов не обходит.
robots.txt
TropovodBot соблюдает robots.txt так же, как роботы Яндекса и Google: читает группу User-agent: TropovodBot, а если её нет — правила для всех роботов, User-agent: *. Закрытые страницы робот не скачивает. robots.txt он запрашивает первым, до любой страницы сайта; если файл отвечает ошибкой сервера (5xx) или не отвечает вовсе, робот считает закрытым весь сайт — так велит стандарт RFC 9309.
Закрыть сайт от Троповода:
User-agent: TropovodBot
Disallow: /
Открыть сайт Троповоду, если robots.txt пускает только поисковых роботов:
User-agent: TropovodBot
Allow: /
Своя группа заменяет для робота правила User-agent: * целиком: перенесите в неё запреты, которые нужно сохранить, например Disallow: /admin/.
Crawl-delay робот не читает — как Яндекс и Google: он и так ходит не больше чем по 2 запроса и останавливается на первом 429 или 503.
Сайт за защитой от ботов
Защиту от ботов Троповод не обходит: если она закрывает сайт, прогон останавливается, а пользователь получает ссылку на эту страницу. Чтобы пустить робота, добавьте правило, которое пропускает запросы с TropovodBot в User-Agent, а где это невозможно — правило по IP.
Cloudflare
- По User-Agent: Security → WAF → Custom rules → Create rule. Поле
User Agent, операторcontains, значениеTropovodBot, действиеSkip. Отметьте All remaining custom rules, All rate limiting rules, All managed rules, All Super Bot Fight Mode rules, а среди продуктов — Browser Integrity Check и Security Level. - Bot Fight Mode на бесплатном тарифе исключений не допускает: правило по User-Agent его не обходит. Добавьте IP робота в IP Access Rules с действием Allow (Security → WAF → Tools): Bot Fight Mode не срабатывает, если первым совпало такое правило. Или выключите Bot Fight Mode.
DDoS-Guard
- По User-Agent: личный кабинет → «Веб-защита» → «Домены» → ваш домен → «Правила защиты» → «Создать правило». Условие:
User-Agent,contains,TropovodBot; действие «Пропускать». - По IP: «Домены» → ваш домен → «Черный/белый список» → «Добавить правило»: адрес робота и действие «Пропускать».
Qrator
- По User-Agent: Domains → ваш домен → Filter configuration → HTTP Headers: правило белого списка для
User-Agentс проверкой Contains и значениемTropovodBot. Qrator пропустит адреса, с которых приходят такие запросы; правило начинает работать через несколько минут. - По IP: Network → IP lists → Whitelist → Whitelist IP addresses.
Другая защита
Пропустите запросы, у которых в User-Agent есть TropovodBot. Ограничение частоты в nginx по умолчанию отвечает 503: робот на нём останавливается и доделывает прогон на том, что успел скачать.
Проверить правило по User-Agent можно запросом с тем же заголовком:
curl -I -A "Mozilla/5.0 (compatible; TropovodBot/1.0; +https://tropovod.ru/bot)" https://site.ru/page/
User-Agent легко подделать: правило по нему пропустит любого, кто так представится. Если это важно, добавьте в правило условие по IP — и обновите его, если адрес робота сменится.
Вопросы о роботе — на info@tropovod.ru.