Списки IP ботів: чий це краулер і як це довести

Що насправді роблять пошукові, AI-, превʼю- та SEO-боти з ваших логів, де кожен власник публікує адреси свого краулера, як перевірити його самостійно — і готовий перелік підтверджених діапазонів для завантаження.

Оновлено 2026-08-21

User-Agent — це заява, а не посвідчення

Кожен запит, що приходить на вебсервер, несе рядок тексту про те, хто його надіслав. У браузера там Chrome або Safari, у краулера — Googlebot чи GPTBot. Цей рядок пише той, хто робить запит, і ніхто в інтернеті його не перевіряє. Скопіювати його — одне натискання.

Microsoft формулює наслідок прямо у власній документації: бот, який використовує точнісінько такий самий User-Agent, як Bingbot, від цього Bingbot не стає. Тобто рядок корисний, щоб читати логи, і непридатний, щоб ухвалювати рішення. Усе, що дає доступ, знімає обмеження частоти або звільняє запит від правила, мусить спиратися на щось, чого відправник обрати не може, — а єдине, чого він обрати не може, це адреса, з якої насправді приходять пакети.

Саме про це вся ця сторінка: як перетворити назву на адресу, яку можна перевірити.

Пʼять різновидів ботів, і вони не взаємозамінні

У логах вони змішані в купу — тому «трафік ботів» одним числом не каже майже нічого. Різниця між ними в тому, що вони беруть і що повертають:

РізновидЩо робитьЩо дає вам
ПошуковийОбходить сайт, щоб його проіндексуватиЧитачів — згодом, із результатів пошуку
AI — навчанняЗбирає текст у навчальний корпусНічого вимірюваного. Ані візитів, ані згадки
AI — пошукБудує індекс, з якого асистент цитуєПосилання на вас і трафік, що йде за ними
Превʼю посиланняТягне одну сторінку, щоб намалювати картку в чатіПосилання, яке має вигляд, а не голий URL
SEO / аналітикаБудує комерційний індекс посиланьНічого, якщо ви не платний клієнт цього продукту

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

У логах є ще дещо, що ботом не є взагалі: сканери портів і пошуку вразливостей. Вони ніколи не читають robots.txt, вони нічого не обходять, і розмова про них — інша, ніж ця.

Шлях перший: зібрати перелік самому, з першоджерела

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

Спосіб перший: опублікований файл діапазонів

Більшість великих власників публікують адреси своїх краулерів — JSON за сталим URL. Форма усталилася спільна: creationTime і перелік записів ipv4Prefix та ipv6Prefix у записі CIDR. Ви тягнете файл, перевіряєте, чи потрапляє адреса з вашого лога в один із префіксів, — і маєте відповідь, яку підробити не можна.

Три правила відрізняють правильне застосування цього способу від неправильного:

І ще одне застереження, яке коштує людям годин: адреса, ЯКА Є у файлі, доводить, що бот справжній, а от адреса, якої там НЕМАЄ, не доводить майже нічого. Збирачі за запитом людини — ті, що працюють, бо хтось спитав асистента про конкретне посилання, — цілком законно приходять зі звичайних хмарних адрес поза діапазонами краулерів.

Спосіб другий: forward-confirmed зворотний DNS

Кілька великих пошуковиків — Yandex, Baidu, Naver, Seznam та інші — не публікують файла діапазонів узагалі, і їхня документація прямо про це каже: перевіряйте нас зворотним DNS. Перевірка має три кроки, і потрібні всі три:

  1. Спитати, яким іменем називається адреса: dig -x 66.249.66.1 +short
  2. Переконатися, що імʼя закінчується доменом власника на межі крапки.
  3. Розвʼязати це імʼя у зворотний бік — dig crawl-66-249-66-1.googlebot.com +short — і переконатися, що у відповіді є та сама адреса, з якої ви почали.

Саме третій крок і робить перевірку «forward-confirmed», а пропустивши його, ви знецінюєте всю конструкцію: хто керує зворотною зоною власних адрес, той може вказати в ній будь-яке імʼя. Лише повне коло доводить, що з ним згоден DNS самого власника.

У другому кроці ховається пастка, яку легко написати й важко побачити. Перевірка «чи закінчується імʼя на googlebot.com» приймає й evilgooglebot.com. Звіряти треба з .googlebot.com — із крапкою попереду — або з самим доменом цілком. Це помилка в один символ, яка перетворює перевірку на печатку.

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

Хто що публікує

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

Пошукові системи

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

БотЩо робитьЯк власник радить перевіряти
Googlebot
Google
Googlebot
Індексує сторінки для пошуку Google; той самий файл покриває Googlebot-Image, -News і -Video.Опублікований файл діапазонів:
https://developers.google.com/static/crawling/ipranges/common-crawlers.json
Зворотний DNS закінчується на googlebot.com
Документація:
https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot
AdsBot · Mediapartners-Google · Google-InspectionTool
Google
Mediapartners-Google
Спеціальні збирачі: перевірка якості реклами, добір реклами під зміст сторінки та інструмент перевірки URL.Опублікований файл діапазонів:
https://developers.google.com/static/crawling/ipranges/special-crawlers.json
Зворотний DNS закінчується на google.com
Документація:
https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers
Google user-triggered fetchers
Google
Google-Site-Verification
Тягне сторінку, бо цього попросила людина в продукті Google — підтвердження прав, читання стрічки, перевірка безпеки.Опублікований файл діапазонів:
https://developers.google.com/static/crawling/ipranges/user-triggered-fetchers.json
Документація:
https://developers.google.com/search/docs/crawling-indexing/google-user-triggered-fetchers
Bingbot
Microsoft
bingbot
Індексує сторінки для Bing, а через нього — для низки інших пошукових продуктів.Опублікований файл діапазонів:
https://www.bing.com/toolbox/bingbot.json
Зворотний DNS закінчується на search.msn.com
Документація:
https://www.bing.com/webmasters/help/how-to-verify-bingbot-3905dc26
DuckDuckBot
DuckDuckGo
DuckDuckBot
Обходить сайти для DuckDuckGo; опублікований файл містить окремі адреси, а не широкі діапазони.Опублікований файл діапазонів:
https://duckduckgo.com/duckduckbot.json
Зворотний DNS закінчується на duckduckgo.com
Документація:
https://duckduckgo.com/duckduckgo-help-pages/results/duckduckbot/
Applebot
Apple
Applebot
Живить Siri, Spotlight і підказки Safari; заблокувавши його, сайт зникає з усіх трьох.Опублікований файл діапазонів:
https://search.developer.apple.com/applebot.json
Зворотний DNS закінчується на applebot.apple.com
Документація:
https://support.apple.com/en-us/119829
YandexBot
Yandex
YandexBot
Індексує для пошуку Yandex. Файла діапазонів не існує: документація прямо просить перевіряти зворотним DNS.Зворотний DNS закінчується на yandex.ru
Документація:
https://yandex.com/support/webmaster/robot-workings/check-yandex-robots.html
Baiduspider
Baidu
Baiduspider
Основний краулер найбільшого китайського пошуковика; перевіряється лише зворотним DNS.Зворотний DNS закінчується на baidu.com
Документація:
https://help.baidu.com/question?prod_id=99&class=0&id=3001
Sogou Spider
Sogou
Sogou
Китайський пошуковий краулер із давньою славою того, хто обходить сайт активніше, ніж виправдано трафіком.Зворотний DNS закінчується на crawl.sogou.com
Документація:
https://www.sogou.com/docs/help/webmasters.htm
SeznamBot
Seznam.cz
SeznamBot
Краулер чеського пошуковика Seznam — помітний трафік, якщо у вас є чеські читачі.Зворотний DNS закінчується на seznam.cz
Документація:
https://napoveda.seznam.cz/en/full-text-search/seznambot-crawler/
Yeti (NaverBot)
Naver
Yeti
Основний пошуковик Південної Кореї; задокументована перевірка — зворотний DNS.Зворотний DNS закінчується на naver.com
Документація:
https://searchadvisor.naver.com/guide/seo-basic-robots
CocCocBot
Coc Coc
coccocbot
Вʼєтнамський пошуковик і браузер; має значення лише за наявності вʼєтнамських читачів.Зворотний DNS закінчується на coccoc.com
Документація:
https://coccoc.com/searchengine
Yahoo! Slurp
Yahoo
Slurp
Значно менший, ніж колись, але ще живий; єдина перевірка — зворотний DNS.Зворотний DNS закінчується на crawl.yahoo.net
Документація:
https://help.yahoo.com/kb/SLN22600.html
PetalBot
Huawei
PetalBot
Краулер пошуку Huawei Petal; це справжній пошуковик, але його регулярно згадують у скаргах на обсяг обходу.Зворотний DNS закінчується на petalsearch.com
Документація:
https://webmaster.petalsearch.com/site/petalbot
Mail.RU_Bot
VK
Mail.RU_Bot
Пошуковий і превʼю-краулер групи Mail.ru.Зворотний DNS закінчується на mail.ru
Документація:
https://help.mail.ru/webmaster/indexing/robots

AI-краулери

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

БотЩо робитьЯк власник радить перевіряти
Google user-triggered agents
Google
Google-CloudVertexBot
Найновіший із пʼяти файлів Google: агенти, що діють за конкретним запитом користувача.Опублікований файл діапазонів:
https://developers.google.com/static/crawling/ipranges/user-triggered-agents.json
Документація:
https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers
GPTBot
OpenAI
GPTBot
Збирає зміст для навчання моделей. Відвідувачів не приводить і посилань на вас не дає.Опублікований файл діапазонів:
https://openai.com/gptbot.json
Документація:
https://platform.openai.com/docs/bots
OAI-SearchBot
OpenAI
OAI-SearchBot
Будує індекс, з якого пошук ChatGPT бере посилання. Саме він вирішує, чи зможуть на вас послатися.Опублікований файл діапазонів:
https://openai.com/searchbot.json
Документація:
https://platform.openai.com/docs/bots
ChatGPT-User
OpenAI
ChatGPT-User
Тягне одну сторінку, бо жива людина спитала асистента саме про це посилання.Опублікований файл діапазонів:
https://openai.com/chatgpt-user.json
Документація:
https://platform.openai.com/docs/bots
OAI-AdsBot
OpenAI
OAI-AdsBot
Перевіряє сторінки в контексті рекламних продуктів.Опублікований файл діапазонів:
https://openai.com/adsbot.json
Документація:
https://platform.openai.com/docs/bots
ClaudeBot · Claude-User · Claude-SearchBot
Anthropic
ClaudeBot
Один опублікований файл покриває і навчальний краулер, і збирача за запитом людини, і пошуковий.Опублікований файл діапазонів:
https://claude.com/crawling/bots.json
Документація:
https://support.claude.com/en/articles/8896518
PerplexityBot
Perplexity
PerplexityBot
Індексувальний, а не навчальний краулер — Perplexity власних базових моделей не будує.Опублікований файл діапазонів:
https://www.perplexity.ai/perplexitybot.json
Документація:
https://docs.perplexity.ai/guides/bots
Perplexity-User
Perplexity
Perplexity-User
Тягне сторінку на місці, бо про неї спитала людина.Опублікований файл діапазонів:
https://www.perplexity.ai/perplexity-user.json
Документація:
https://docs.perplexity.ai/guides/bots
CCBot
Common Crawl
CCBot
Некомерційний архів, корпус якого є сировиною для значної частини публічного навчання моделей.Опублікований файл діапазонів:
https://index.commoncrawl.org/ccbot.json
Документація:
https://commoncrawl.org/ccbot
Amazonbot
Amazon
Amazonbot
Amazon публікує три окремі файли; цей — загальний краулер.Опублікований файл діапазонів:
https://developer.amazon.com/amazonbot/ip-addresses/
Документація:
https://developer.amazon.com/amazonbot
Amzn-SearchBot
Amazon
Amzn-SearchBot
Будує пошуковий індекс продуктів Amazon.Опублікований файл діапазонів:
https://developer.amazon.com/amazonbot/searchbot-ip-addresses/
Документація:
https://developer.amazon.com/amazonbot
Amzn-User
Amazon
Amzn-User
Живий запит, запущений людиною в асистенті Amazon.Опублікований файл діапазонів:
https://developer.amazon.com/amazonbot/live-ip-addresses/
Документація:
https://developer.amazon.com/amazonbot
Meta-ExternalAgent · Meta-ExternalFetcher
Meta
meta-externalagent
Meta файла діапазонів не публікує: задокументована перевірка — належність адреси до її мережі AS32934.Зворотний DNS закінчується на facebook.com
Документація:
https://developers.facebook.com/documentation/sharing/webmasters/web-crawlers
Google-Extended
Google
Google-Extended
Це не краулер і власних адрес не має: токен для robots.txt, який виводить сайт із навчання Gemini, не чіпаючи пошуку.Ані опублікованих діапазонів, ані зворотного DNS — є лише рядок User-Agent.
Документація:
https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers
Applebot-Extended
Apple
Applebot-Extended
Та сама ідея, що й Google-Extended: відмова від навчання Apple Intelligence зі збереженням Siri та Spotlight.Ані опублікованих діапазонів, ані зворотного DNS — є лише рядок User-Agent.
Документація:
https://support.apple.com/en-us/119829

Превʼю посилань

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

БотЩо робитьЯк власник радить перевіряти
TelegramBot
Telegram
TelegramBot
Малює картку посилання, коли хтось надсилає ваш URL у чат. Один запит, без обходу.Опублікований файл діапазонів:
https://core.telegram.org/resources/cidr.txt
Документація:
https://core.telegram.org/bots/faq
facebookexternalhit
Meta
facebookexternalhit
Превʼю посилань для Facebook, Instagram і Messenger. Заблокувавши його, надіслані посилання виглядають зламаними.Зворотний DNS закінчується на facebook.com
Документація:
https://developers.facebook.com/documentation/sharing/webmasters/web-crawlers
Twitterbot
X
Twitterbot
Малює картку для посилань, опублікованих в X.Зворотний DNS закінчується на twitter.com
Документація:
https://developer.x.com/en/docs/x-for-websites/cards/guides/troubleshooting-cards
LinkedInBot
LinkedIn
LinkedInBot
Превʼю посилань у дописах і повідомленнях LinkedIn.Зворотний DNS закінчується на linkedin.com
Документація:
https://www.linkedin.com/help/linkedin/answer/a522991
Pinterestbot
Pinterest
Pinterestbot
Тягне сторінки, що стоять за збереженими пінами.Зворотний DNS закінчується на pinterest.com
Документація:
https://help.pinterest.com/en/business/article/pinterest-crawler
Discordbot
Discord
Discordbot
Превʼю посилань у Discord. Ані опублікованих діапазонів, ані зворотного DNS — є лише User-Agent.Ані опублікованих діапазонів, ані зворотного DNS — є лише рядок User-Agent.
Документація:
https://discord.com/developers/docs/reference
Slackbot-LinkExpanding
Slack
Slackbot-LinkExpanding
Розгортає посилання, опубліковані в каналах Slack.Ані опублікованих діапазонів, ані зворотного DNS — є лише рядок User-Agent.
Документація:
https://api.slack.com/robots

SEO та аналітика

Комерційні індекси посилань. Перевірити їх можна так само, як усіх інших — питання не в тому, чи вони справжні, а в тому, чи варті вони вашого трафіку.

БотЩо робитьЯк власник радить перевіряти
AhrefsBot
Ahrefs
AhrefsBot
Будує комерційний індекс посилань. Відвідувачів не приносить; дані продаються будь-кому, зокрема конкурентам.Зворотний DNS закінчується на ahrefs.com
Документація:
https://help.ahrefs.com/en/articles/78658-what-is-the-list-of-your-ip-ranges
SemrushBot
Semrush
SemrushBot
Те саме призначення, що в AhrefsBot. Машинного переліку не публікує — власник натомість називає номер своєї мережі.Зворотний DNS закінчується на semrush.com
Документація:
https://www.semrush.com/bot/
DataForSeoBot
DataForSEO
DataForSeoBot
Збирає SEO-дані, які перепродаються через API.Ані опублікованих діапазонів, ані зворотного DNS — є лише рядок User-Agent.
Документація:
https://dataforseo.com/dataforseo-bot

Шлях другий: узяти вже зібраний перелік

Довідник вище — це чесний спосіб і повільний спосіб. Якщо діапазони потрібні сьогодні, ось вони: один знімок, що перезбирається щодоби, з усіма діапазонами, які перевірка справді підтвердила — з опублікованих файлів вище й з forward-confirmed зворотного DNS для тих власників, які файлів не публікують.

Діапазонів5 165
IPv44 095
IPv61 070
Краулерів20

Знімок зібрано 2026-08-25T02:15:02Z (UTC). Адреси краулерів змінюються; копія, старша за тиждень-два, уже неточна по краях.

Усі діапазони (.txt)З назвами ботів (.csv)Маніфест (.json)

БотДіапазонівФайл
Applebot
Apple
383
IPv4 383 · IPv6 0
crawlers-applebot.txt
Baiduspider
Baidu
248
IPv4 248 · IPv6 0
crawlers-baidu.txt
Bingbot
Microsoft
1 220
IPv4 1 220 · IPv6 0
crawlers-bingbot.txt
CCBot
Common Crawl
5
IPv4 4 · IPv6 1
crawlers-ccbot.txt
ChatGPT-User
OpenAI
204
IPv4 204 · IPv6 0
crawlers-chatgpt-user.txt
ClaudeBot · Claude-User · Claude-SearchBot
Anthropic
26
IPv4 26 · IPv6 0
crawlers-claudebot.txt
DuckDuckBot
DuckDuckGo
481
IPv4 481 · IPv6 0
crawlers-duckduckbot.txt
Google user-triggered agents
Google
20
IPv4 12 · IPv6 8
crawlers-google-agents.txt
AdsBot · Mediapartners-Google · Google-InspectionTool
Google
270
IPv4 135 · IPv6 135
crawlers-google-special.txt
Google user-triggered fetchers
Google
1 550
IPv4 775 · IPv6 775
crawlers-google-user.txt
Googlebot
Google
638
IPv4 492 · IPv6 146
crawlers-googlebot.txt
GPTBot
OpenAI
21
IPv4 21 · IPv6 0
crawlers-gptbot.txt
OAI-AdsBot
OpenAI
2
IPv4 2 · IPv6 0
crawlers-oai-adsbot.txt
OAI-SearchBot
OpenAI
35
IPv4 35 · IPv6 0
crawlers-oai-searchbot.txt
Perplexity-User
Perplexity
4
IPv4 4 · IPv6 0
crawlers-perplexity-user.txt
PerplexityBot
Perplexity
8
IPv4 8 · IPv6 0
crawlers-perplexitybot.txt
PetalBot
Huawei
2
IPv4 2 · IPv6 0
crawlers-petalbot.txt
Sogou Spider
Sogou
31
IPv4 31 · IPv6 0
crawlers-sogou.txt
TelegramBot
Telegram
14
IPv4 9 · IPv6 5
crawlers-telegram-preview.txt
YandexBot
Yandex
9
IPv4 9 · IPv6 0
crawlers-yandex.txt

Три формати, бо застосовують їх по-різному. Плаский .txt — це те, що згодовують фаєрволу чи ipset. .csv додає стовпчик, якого в плаского файлу бути не може, — ЧИЙ це діапазон; без нього неможливо повестися з пошуковим краулером інакше, ніж із навчальним. .json — маніфест: кількість діапазонів по кожному краулеру й час збірки, для скриптів, які хочуть перевірити свіжість, перш ніж чомусь вірити.

Що означає присутність у цьому переліку: що адреса справді належить тому краулерові. Чого вона не означає: що його треба пропускати. Це два різні питання, і фактичну відповідь має лише перше. Друге залежить від того, для чого ваш сайт, — і жоден чужий список цього не знає.

Чого в переліку немає навмисно

Деякі відомі боти не можуть потрапити в жоден список адрес, чесний щодо своїх джерел:

Внести їх усе одно, з діапазонами, вгаданими зі спостережень, було б найшкідливішим, що ця сторінка могла б зробити: білий список, побудований на здогаді, — це дірка, яка має вигляд сумлінності.

Боти, яких зазвичай обмежують, і чому

Слово «поганий бот» зліплює докупи чотири не повʼязані проблеми, а лікування в кожної своє.

БотЧому його зазвичай обмежуютьПричина
Bytespider
ByteDance
Збирає дані для навчання моделей ByteDance. За численними повідомленнями ігнорує robots.txt і обходить сайт значно активніше за пошуковики.ігнорує robots.txt
MJ12bot
Majestic
Індекс посилань для платного SEO-продукту. Розподілений по машинах добровольців, тому його адреси розкидані де завгодно.коштує більше, ніж дає
BLEXBot
WebMeUp
Ще один краулер посилань; трапляється в більшості опублікованих списків блокування.коштує більше, ніж дає
DotBot
Moz
Живить індекс посилань Moz. Корисний, якщо ви платите Moz; інакше ви індексуєте себе для конкурентів.коштує більше, ніж дає
Barkrowler
Babbar.tech
Краулер графа посилань; постійний пункт у власних списках блокування хостерів.коштує більше, ніж дає
SEOkicks
SEOkicks
База зворотних посилань, цікава переважно німецькомовному ринку.коштує більше, ніж дає
SerpstatBot
Serpstat
Комерційний SEO-краулер із тим самим компромісом, що й решта цієї групи.коштує більше, ніж дає
ZoominfoBot
ZoomInfo
Збирає дані про компанії й контакти для комерційної бази продажів.коштує більше, ніж дає
ia_archiverІсторично належав Alexa, тепер здебільшого підробляється: способу перевірки не існує, тож рядок у лозі не доводить нічого. Справжній агент Internet Archive зветься archive.org_bot.назва без власника
masscan · zgrab · nuclei · sqlmap · nikto · wpscanЦе взагалі не краулери: сканери портів і пошуку вразливостей. robots.txt вони не читають ніколи, тож єдина відповідь — правило на сервері.це взагалі не краулер
Googlebot (підроблений)Найпоширеніший у мережі бот, який не є тим, ким назвався. Скопіювати рядок User-Agent коштує нуль зусиль — саме тому й існує перевірка за адресою.це взагалі не краулер

Для першої групи — тих, хто поводиться пристойно, але коштує більше, ніж повертає, — правильний інструмент саме robots.txt, бо вони його читають:

robots.txt — попросити ввічливих піти
User-agent: MJ12bot
Disallow: /

User-agent: BLEXBot
Disallow: /

User-agent: DotBot
Disallow: /

User-agent: Barkrowler
Disallow: /

User-agent: SEOkicks
Disallow: /

User-agent: SerpstatBot
Disallow: /

User-agent: ZoominfoBot
Disallow: /

Для другої групи robots.txt — це записка, залишена тому, хто записок не читає. Тут працює лише правило на сервері чи на межі мережі. Правило нижче повторює й назви з першої групи — на випадок, коли ввічливе прохання не дало нічого:

Правило сервера — коли прохання не спрацювало
map $http_user_agent $bad_bot {
    default 0;
    "~*bytespider"  1;
    "~*mj12bot"  1;
    "~*blexbot"  1;
    "~*dotbot"  1;
    "~*barkrowler"  1;
    "~*seokicks"  1;
    "~*serpstatbot"  1;
    "~*zoominfobot"  1;
}

server {
    if ($bad_bot) { return 403; }
}

Проти останньої групи не допомагає жоден із цих двох фрагментів, і варто чітко сказати чому: правило, яке спрацьовує за User-Agent, зупиняє лише тих ботів, які кажуть про себе правду. Той, хто вдає Googlebot, назветься браузером тієї ж миті, коли перше правило його зачепить. Це не прогалина у фрагменті — це причина, заради якої існує вся перша половина цієї сторінки.

Три помилки, які коштують дорожче за самих ботів

Дозволити цілу мережу хостера замість опублікованого діапазону
Краулер і кожен, хто орендував поруч віртуалку, мають один номер мережі. Дозвіл відмиває самозванця до статусу гостя.
Вважати «немає в списку» доказом підробки
Це не доказ. Діапазони додають; збирачі за запитом людини за побудовою приходять зі звичайних хмарних адрес; ваша копія файла може бути просто старою. «Є в діапазоні» — це доказ справжності. «Немає» — лише привід придивитися.
Скопіювати список із чийогось допису й назвати це перевіркою
Списки з других рук заморожені на мить, коли їх хтось вставив, і застарівають, жодного разу про це не сказавши. Якщо адреса, з якою ви звіряєтесь, приїхала не з файла, що його публікує власник, ви не перевірили нічого — ви погодилися з незнайомцем.

Принцип, який варто тримати в голові, коротший за все решта: назва в лозі — це те, що відправник обрав, а адреса — те, чого він обрати не міг. Вирішуйте за другим.

Часті запитання

Чи можна просто блокувати за User-Agent?

Для ботів, які кажуть про себе правду, — так, саме для цього й існують robots.txt та правило за User-Agent. Для решти — ні. Рядок пише той, хто робить запит, і ніхто його не перевіряє, тож правило на ньому зупиняє ввічливих і не помічає інших. Гірше, що для білих списків воно працює навпаки: правило, яке дає доступ усьому, що назвалося Googlebot, дає доступ усім.

Як перевірити краулера за IP-адресою?

Двома способами, і який саме підходить — залежить від власника. Якщо він публікує файл діапазонів, треба завантажити його й перевірити, чи потрапляє адреса в один із перелічених префіксів CIDR. Якщо не публікує — звичайні приклади це Yandex, Baidu, Naver і Seznam — працює forward-confirmed зворотний DNS: дізнатися імʼя адреси, переконатися, що воно закінчується його доменом на межі крапки, а потім розвʼязати це імʼя у зворотний бік і побачити у відповіді ту саму адресу.

Чому перевірки за ASN недостатньо?

Бо більшість краулерів працює на орендованій хмарі. Автономна система, що тримає Bingbot, тримає й кожну віртуалку, яку будь-хто орендував у тій самій хмарі, а та, що тримає Amazonbot, — увесь EC2. Тому дозвіл на ASN дозволяє і краулера, і всіх його сусідів. Це найспокусливіше скорочення тут саме тому, що номер уже лежить у вашому лозі, — і воно перетворює самозванця на довіреного гостя.

Адреси немає в опублікованому списку. Це підробка?

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

Кого не можна блокувати ніколи?

Тих, чиєї відсутності ви не помітите, доки вона вам чогось не коштуватиме. Заблокувавши Applebot, ви одразу зникаєте з Siri, Spotlight і підказок Safari. Заблокувавши facebookexternalhit, робите так, що кожне посилання на ваш сайт виглядає зламаним у Facebook, Instagram і Messenger. Обидва регулярно трапляються у скопійованих списках блокування — і саме тому такі списки не варто копіювати не читаючи.

Чим навчальний краулер відрізняється від пошукового?

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

Чи зупиняє robots.txt тих, хто його ігнорує?

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

Як часто змінюються опубліковані діапазони краулерів?

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

Пов'язані перевірки