Краулери асистентів: кого пускати на сайт і як це перевірити

Як відрізнити справжні краулери асистентів від підробок, налаштувати robots.txt під AI-ботів і зупинити скрейперів за логами сервера.

Редакція ADS BeastОпубліковано Оновлено 9 хв читання

Краулери асистентів - це боти, які завантажують сторінки сайту, щоб мовні моделі могли посилатися на ваш контент у відповідях. Пропуск визначає, чи згадають вас у ChatGPT, Claude, Perplexity та AI-оглядах Google. Перевірка будується на трьох речах: зворотний DNS, директиви robots.txt і аналіз серверних логів.

Коротко

  • Справжність бота підтверджує тільки зворотний DNS-запит, а не рядок User-Agent.
  • robots.txt не забороняє доступ фізично, він лише просить слухняних ботів не заходити.
  • Якщо AI-бота немає у файлі, він за замовчуванням вважає доступ дозволеним.
  • Один IP із тисячами запитів на годину без пауз - це майже завжди скрейпер.
  • Обмеження швидкості та firewall працюють там, де robots.txt уже не допомагає.

Що таке краулери асистентів і чим вони відрізняються від пошукових

Краулери асистентів завантажують сторінку не для того, щоб показати її в результатах пошуку, а щоб модель могла процитувати або переказати ваш текст у відповіді. Пошуковий бот будує індекс і веде користувача на сайт. AI-бот будує відповідь і часто залишає користувача на своїй платформі.

Звідси різниця в поведінці. Googlebot обходить сайт глибоко, повертається за оновленнями, тримає стабільний темп. Боти асистентів частіше заходять точково: забирають сторінку, яку хтось згадав у запиті, і не завжди повертаються. Частина з них узагалі не виконує JavaScript, тому бачать тільки те, що віддав сервер.

Для власника сайту це означає дві речі. Перша: контент, який ви хочете бачити у відповідях, має бути в HTML, а не збиратися скриптами на клієнті. Друга: рішення «пускати чи ні» стосується не одного бота, а групи з різними іменами і різними власниками.

Які боти асистентів варто знати за іменами

Кожен великий асистент має власний User-Agent, і саме за цим рядком ви прописуєте правила. Нижче - ті, що зустрічаються найчастіше.

БотЧийЩо робитьТипова поведінка
GPTBotOpenAIЗбирає контент для моделейПомірний темп, поважає robots.txt
ClaudeBotAnthropicЗавантажує сторінки для відповідейРідші, але глибокі заходи
PerplexityBotPerplexityІндексує для пошукових відповідейЧасті запити під конкретні питання
Google-ExtendedGoogleКерує використанням контенту в AI-функціяхНе окремий краулер, а директива
BingbotMicrosoftПошук і підказки асистентівПоводиться як класичний пошуковий бот

Google-Extended стоїть окремо: це не бот, який ходить по сайту, а токен у robots.txt. Він вирішує, чи можна використовувати ваш контент для навчання та відповідей Gemini і AI-оглядів. Заборонити його - не те саме, що заблокувати Googlebot: звичайний пошук при цьому працює далі.

Список імен не вічний. Нові боти з'являються, старі змінюють назви, і покладатися на пам'ять не варто. Тримайте під рукою офіційну документацію кожного вендора і звіряйтеся з нею, коли в логах з'являється незнайомець.

Як перевірити справжність краулера за три кроки

Справжність бота підтверджує зворотний DNS-запит. User-Agent підробляється одним рядком у скрипті, тому як доказ він не вартий нічого.

  1. Візьміть IP-адресу з логу запиту.
  2. Зробіть зворотний DNS-запит до цієї адреси і подивіться на домен. Для Googlebot це має бути googlebot.com або google.com.
  3. Зробіть прямий DNS-запит до отриманого домену і перевірте, що він резолвиться назад у ту саму IP.

Якщо хоч один крок не сходиться, перед вами підробка. Для Google додатково є офіційний файл googlebot.json з актуальними діапазонами адрес; він оновлюється кілька разів на рік, тому стару копію тримати безглуздо. Схожий підхід працює і для інших вендорів, які публікують свої діапазони.

Практична порада: не робіть цю перевірку вручну для кожного запиту. Напишіть скрипт, який раз на добу звіряє список IP у логах з офіційними діапазонами і показує розбіжності. Ручна перевірка втомлює вже на третьому десятку рядків, і саме тоді починаються помилки.

Перевірка справжності краулера. Взяти IP із логу: Адреса з поля remote address у серверному логі; Зворотний DNS: Домен має бути googlebot.com або google.com; Прямий DNS: Домен резолвиться назад у ту саму IP; Звірка з googlebot.json: Офіційний файл оновлюється кілька разів на рік
Три кроки, які підтверджують бота незалежно від User-Agent

Як налаштувати robots.txt під AI-ботів

robots.txt лежить у корені домену за адресою example.com/robots.txt і керує доступом через директиви User-agent та Disallow. Файл нічого не захищає фізично: він лише просить слухняних ботів не заходити в указані розділи. Приватні дані через нього ховати не можна, для цього потрібна авторизація.

Головна пастка в тому, що старі правила robots.txt не згадують ботів асистентів. Якщо у файлі немає рядка з конкретним User-agent, бот за замовчуванням вважає доступ дозволеним. Мовчазна згода - це і є ваша політика, навіть якщо ви її не обирали.

Три типові сценарії виглядають так.

  • Дозволити все: окремі блоки для AI-ботів не потрібні, вони й так ходять.
  • Заборонити окремим: для кожного бота пишете свій блок User-agent і Disallow на потрібні розділи.
  • Заборонити всім невідомим: додаєте User-agent: * з Disallow, а потім явно дозволяєте тих, кого хочете бачити.

Останній варіант звучить логічно, але має ціну: разом із невідомими ботами ви відрізаєте і тих, хто з'явиться завтра. Для сайту, який хоче бути присутнім у відповідях асистентів, це рідко вигідний обмін.

Корисно також описати сайт для моделей окремим файлом. Як це зробити, розібрано в матеріалі про llms.txt: що це, навіщо сайту і як його створити. Він не замінює robots.txt, але дає асистенту зрозумілу карту контенту.

Скільки запитів на хвилину робить типовий краулер

Googlebot за замовчуванням тримає близько 1-2 запити на секунду на один хост. На великих сайтах цей темп піднімається до 50-100 запитів на секунду, і це нормально, якщо сервер витримує. Bingbot поводиться схоже.

Агресивні SEO-краулери на кшталт Ahrefs або Semrush дають 5-20 запитів на секунду з одного IP. Вони не збирають контент для відповідей, а будують власні бази посилань і метрик. Якщо навантаження виходить за ці межі, варто перевірити, чи це не скрейпер.

Орієнтуйтеся не на середні цифри, а на власний сервер. Сайт на слабкому хостингу просяде від темпу, який потужний сервер навіть не помітить. Тому ліміти мають сенс тільки разом із реальними метриками: час відповіді, завантаження CPU, кількість одночасних з'єднань.

Як знайти проблемного бота в логах

Проблемного бота видно за концентрацією: один IP або підмережа робить понад тисячу запитів на годину без пауз. Людина так не ходить по сайту, і навіть швидкий пошуковий бот розподіляє навантаження рівніше.

Дивіться на три ознаки разом.

  • Обсяг: тисячі запитів на годину з однієї адреси.
  • Ритм: рівні інтервали між запитами, без пауз на читання.
  • Напрямок: послідовний обхід каталогів, параметрів фільтрів, сторінок пагінації.

Окремо перевіряйте, що саме бот забирає. Якщо під удар потрапляють сторінки з дорогою генерацією, фільтрами чи пошуком по базі, навантаження зростає не пропорційно кількості запитів. Один скрейпер на сторінці пошуку може покласти сайт швидше, ніж тисяча запитів до статичних сторінок.

Що робити, якщо невідомий бот завантажує тисячі сторінок

Спочатку перевірте логи і підтвердьте, що це справді аномалія, а не сплеск від відомого бота. Далі варіанти йдуть від м'яких до жорстких.

  1. Обмежте швидкість на рівні сервера (rate limiting). Це найпростіший крок і часто достатній.
  2. Заблокуйте діапазон адрес у firewall, якщо запити йдуть із підмережі.
  3. Віддавайте 403 на підозрілий User-Agent. Працює проти лінивих скрейперів, які не змінюють рядок.
  4. Додайте Cloudflare Bot Management: він відсіює більшість автоматизованого трафіку ще до вашого сервера.
  5. Пропишіть заборону в robots.txt, якщо бот слухняний. Це дешево і не завадить.

Порядок важливий. Блокування за User-Agent без перевірки IP іноді відрізає справжнього бота, а підробка продовжує ходити. Починайте з логів, а не зі списку заборон.

Пускати бота чи обмежувати. Контентний сайт: Доступ дає цитати в асистентах і впізнаваність; Сервіс із платним доступом: Закрити платні розділи, лишити описи й довідку; SEO-краулер: Обмежити швидкість, повна заборона рідко потрібна; Скрейпер без підтвердження: Rate limiting, firewall, 403 або Bot Ma
Рішення залежить від типу сайту і типу бота

Кого пускати: рішення для сайту

Пускати чи ні - це рішення про видимість, а не про безпеку. Бот асистента, якому ви дозволили доступ, може процитувати ваш контент у відповіді. Бот, якому ви відмовили, не згадає вас узагалі.

Логіка вибору залежить від того, що ви продаєте.

  • Контентний сайт або блог зазвичай виграє від доступу: цитата в асистенті приводить трафік і впізнаваність.
  • Сервіс із платним доступом закриває платні розділи і лишає відкритими описи та довідку.
  • Сайт із тонким контентом і агресивним SEO-краулером виграє від обмеження швидкості, а не від повної заборони.

Окремо варто перевірити, що взагалі кажуть асистенти про вашу компанію. Якщо у відповідях з'являється застаріла інформація або чужі дані, доступ до сайту тут ні до чого: проблему треба шукати в джерелах, з яких модель бере факти. Покрокова перевірка описана в статті Що про компанію говорять відповіді ШІ: перевірка за 5 кроків.

Як виміряти ефект від рішень

Ефект від політики доступу вимірюється не однією цифрою. Дивіться на три шари окремо: обсяг трафіку від ботів у логах, частку AI-переходів у аналітиці та згадки бренду у відповідях асистентів.

Порівнювати періоди «до» і «після» треба обережно. Той самий відрізок часу дає різні цифри залежно від того, як налаштоване вікно атрибуції, і це плутає висновки. Механіку розібрано в матеріалі Вікно атрибуції: чому той самий період дає різні цифри.

Якщо ви ведете платний трафік і хочете бачити, що саме приносить конверсії, а не тільки кліки, варто налаштувати серверну передачу даних. Про це - в інструкції Серверна передача конверсій: як увімкнути без подвійного обліку.

Для агенцій, які ведуть кілька клієнтських сайтів одночасно, ці рішення зручніше тримати в одному контурі. Набір інструментів для цього зібрано на сторінці рекламні операції для агенцій.

Наступний крок

Візьміть логи за останні сім днів і складіть список усіх ботів із кількістю запитів. Для трьох найактивніших зробіть зворотний DNS-запит і позначте, хто підтвердився, а хто ні. Далі відкрийте robots.txt і перевірте, чи є в ньому блоки для тих ботів асистентів, яких ви хочете бачити або не хочете. Це займає одну годину і дає повну картину.

FAQ

Як відрізнити справжнього краулера Googlebot від підробки?

Перевіряйте IP-адресу через зворотний DNS-запит: справжній Googlebot приходить із домену googlebot.com або google.com, і цей домен має резолвитися назад у ту саму IP. Звичайна перевірка User-Agent нічого не дає, бо його підробити може будь-хто за секунду. Для Google є офіційний діапазон адрес у файлі googlebot.json, який оновлюється кілька разів на рік.

Скільки запитів за хвилину робить типовий пошуковий краулер?

Googlebot за замовчуванням тримає близько 1-2 запити на секунду на один хост, але на великих сайтах може підніматися до 50-100 за секунду. Bingbot поводиться схоже, а от агресивні SEO-краулери на кшталт Ahrefs або Semrush можуть давати 5-20 запитів на секунду з одного IP. Якщо навантаження перевищує ці межі, варто перевірити, чи це не скрейпер.

Який файл керує доступом краулерів до сайту і де він лежить?

Це robots.txt, він розміщується в корені домену за адресою example.com/robots.txt. У ньому директивами User-agent і Disallow вказують, які боти і які розділи не мають обходити. Файл не захищає сторінки від доступу, лише просить слухняних ботів їх не чіпати, тому приватні дані через нього ховати не можна.

Чому краулер асистента може зайти на сайт, навіть якщо його немає в robots.txt?

Боти AI-асистентів, як-от GPTBot, ClaudeBot, PerplexityBot або Google-Extended, з'явилися нещодавно, і старі правила robots.txt їх просто не згадують. Якщо в файлі немає рядка з конкретним User-agent, бот за замовчуванням вважає, що доступ дозволено. Щоб заборонити, потрібно явно прописати його ім'я в окремому блоці.

Що робити, якщо невідомий бот щодня завантажує тисячі сторінок?

Спершу перевірте логи: якщо один IP чи підмережа робить понад 1000 запитів на годину без пауз, це майже завжди скрейпер. Далі варіанти прості: обмежити швидкість на рівні сервера (rate limiting), заблокувати діапазон у firewall або віддавати 403 на підозрілий User-Agent. Іноді достатньо додати Cloudflare Bot Management, який відсіює більшість автоматизованого трафіку ще до вашого сервера.

Чи можна заборонити AI-бота, не втративши позиції в звичайному пошуку?

Так, якщо це різні директиви. Google-Extended керує використанням контенту в AI-функціях Google і не впливає на звичайний Googlebot, тому пошукові позиції від такої заборони не змінюються. А от блокування самого Googlebot або Bingbot прибирає сайт із пошуку. Перед забороною переконайтеся, що ви пишете правило саме для AI-директиви, а не для пошукового бота.

Подивитися, як це влаштовано в ADS Beast: краулери асистентів.