Diffbot — краулер и платформа структурированных веб-данных: собственный обход для построения Knowledge Graph и веб-поиска, плюс API Extract/Crawl, которым пользуются уже клиенты Diffbot для своих задач. Компания реальная и давно на рынке — Diffbot Inc. из Менло-Парк, Калифорния, работает с 2008 года, использует машинное обучение и компьютерное зрение, чтобы «читать» страницы примерно так, как это делает человек, а не по жёстким селекторам.
1. Что такое Diffbot
У Diffbot есть официальная страница именно про поведение относительно robots.txt — docs.diffbot.com/docs/does-crawl-respect-robotstxt. Там прямо сказано: Diffbot не обходит страницы для обучения генеративных foundation-моделей ИИ, а краулинг использует best practices (кеширование, сжатие, condition GET-запросы, предиктивное планирование), чтобы минимизировать нагрузку на серверы. При этом стоит знать о честном расхождении в источниках: некоторые независимые каталоги ботов описывают Diffbot как поставщика данных именно для AI-тренировочных пайплайнов — это прямо противоречит официальной формулировке компании. Возможно, речь о разных вещах: собственный Knowledge Graph-краулинг Diffbot (не для тренировки моделей, по их же словам) и то, что делают с полученными через API данными уже клиенты Diffbot, — но однозначно разрешить это противоречие по открытым источникам нельзя, и это стоит учитывать как открытый вопрос.
| Название | Diffbot |
| User-Agent / паттерн | UA crawl — Diffbot (полная строка вида Mozilla/5.0 (compatible; Diffbot/0.1; +http://www.diffbot.com/our-apis/crawler/), встречаются также версии 1.0, 2.0); UA user — Diffbot-User, для запросов от имени конкретного человека через ПО Diffbot |
| Оператор | Diffbot Inc. — Менло-Парк, Калифорния, с 2008 года |
| Роль | Собственный обход для построения Knowledge Graph и веб-поиска Diffbot; отдельно — Extract/Crawl API, через который клиенты компании задают собственные параметры обхода под свои задачи |
| Документация / ориентир | docs.diffbot.com/docs/does-crawl-respect-robotstxt — официальный FAQ именно про соблюдение robots.txt |
| Список IP | Отдельного официального списка IP не найдено; для верификации по независимым данным можно использовать обратный DNS на диапазоны, связанные с diffbot.com, и WHOIS-запись на Diffbot Inc. |
| robots.txt | По умолчанию соблюдается: правила проверяются в начале сессии обхода и, по независимым наблюдениям, кешируются на срок до 24 часов; при этом клиентский Crawlbot/Extract API может быть настроен клиентом Diffbot с собственными параметрами — то есть теоретически override возможен на уровне конкретного клиента, а не только собственного Knowledge Graph-краулинга компании |
| Пометка TrafficVeil | По вашей сводке — порядка 0,3 тыс. запросов |
2. Зачем Diffbot приходит на сайт
Есть два принципиально разных сценария, которые дают одинаковый UA Diffbot в логах. Первый — собственный краулинг компании для пополнения Knowledge Graph и веб-поиска: по заявлению самой компании, не для тренировки генеративных foundation-моделей. Второй — обход по заказу конкретного клиента Diffbot через Extract или Crawlbot API: в этом случае именно клиент определяет параметры обхода (включая, потенциально, отношение к robots.txt), используя хостируемое ПО Diffbot как инструмент. То есть один и тот же UA в разных случаях может означать «нас индексирует сама компания для общего графа» или «нас скрейпит чей-то конкретный клиентский проект».
- Какие зоны чаще трогает: зависит от сценария — собственный обход Diffbot ориентирован на статьи, товары, профили и подобные распознаваемые типы контента; клиентский Extract/Crawl может быть нацелен на что угодно, что задал конкретный клиент;
- Что ищет: структурированные данные — тип контента страницы (статья, товар, обсуждение, профиль), которые Diffbot распознаёт визуально и семантически, а не по жёстким селекторам;
- Чем отличается от браузерного пользователя: нет нормальной сессии; по независимым наблюдениям, сессии крупных индексирующих обходов могут идти сериями быстрых последовательных запросов к одному домену за короткое время.
Типичный кейс: по вашей сводке TrafficVeil — порядка 0,3 тыс. запросов, что соответствует умеренному, не пиковому обходу. Если видите резкий рост именно в моменты запуска клиентских Extract/Crawl-джобов, это, вероятнее всего, сторонний проект, использующий инфраструктуру Diffbot, а не собственный Knowledge Graph-обход компании.
3. Нагрузка и риски именно для Diffbot
По вашей сводке TrafficVeil — порядка 0,3 тыс. запросов, умеренный объём. Собственный краулинг компании спроектирован с расчётом на минимизацию нагрузки (кеширование, condition GET, предиктивное планирование по заявлению самой компании), но это не распространяется автоматически на клиентские Extract/Crawl-джобы — они управляются параметрами, которые задаёт конкретный клиент, и могут быть настроены агрессивнее, если этот клиент так решил.
4. Как найти Diffbot в логах
Ищите оба токена семейства — Diffbot (собственный/общий краулинг) и Diffbot-User (запросы от имени конкретного человека через ПО Diffbot).
# Базовый поиск по обоим токенам
grep -iE "Diffbot|Diffbot-User" /var/log/nginx/access.log
# Топ URL, которые вычитывает бот
grep -i "Diffbot" /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head
# Топ IP за этим UA
grep -i "Diffbot" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head
# Суточная активность — проверить, не совпадает ли пик с клиентским Extract/Crawl-джобом
grep -i "Diffbot" /var/log/nginx/access.log | awk '{print $4}' | cut -d: -f1 | sort | uniq -c
# Проверить признаки крупной индексирующей сессии — серии быстрых запросов подряд
grep -i "Diffbot" /var/log/nginx/access.log | awk '{print $4}'
Верификация. Подделать User-Agent может любой скрипт. Официального списка IP компания не публикует, поэтому для верификации по независимым данным ориентируйтесь на обратный DNS (связь с диапазонами diffbot.com) и WHOIS-запись на Diffbot Inc., а не только на строку UA.
IP="1.2.3.4"
whois -h whois.cymru.com " -v $IP"
dig +short -x "$IP"
5. robots.txt для Diffbot
# Жёсткий запрет обоих токенов семейства
User-agent: Diffbot
Disallow: /
User-agent: Diffbot-User
Disallow: /
# Разрешить
User-agent: Diffbot
Allow: /
User-agent: Diffbot-User
Allow: /
Важно: по умолчанию собственный краулинг Diffbot соблюдает robots.txt, включая директиву crawl-delay, и функция соблюдения включена по умолчанию в Crawlbot. Но помните: клиентский Extract/Crawl API может быть настроен конкретным клиентом Diffbot с собственными параметрами обхода — то есть теоретический override возможен не со стороны самой компании, а со стороны того, кто использует её инфраструктуру для своего проекта.
6. Блокировка вручную и через TrafficVeil
Nginx
if ($http_user_agent ~* "Diffbot") {
return 403;
}
TrafficVeil
- Найдите Diffbot / Diffbot-User в ботах домена или в /system/bots;
- Не хотите попасть в Knowledge Graph компании или в чужие Extract-джобы клиентов — категория «запретить»;
- Есть партнёрство или деловой интерес в присутствии в графе Diffbot — Allow;
- После изменения сверьте логи, помня, что блокировка по UA не гарантированно остановит клиентский Extract API, если конкретный клиент настроил override.
7. Рекомендации: что делать с Diffbot
- Не хотите в Knowledge Graph Diffbot или в чужие Extract-джобы — Disallow + deny;
- Партнёрство с Diffbot или заинтересованность в присутствии в графе — Allow;
- Помните: клиентский Crawlbot/Extract API может игнорировать robots.txt при override конкретным клиентом — правило на вашей стороне не гарантия против всех сценариев использования платформы;
- Учитывайте открытое противоречие в источниках о судьбе данных (AI-тренировка или нет) при принятии решения, если для контент-политики это принципиально;
- Не режьте слишком широко User-agent: *, чтобы случайно не закрыть Googlebot/YandexBot.
8. С кем не путать Diffbot
| Бот / сосед | Кластер | UA | Комментарий |
| Diffbot-User | AI-краулеры для обучения моделей | diffbot-user | тот же оператор, но запросы от имени конкретного человека через ПО, а не общий краулинг |
| ImagesiftBot | AI-краулеры для обучения моделей | imagesiftbot | другой оператор (Hive), обход для обратного поиска изображений |
| Bytespider | AI-краулеры для обучения моделей | bytespider | другой оператор (ByteDance), широко считается тренировочным краулером, но собственной документации не публикует |
| PerplexityBot | AI-краулеры для обучения моделей | perplexitybot | другой оператор, документирован как индексирующий, а не тренировочный краулер |
9. Стратегия allow/deny для Diffbot
| Ситуация | Действие |
| Не хотите участвовать в Knowledge Graph или чужих Extract-джобах | Disallow + deny для Diffbot и Diffbot-User |
| Есть партнёрство или интерес в присутствии в графе Diffbot | Allow, дополнительных мер не требуется |
| Подозрение, что конкретный клиент через Extract API игнорирует robots.txt | Переходить к блокировке на уровне сервера, не полагаться только на файл |
| Важна судьба данных (AI-тренировка или нет) | Учитывать открытое противоречие между официальной позицией компании и независимыми источниками |
| Подозрение на spoofing UA | Официальных IP нет — сверяйте по rDNS/WHOIS на Diffbot Inc. |