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. Перевірка має три кроки, і потрібні всі три:
- Спитати, яким іменем називається адреса:
dig -x 66.249.66.1 +short - Переконатися, що імʼя закінчується доменом власника на межі крапки.
- Розвʼязати це імʼя у зворотний бік —
dig crawl-66-249-66-1.googlebot.com +short— і переконатися, що у відповіді є та сама адреса, з якої ви почали.
Саме третій крок і робить перевірку «forward-confirmed», а пропустивши його, ви знецінюєте всю конструкцію: хто керує зворотною зоною власних адрес, той може вказати в ній будь-яке імʼя. Лише повне коло доводить, що з ним згоден DNS самого власника.
У другому кроці ховається пастка, яку легко написати й важко побачити. Перевірка «чи закінчується імʼя на googlebot.com» приймає й evilgooglebot.com. Звіряти треба з .googlebot.com — із крапкою попереду — або з самим доменом цілком. Це помилка в один символ, яка перетворює перевірку на печатку.
Відсутній зворотний запис не є доказом ані в один бік, ані в інший. Він означає «не підтверджено», а не «підтверджено підробку»: чимало цілком законної інфраструктури зворотного DNS не має взагалі.
Хто що публікує
Адреси нижче — це сторінки самих власників. Вони навмисно надруковані текстом: скопіюйте потрібну й відкрийте самі, щоб довіряти врешті файлові вендора, а не чиємусь переписуванню — зокрема й нашому.
Пошукові системи
Вони приводять читачів. Заблокувавши одного, ви зникаєте з тієї пошукової системи — і про це вам ніхто не скаже.
| Бот | Що робить | Як власник радить перевіряти |
|---|---|---|
GooglebotGooglebot | Індексує сторінки для пошуку 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-InspectionToolMediapartners-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 fetchersGoogle-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 agentsGoogle-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-ExtendedGoogle-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 |
LinkedInBotLinkedInBot | Превʼю посилань у дописах і повідомленнях LinkedIn. | Зворотний DNS закінчується на linkedin.comДокументація: https://www.linkedin.com/help/linkedin/answer/a522991 |
PinterestbotPinterestbot | Тягне сторінки, що стоять за збереженими пінами. | Зворотний 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 для тих власників, які файлів не публікують.
Знімок зібрано 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 | 20 IPv4 12 · IPv6 8 | crawlers-google-agents.txt |
| AdsBot · Mediapartners-Google · Google-InspectionTool | 270 IPv4 135 · IPv6 135 | crawlers-google-special.txt |
| Google user-triggered fetchers | 1 550 IPv4 775 · IPv6 775 | crawlers-google-user.txt |
| Googlebot | 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 — маніфест: кількість діапазонів по кожному краулеру й час збірки, для скриптів, які хочуть перевірити свіжість, перш ніж чомусь вірити.
Що означає присутність у цьому переліку: що адреса справді належить тому краулерові. Чого вона не означає: що його треба пропускати. Це два різні питання, і фактичну відповідь має лише перше. Друге залежить від того, для чого ваш сайт, — і жоден чужий список цього не знає.
Чого в переліку немає навмисно
Деякі відомі боти не можуть потрапити в жоден список адрес, чесний щодо своїх джерел:
- Краулери Meta (
facebookexternalhit,Meta-ExternalAgent) файла діапазонів не публікують. Задокументована перевірка — належність адреси до власної мережі Meta, AS32934, яку можна запитати в маршрутному реєстрі. Це перевірка іншого роду, з іншими способами відмовити. - Discord, WhatsApp і ще кілька збирачів превʼю не публікують ані діапазонів, ані зворотного DNS. Звіряти просто нема з чим. WhatsApp до того ж зазвичай малює превʼю НА ПРИСТРОЇ відправника, тож запит приходить з адреси звичайної людини й на бота не схожий узагалі.
- Bytespider, Cohere і більшість новіших AI-краулерів працюють зі звичайних хмарних адрес, не публікуючи нічого. Рядок у лозі з їхньою назвою — це заява, і заявою вона й лишається.
Внести їх усе одно, з діапазонами, вгаданими зі спостережень, було б найшкідливішим, що ця сторінка могла б зробити: білий список, побудований на здогаді, — це дірка, яка має вигляд сумлінності.
Боти, яких зазвичай обмежують, і чому
Слово «поганий бот» зліплює докупи чотири не повʼязані проблеми, а лікування в кожної своє.
| Бот | Чому його зазвичай обмежують | Причина |
|---|---|---|
BytespiderByteDance | Збирає дані для навчання моделей ByteDance. За численними повідомленнями ігнорує robots.txt і обходить сайт значно активніше за пошуковики. | ігнорує robots.txt |
MJ12botMajestic | Індекс посилань для платного SEO-продукту. Розподілений по машинах добровольців, тому його адреси розкидані де завгодно. | коштує більше, ніж дає |
BLEXBotWebMeUp | Ще один краулер посилань; трапляється в більшості опублікованих списків блокування. | коштує більше, ніж дає |
DotBotMoz | Живить індекс посилань Moz. Корисний, якщо ви платите Moz; інакше ви індексуєте себе для конкурентів. | коштує більше, ніж дає |
BarkrowlerBabbar.tech | Краулер графа посилань; постійний пункт у власних списках блокування хостерів. | коштує більше, ніж дає |
SEOkicksSEOkicks | База зворотних посилань, цікава переважно німецькомовному ринку. | коштує більше, ніж дає |
SerpstatBotSerpstat | Комерційний SEO-краулер із тим самим компромісом, що й решта цієї групи. | коштує більше, ніж дає |
ZoominfoBotZoomInfo | Збирає дані про компанії й контакти для комерційної бази продажів. | коштує більше, ніж дає |
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, назветься браузером тієї ж миті, коли перше правило його зачепить. Це не прогалина у фрагменті — це причина, заради якої існує вся перша половина цієї сторінки.
Три помилки, які коштують дорожче за самих ботів
- Дозволити цілу мережу хостера замість опублікованого діапазону
- Краулер і кожен, хто орендував поруч віртуалку, мають один номер мережі. Дозвіл відмиває самозванця до статусу гостя.
- Вважати «немає в списку» доказом підробки
- Це не доказ. Діапазони додають; збирачі за запитом людини за побудовою приходять зі звичайних хмарних адрес; ваша копія файла може бути просто старою. «Є в діапазоні» — це доказ справжності. «Немає» — лише привід придивитися.
- Скопіювати список із чийогось допису й назвати це перевіркою
- Списки з других рук заморожені на мить, коли їх хтось вставив, і застарівають, жодного разу про це не сказавши. Якщо адреса, з якою ви звіряєтесь, приїхала не з файла, що його публікує власник, ви не перевірили нічого — ви погодилися з незнайомцем.
Принцип, який варто тримати в голові, коротший за все решта: назва в лозі — це те, що відправник обрав, а адреса — те, чого він обрати не міг. Вирішуйте за другим.