AdsTxtCrawler — не бренд одной компании, а собирательное название для целого семейства независимых реализаций одной и той же задачи: прочитать файл /ads.txt сайта по спецификации IAB Tech Lab и понять, кто в действительности уполномочен продавать его рекламный инвентарь в programmatic-закупках. У этой задачи есть открытый эталон — IAB Tech Lab прямо на официальной странице ads.txt публикует референсный краулер на Python с открытым исходным кодом, а поверх него сообщество написало ещё как минимум с десяток независимых реализаций на Clojure, JavaScript, Go и других языках, каждая со своим написанием строки User-Agent.
Зачем вообще существует ads.txt и что ищут все эти краулеры
ads.txt (Authorized Digital Sellers) — стандарт, который решает конкретную проблему рынка programmatic-рекламы: доменный спуфинг, когда мошенники выдают дешёвый или фейковый рекламный инвентарь за инвентарь известного премиального издателя. Публикуя на своём домене простой текстовый файл со списком компаний и идентификаторов продавцов, издатель прямо заявляет: «вот те, кому я разрешил продавать мою рекламу», а любой покупатель или платформа в цепочке закупки может свериться с этим списком перед сделкой. По спецификации IAB Tech Lab, файл должен быть доступен по стандартному относительному пути /ads.txt от корневого домена, публично, без авторизации, с заголовком Content-Type: text/plain — то есть по своей природе он спроектирован именно для того, чтобы его вычитывали автоматизированные краулеры со всего рынка, а не скрывали от них.
Рядом с ads.txt существует родственный формат sellers.json, который решает обратную задачу — уже не издатель декларирует продавцов, а сама рекламная платформа (SSP/exchange) публикует список своих реальных издателей-партнёров, что даёт двустороннюю проверку в цепочке поставки рекламы. Многие реализации краулеров, включая семейство AdsTxtCrawler, читают оба файла как часть одной и той же проверки цепочки поставок.
Параметры семейства
| Параметр | Значение |
| Эталонная реализация | Открытый Python-краулер IAB Tech Lab, репозиторий InteractiveAdvertisingBureau/adstxtcrawler на GitHub |
| Типичный UA | AdsTxtCrawler/1.0; +https://github.com/InteractiveAdvertisingBureau/adstxtcrawler |
| Другие варианты в семействе | Независимые реализации на Clojure, JavaScript, Go, Python от разных авторов и вендоров (например, OneTag) — каждая со своей строкой UA, но одной и той же целью |
| Что запрашивают | /ads.txt, часто также /app-ads.txt (для мобильных приложений) и /sellers.json |
| Цель | Проверка авторизованных продавцов рекламного инвентаря сайта — не индексация контента и не обучение AI-моделей |
| Список IP-адресов | ❌ Единого официального фида нет — слишком много независимых реализаций от разных операторов, у каждой своя инфраструктура |
| Соблюдение robots.txt | Референсная реализация и добросовестные вендоры обычно уважают правила; поведение множества сторонних реализаций не гарантировано |
Почему это не Googlebot и не AI-краулер — и почему это важно для решения о блокировке
Присутствие слова «Ads» в имени бота нередко создаёт путаницу сразу с двумя другими, совершенно не связанными категориями. Во-первых, это не AdsBot-Google — тот отдельный краулер Google проверяет качество landing-страниц в кампаниях Google Ads, а не читает файлы авторизации продавцов. Во-вторых, это не AI-краулер, собирающий текстовый контент сайта для обучающих датасетов, — задача у AdsTxtCrawler узкая и техническая: прочитать один конкретный публичный файл, который сам издатель разместил именно с целью, чтобы его прочитали.
Отсюда прямое следствие для политики допуска: для сайта, который зарабатывает на programmatic-рекламе, огульная блокировка «просто потому что это бот» контрпродуктивна — она мешает добросовестной проверке authorized sellers со стороны байеров и рекламных платформ, которая, по сути, работает в интересах самого издателя, защищая его инвентарь от подмены.
Подключите домен и посмотрите живую ленту: кто пришёл, с какой сети, что запрашивал и по какому правилу был пропущен или заблокирован.
Сколько трафика создаёт это семейство
По сводке TrafficVeil, суммарный паттерн запросов adstxtcrawler на подключённых доменах составил порядка 23 тысяч за март–июнь 2026 года (июнь — по 14 число). Характер обращений у большинства реализаций точечный — обращение к корню /ads.txt без глубокого обхода остального сайта, но у отдельных менее аккуратных вендорских реализаций встречается и более широкий обход, который стоит отслеживать отдельно от базового трафика чтения самого файла.
Как найти в логах
# Поиск по семейству токенов
grep -iE "AdsTxtCrawler|adstxtcrawler|IABTechLab" /var/log/nginx/access.log
# Отдельно — обращения именно к файлам авторизации
grep -E '"GET /(ads\.txt|sellers\.json)' /var/log/nginx/access.log | head
Поскольку единого IP-фида для всего семейства нет, а строку UA в принципе может подделать любой скрипт, для верификации стоит смотреть связку: путь запроса (обычно строго /ads.txt, без обхода остального сайта), частоту и принадлежность IP по ASN, а не полагаться на одно только имя в заголовке.
Как настроить robots.txt и сервер
Ключевое правило для сайтов с programmatic-монетизацией: не закрывать /ads.txt и /sellers.json от общего User-agent: * без веской причины — эти файлы по спецификации спроектированы как открытые. Если требуется всё же ограничить конкретный токен:
User-agent: AdsTxtCrawler
Disallow: /
Но при глобальной блокировке ботов через общие правила для сайта с рекламной монетизацией обязательно нужно явное исключение для файлов авторизации:
User-agent: *
Disallow: /admin/
Allow: /ads.txt
Allow: /sellers.json
Жёсткая серверная блокировка конкретного токена, если он ведёт себя агрессивно (широкий обход всего сайта вместо точечного запроса к файлу):
if ($http_user_agent ~* "AdsTxtCrawler") {
return 403;
}
Стратегия по сценариям
| Ситуация | Действие |
| Сайт зарабатывает на programmatic-рекламе | Allow для /ads.txt (и /sellers.json, если применимо) — не блокировать проверку authorized sellers |
| Отдельный вендор обходит весь сайт под UA семейства, а не только /ads.txt | Rate-limit или deny именно для этого токена, оставив доступ к самим файлам открытым в целом |
| Реклама на сайте не продаётся, ads.txt не публикуется | Можно блокировать без последствий — на позиции в органической выдаче Google, Bing или Яндекса это не влияет |
Частые вопросы
AdsTxtCrawler — это один конкретный бот одной компании?
Зачем вообще нужен файл ads.txt на сайте?
Чем AdsTxtCrawler отличается от AdsBot-Google?
Стоит ли блокировать этот бот, если сайт монетизируется через programmatic-рекламу?
Что делать, если конкретный вендор обходит весь сайт, а не только /ads.txt?
Есть ли единый список IP-адресов для верификации всего семейства?
Команда TrafficVeil разрабатывает инструменты защиты сайтов от ботов, DDoS и веб-атак. Разборы ботов пишем по логам подключённых доменов и открытым данным операторов.