🤖
Хостинг

ИИ-краулеры нагружают сервер: как их выявить и ограничить

04.11.2026
← Все статьи

Сайт внезапно начал тормозить, страницы отдают 503 или 504, а в статистике хостинга упёрлись в лимит CPU. Первая мысль — наплыв посетителей или атака. Но всё чаще причиной оказываются не люди, а краулеры ИИ-компаний и SEO-сервисов: они скачивают тысячи страниц, а платит за это ваш сервер.

Реальный случай: нагрузка выросла в четыре раза

Недавно на одном из наших shared-серверов нагрузка за несколько минут выросла примерно вчетверо. Сайт на WordPress с разделом загрузок обходил распределённый бот msh-pdfmin/1: около 400 страниц файлов в минуту с множества IP. Интернет-магазин параллельно сканировали краулеры Meta — meta-externalagent и meta-webindexer, примерно 400 запросов в минуту по категориям и фильтрам. К ним добавились MJ12bot и SemrushBot.

После блокировки этих user agent через .htaccess с ответом 403 нагрузка за считанные минуты упала с ~250 до ~40. Обычные посетители ничего не заметили, заказы шли как обычно. Бот-трафик почти не виден, но может занимать сервер сильнее живых пользователей.

Как распознать нагрузку от ботов

Признаки типичны: сайт открывается медленно, периодически появляются 503/504, CPU у лимита, а в аналитике посетителей не прибавилось — боты не выполняют JavaScript и не видны счётчикам. Реальную картину даёт access-лог, где у каждого запроса есть IP, адрес страницы и user agent.

Команды ниже выводят самых активных по user agent и по IP, последняя считает запросы конкретного бота. Если IP разбросаны, а user agent один и тот же, перед вами распределённый краулер:

awk -F'"' '{print $6}' access.log | sort | uniq -c | sort -rn | head -20
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -20
grep -c "meta-externalagent" access.log

Если доступа к логам нет или сложно разобраться в результатах, обратитесь в техподдержку sayt.uz: специалисты определят, какие боты нагружают сервер, и подскажут, что стоит ограничить.

Поисковые боты и боты для обучения

Блокировать всех подряд — ошибка. Googlebot и Bingbot индексируют сайт и приводят посетителей. Боты для обучения моделей собирают контент и почти ничего не дают взамен, а SEO-краулеры работают на анализ конкурентов и оставляют вам только нагрузку.

БотВладелецНазначение
GPTBot / OAI-SearchBot, ChatGPT-UserOpenAIобучение / ИИ-поиск
ClaudeBot / Claude-SearchBot, Claude-UserAnthropicобучение / ИИ-поиск
PerplexityBotPerplexityИИ-поиск
meta-externalagent, Bytespider, CCBotMeta, ByteDance, Common Crawlобучение
AhrefsBot, SemrushBot, MJ12bot, DotBot, PetalBotSEO-сервисыанализ

Google-Extended — не отдельный краулер, а токен robots.txt: он управляет использованием контента в моделях Gemini и не влияет на поисковый индекс. Так же устроен Applebot-Extended: страницы смотрит обычный Applebot, а токен разрешает или запрещает обучение на них.

robots.txt: для вежливых ботов

Боты крупных компаний обычно соблюдают robots.txt, поэтому начинать стоит с него. В примере боты обучения и тяжёлые SEO-краулеры закрыты полностью, а поисковики продолжают индексировать сайт, но не ходят по тяжёлым страницам:

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: Bytespider
User-agent: meta-externalagent
User-agent: Google-Extended
User-agent: MJ12bot
User-agent: DotBot
Disallow: /

User-agent: *
Disallow: /*?filter=
Disallow: /*?s=
Disallow: /*add-to-cart=
Crawl-delay: 5

Crawl-delay учитывают Bing и часть SEO-ботов, а Google его игнорирует: Googlebot сам подстраивает скорость под ответы сервера и снижает её, если видит 503.

.htaccess и nginx: для тех, кто правила игнорирует

robots.txt — лишь рекомендация, а боты вроде msh-pdfmin/1 его не читают. Таких нужно отсекать на сервере. На Apache добавьте в .htaccess:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (msh-pdfmin|MJ12bot|SemrushBot|DotBot|Bytespider) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} (meta-externalagent|meta-webindexer) [NC]
RewriteRule .* - [F,L]

[NC] отключает учёт регистра, [F] возвращает 403. Отказ обходится намного дешевле генерации страницы: PHP не запускается, к базе нет запросов, и нагрузка падает почти сразу. На своём VPS с nginx то же правило пишется в блоке server:

if ($http_user_agent ~* (msh-pdfmin|MJ12bot|Bytespider|meta-externalagent)) {
    return 403;
}

Ограничение скорости и Cloudflare

Некоторых ботов достаточно притормозить. Модуль nginx limit_req ограничивает запросы с одного IP, например двумя в секунду, и на лишние отвечает 429. Это работает и против ботов, маскирующихся под браузер, ведь человек так быстро страницы не открывает. В Cloudflare есть блокировка ИИ-ботов одной кнопкой, Bot Fight Mode и правила firewall, которые останавливают запросы ещё до вашего сервера.

Закройте тяжёлые страницы

Часто проблема не в числе ботов, а в том, что они открывают. Фильтры магазина порождают тысячи уникальных URL с тяжёлыми запросами к базе, а внутренний поиск и ссылки «в корзину» не кешируются. Закройте их через Disallow, добавьте noindex и rel="nofollow" на ссылки фильтров — тогда поисковики будут индексировать только полезные страницы.

Решайте по каждому боту отдельно

У блокировки есть цена. Закрыв OAI-SearchBot, PerplexityBot или Claude-SearchBot, вы рискуете реже появляться в ответах ChatGPT и Perplexity, а через них сегодня ищут многие. Разумный подход — ограничить ботов обучения и тяжёлых SEO-краулеров, оставив поисковых. После изменений пару дней следите за нагрузкой и трафиком.

Похожие статьи

🛡️ Хранение персональных данных в Узбекистане и местный хостинг 🪟 Windows vs Linux хостинг: какой подходит для вашего сайта? 🗄️ Оптимизация и тюнинг MySQL: ускорение базы данных 🛠️ Полное руководство по ISPmanager: альтернатива cPanel
🌐 Язык
🇺🇿 O'zbek 🇺🇿 Ўзбек 🇷🇺 Русский ✓ 🇬🇧 English