Dmitriy Kononov
Обсудим задачуСвязаться

Новости и разборы

Боты читают сайты: правила Cloudflare для краулеров и мой сбор новостей со 120 источников

Cloudflare оценивает поведение ботов, OpenAI индексирует сотни миллионов страниц, n8n фильтрует новости за центы. Что это значит для сборщика данных и для вашего сайта.

Cloudflare 16 октября описала систему, которая следит за поведением проверенных ботов: мало подтвердить, кто ты, нужно ещё прилично вести себя на чужих сайтах. У владельца бизнеса здесь две стороны. На ваш сайт ходят боты поисковиков и AI-сервисов, и вы решаете, кого пускать. А если вы сами собираете цены конкурентов, ваш сборщик тоже бот, и правила для него те же. Я делал такой сборщик для консалтинговой компании в Лондоне в 2023 году и смотрю с обеих сторон.

Что вышло

Cloudflare 16 октября ввела для проверенных ботов полосу доверия, trust band. Личность бот подтверждает подписью запросов, а дальше Cloudflare смотрит на два сигнала: соблюдает ли бот robots.txt по RFC 9309 и замедляется ли после ответа HTTP 429. Разовые нарушения не считаются, важен повторяющийся рисунок. Оценки обещают публиковать на Radar. Прецедент уже есть: в 2025 году бот Perplexity убрали из проверенных за то, что он ходил на сайты, запретившие сбор, и пытался обойти блокировку.

Днём раньше, 15 октября, Cloudflare рассказала о пилоте с OpenAI. С июля 2026 года сигналы сети Cloudflare помогают краулеру OpenAI находить страницы, о которых поиск не знал: участвовал около 1 % сети, и этого хватило на сотни миллионов новых страниц в индексе. Мне интереснее обратная часть. Сигналы отсекают несуществующие адреса, которые боты запрашивают снова и снова, редиректы на главную и копии одного содержимого, а сигналы изменения говорят краулеру, когда страницу стоит перечитать. Разрешения на доступ сигнал не даёт.

DataReportal 21 октября опубликовал разбор Digital 2027: использование веба через браузер падает, и дело, по словам авторов, не только в AI. Интернетом в начале октября 2026 года пользовались 6,15 млрд человек, веб из них открывали чуть больше 5 млрд, а у ста самых посещаемых доменов аудитория за год даже выросла на 4,5 %.

Pew Research Center 22 октября выпустил рассылку The Briefing о том, где американцы берут новости в цифровую эпоху. Цифр из неё я не беру, но тема та же: читатель получает новости в ленте и через ассистента, до сайта издания доходит реже.

И прикладной пример. n8n 13 октября опубликовал гостевой пост инженера You.com о сборке утренней сводки новостей. Поиск по темам, затем модель Jev от TypeSafe AI оценивает каждую статью примерно за четыре сотых цента: есть ли событие, про ту ли это тему и важна ли она команде. Только отобранное уходит в You.com Research, которая пишет справку с цитатами в Slack. Утро обходится от одного до четырёх центов, в тихий день не постится ничего. Без дедупликации, пишет автор, одна новость три дня подряд висит в сводке, и через три недели её перестают открывать.

Что это значит для бизнеса

Возьмём компанию по аренде автомобилей. Ей полезно знать цены конкурентов на те же даты. Самый быстрый способ: скрипт, который раз в час открывает десять сайтов и собирает цены. Если он не представляется, не читает robots.txt и не притормаживает после 429, то попадёт сначала в блок у Cloudflare, а потом и в низкую полосу доверия. Цены перестанут приходить тогда, когда нужны. Вывод: бот, который собирает данные для бизнеса, должен соблюдать правила сайтов, иначе его заблокируют и данные пропадут.

Вторая сторона. Производственная компания выложила каталог и инструкции на сайт. Закроете его от всех ботов подряд, и этих страниц не будет ни в поиске, ни в ответах ассистентов. Откроете всё, и часть мощности сервера уйдёт на запросы к несуществующим файлам. Решать нужно по ботам и по разделам сайта.

Мой опыт: Scraper Hub со 120 источниками

Ближе к лету 2023 года я начал делать для консалтинговой компании в Лондоне сервис сбора новостей, Scraper Hub. Многие нужные материалы лежали не в XML-лентах, а на обычных веб-страницах. Я настроил виртуальную машину в Google Cloud с Debian, написал всю логику сбора на Python, серверную часть на Node.js и интерфейс, наружу всё отдавалось через Nginx. Пользователь выбирал, что собрать, всё сразу или отдельные блоки, а ход сбора видел через WebSockets. Всего сервис собирал материалы со 120 источников, а по собранному заметки писали и модель, и люди.

Что я вынес из той работы. У кого-то из источников есть лента, у кого-то страница обновляется раз в неделю, а вёрстка переезжает без предупреждения. Поэтому сборщик обязан помнить, что уже видел, и не тянуть одну страницу повторно. Это то, что Cloudflare называет сигналами изменения, а n8n дедупликацией. В том же сотрудничестве я делал Quote Finder: Puppeteer и headless Chrome открывали статью, находили цитату, подсвечивали её и снимали скриншот. Для сайта такой браузер выглядит как обычный читатель и тянет за собой скрипты и картинки, поэтому запускать его нужно реже.

Что я бы сделал

Для сборщика, который вы заказываете: честный User-Agent с адресом, по которому владелец сайта может написать. Читать robots.txt. При 429 останавливаться на указанное время. Хранить дату изменения страницы и не качать то, что не менялось.

Для фильтрации собранного: как в примере n8n, сначала дешёвая проверка, есть ли здесь событие и про нас ли оно, потом дорогая модель для сводки. В Scraper Hub в 2023 году такой связки у нас не было, сегодня я бы начал с неё.

Для своего сайта: посмотреть в логах, какие боты ходят и куда, разрешить в robots.txt нужное и закрыть служебное, а на тяжёлые страницы вроде поиска и фильтров повесить лимит с ответом 429.

Как проверять то, что разобрала модель, я описал в статье AI в обработке данных. Подход к сбору: Python для документов и данных и AI с проверкой результата, сам проект в кейсах Scraper Hub и Quote Finder. Из других обзоров: что я сделал на сайте для ответов ChatGPT и Perplexity и почему я строю на бесплатных инструментах; раньше я писал, как измерять рекомендации бренда в AI. Если нужно собирать данные с сайтов или навести порядок с ботами на своём, расскажите, какие источники и что с ними делать: Обсудить задачу.