Главная / Журнал / Безопасность
26.10.2026Безопасность7 мин чтения

Боты Meta забирали 74% трафика сайта. Как закрыть их и не потерять выдачу

Индексатор Meta ходил за обычный Chrome и выкачивал с сайта больше двух третей всех данных: 74,5 ГБ из 103,5 ГБ за сутки. Ни один из этих запросов не был от человека. Рассказываем, как мы нашли бота в логах, закрыли его за десять минут — и почему после этого ни позиции в Google, ни превью в Facebook не пострадали.

Что за бот и почему он опасен

В логах nginx появился User-Agent, который на глаз не отличить от обычного браузера: тот же Chrome 145, те же заголовки. Отличие — в конце строки, в скобках:

Mozilla/5.0 ... Chrome/145.0.0.0 Safari/537.36
  (compatible; meta-webindexer/1.1
   (+https://developers.facebook.com/docs/sharing/webmasters/crawler))

Это официальный индексатор Meta: он собирает контент, чтобы показывать его в поиске и ИИ-продуктах компании. Посетителей он не приводит никогда — зато очень активно качает файлы. У одного из наших проектов, интернет-магазина gig.by, за сутки бот сделал 28 169 успешных запросов и унёс 74,5 ГБ, из них 74,3 ГБ — PDF из раздела документации. Всего на PDF пришлось 23 запроса: значит, один и тот же файл он перекачивал снова и снова.

Сайт за те же сутки отдал 103,5 ГБ на всех. Почти три байта из четырёх уходили боту: сервер работал на износ, а живые посетители делили с ним остатки канала.

Как мы его нашли

Ничего экзотического — обычный разбор access.log. Две команды и пять минут:

# сколько трафика съел конкретный бот
grep -i 'meta-webindexer' /var/log/nginx/access.log \
  | awk '{s += $10} END {printf "%.1f ГБ\n", s / 1073741824}'

# топ User-Agent: кто вообще ходит на сайт
sed -n 's/.*"\([^"]*\)"$/\1/p' /var/log/nginx/access.log \
  | sort | uniq -c | sort -rn | head -30

В топе — почти пустой Chrome с хвостом (compatible; meta-webindexer/1.1 ...). Документация Meta подтверждает: да, это их бот, и, согласно их же правилам, он обязан соблюдать robots.txt.

Чего блокировать нельзя

Самое опасное решение — закрыть «всё от Meta» разом. Кроме индексатора у Meta есть боты facebookexternalhit и Meta-ExternalFetcher: именно они собирают превью, когда вы кидаете ссылку на страницу в Facebook или WhatsApp. Заблокируете их — и все ссылки на ваш сайт будут приходить с пустой карточкой, без заголовка и картинки.

  • Закрываем: meta-webindexer — индексирует контент для поиска Meta, трафика и клиентов не приносит.
  • Оставляем: facebookexternalhit, Meta-ExternalFetcher — превью ссылок в Facebook и WhatsApp.
  • Не трогаем вообще: Googlebot, YandexBot — это и есть выдача.

Правило простое: блокируем конкретный User-Agent с доказательством из логов, а не бренд или домен целиком.

Что сделали: два слоя за десять минут

Первый слой — robots.txt, чтобы корректный бот перестал ходить:

User-Agent: meta-webindexer
Disallow: /

Второй слой — nginx: экономим трафик прямо сейчас, не дожидаясь, пока бот прочитает robots. Правило лежит в conf.d и возвращает 403 до того, как запрос дойдёт до PHP:

# /etc/nginx/conf.d/meta-webindexer.conf
map $http_user_agent $is_meta_indexer {
    default 0;
    "~*meta-webindexer" 1;
}

# в server-блоке сайта
if ($is_meta_indexer) { return 403; }

Заодно в robots остались закрытыми и другие внешние ИИ-агенты — FacebookBot, meta-externalagent, GPTBot, ClaudeBot: контент сайта — не материал для чужих моделей. Результат в тот же день: с 10:08 все запросы индексатора получают 403, и отдаёт их сам nginx — копеечный ответ вместо многогигабайтного файла. Уже за первые часы бот собрал 1103 отказа вместо PDF.

Посмотрим, кто грузит ваш сервер

Разберём логи за сутки и покажем, сколько трафика съедают роботы.

Бесплатный разбор →

Почему выдача не просела

Главный страх при любой блокировке: «а не уроним ли мы SEO». В этот раз — нет, и вот почему:

  1. Заблокирован только один бот. Googlebot и YandexBot ходят со своим User-Agent и получают 200, как и прежде — после правки мы это проверили отдельным запросом.
  2. Запрет чужому боту в robots.txt не влияет на позиции. Google индексирует сайт сам, а не через Meta; индексатору Meta выдачи не бывает.
  3. Для поисковика ничего не изменилось. Мы не ставили noindex, не меняли canonical, sitemap, URL и внутреннюю структуру — страница выглядит ровно той же.
  4. «Минус 74% трафика» — это минус роботы, не люди. Живые визиты не изменились: гигабайты уходили на файлы, которые всё равно никто не смотрел.
  5. Соцсети работают. Превью в Facebook и WhatsApp отдают отдельные боты, мы их не трогали — отправьте ссылку в мессенджер и убедитесь.
  6. Что смотрим в первые дни: показы и клики в Search Console и Яндекс.Вебмастере, краулинг Googlebot в логах, состояние sitemap в инструментах вебмастера.
Закрывая бота, мы не прячем страницу — мы перестаём кормить того, кто качает её зря. Для поисковика URL, содержимое и ссылки остаются прежними.

Чек-лист: проверьте свой сайт за десять минут

  1. Посмотрите топ User-Agent в access.log за сутки — первая строка обычно и есть неожиданный «гость».
  2. Посчитайте байты по каждому подозрительному UA: если один агент съедает больше половины трафика — это оно.
  3. Сверьтесь с официальной документацией: настоящие боты Meta, Google и Яндекса описаны открыто, с точным User-Agent.
  4. Закройте в двух местах: robots.txt (для корректных ботов) и nginx с 403 (для мгновенной экономии).
  5. Проверьте превью: отправьте ссылку в Facebook и WhatsApp — карточка должна собраться.
  6. На следующий день загляните в Search Console и вебмастер: показы и краулинг должны быть прежними.

Такой разбор занимает десять минут и почти всегда заканчивается одинаково: сайт кормит десяток роботов, о которых владелец впервые узнаёт из отчёта.

Связаться

Напишите.
Мы на смене.

Быстрая заявка

Коротко: «упал сайт», «нужен админ», «хотим аудит» — остальное спросит инженер.

Тема
Написать инженеру →