Настройка robots.txt и rate limiting для AI-краулеров

Дата публикации: 04.06.2026

Настройка robots.txt и rate limiting для AI-краулеров

Хочу себе такие же кнопки

Введение

Вы уже знаете, как поисковые роботы читают ваш сайт, но AI‑краулеры (модели, которые сканируют веб‑страницы для обучения) работают по чуть‑чуть другим правилам. Правильная настройка файла robots.txt и ограничение частоты запросов (rate limiting) позволяют:

  • Защитить сервер от перегрузки, когда несколько сотен запросов приходят одновременно.
  • Сохранить «чистоту» данных, которые используют для обучения, исключив конфиденциальные или низкокачественные страницы.
  • Улучшить индексацию, потому что краулер получает именно те ресурсы, которые вы хотите ему показать.

В этом уроке мы разберём, как создать и поддерживать robots.txt для AI‑краулеров, а также как реализовать rate limiting на уровне веб‑сервера и CDN. Всё подано простыми словами, с аналогиями и готовыми примерами, которые вы сможете сразу применить.


1. Что такое robots.txt и почему он важен для AI

Понятие Описание Аналогия
robots.txt Текстовый файл в корне сайта, который сообщает роботам, какие части сайта они могут, а какие — нет. Как вывеска «Вход только для сотрудников» у входной двери.
AI‑краулер Автоматический сканер, который собирает данные для обучения нейросетей (например, GPT‑4, Claude). Как исследователь, который собирает образцы для своей лаборатории.
User‑agent Идентификатор робота, который отправляет запрос (например, Googlebot, Bingbot, OpenAI‑Crawler). Как имя посетителя в журнале входов.

Ключевой термин: User‑agent — в robots.txt вы указываете, какие правила применимы к какому агенту. AI‑краулеры часто используют свои собственные User‑agent‑ы, например OpenAI‑Crawler или Meta‑AI‑Bot. Если вы не задаёте правила, такие боты могут сканировать всё без ограничений, что приводит к:

  • Перегрузке сервера (много запросов в секунду).
  • Утечке конфиденциальных данных (страницы, которые не предназначены для публичного доступа).

2. Синтаксис robots.txt для AI‑краулеров

Файл состоит из блоков, каждый из которых начинается с директивы User-agent: и заканчивается Disallow:/Allow:. Пример базовой структуры:

User-agent: *
Disallow: /private/
Allow: /public/

2.1. Как добавить отдельный AI‑краулер

User-agent: OpenAI-Crawler
Disallow: /admin/
Disallow: /test-data/
Allow: /
  • User-agent: OpenAI-Crawler — правило применяется только к этому боту.
  • Disallow: — путь, который бот не будет сканировать.
  • Allow: — путь, который бот может сканировать, даже если выше стоит более общий Disallow:.

2.2. Приоритет правил

  1. Более конкретный User-agent переходит над глобальным *.
  2. Если один и тот же путь указан в обоих Disallow и Allow, Allow берёт приоритет (по спецификации Google).

2.3. Специальные директивы для AI

Директива Описание Пример
Crawl-delay Задержка в секундах между запросами от одного бота. Crawl-delay: 5
Noindex (через X-Robots-Tag) Инструктирует бота не индексировать страницу, но всё равно её скачать. В HTTP‑заголовке: X-Robots-Tag: noindex
Sitemap Указывает путь к файлу карты сайта, облегчая навигацию. Sitemap: https://example.com/sitemap.xml

Важно: Не все AI‑краулеры поддерживают Crawl-delay. Поэтому в следующем разделе мы покажем, как задать ограничение частоты запросов на уровне сервера.


3. Ограничение частоты запросов (Rate Limiting)

3.1. Почему robots.txt не всегда спасает

  • Crawl-delay иногда игнорируется (особенно у экспериментальных ботов).
  • Боты могут использовать многопоточные запросы, обходя задержку.

Поэтому необходимо серверное решение, которое будет контролировать количество запросов от одного IP‑адреса или от одного User-agent.

3.2. Основные стратегии

Стратегия Как работает Пример использования
Token Bucket На каждый IP‑адрес «бакет» с токенами; каждый запрос «покупает» токен, если их нет — запрос отклоняется. Позволяет выдерживать пиковые нагрузки, но ограничивает средний поток.
Leaky Bucket Поток запросов «вытекает» из бакета с фиксированной скоростью; избыточные запросы «переполняют» и отклоняются. Простой для реализации в Nginx/Apache.
Fixed Window Счётчик запросов за фиксированный интервал (например, 1 минуту). Хорошо подходит для небольших сайтов.
Sliding Window Похож на Fixed Window, но учитывает запросы за скользящее окно, более точный контроль. Требует более сложных хранилищ (Redis).

3.3. Реализация в популярных веб‑серверах

3.3.1. Nginx (модуль ngx_http_limit_req_module)

http {
    # Параметры лимитера
    limit_req_zone $binary_remote_addr zone=ai_zone:10m rate=5r/s;

    server {
        location / {
            # Применяем к AI‑User‑agent
            if ($http_user_agent ~* "OpenAI-Crawler|Meta-AI-Bot") {
                limit_req zone=ai_zone burst=10 nodelay;
            }
            # Обычная обработка запросов
            proxy_pass http://backend;
        }
    }
}
  • rate=5r/s5 запросов в секунду с одного IP.
  • burst=10 — допускает до 10 «взрывных» запросов, после чего начинает отклонять.

3.3.2. Apache (модуль mod_ratelimit)

<IfModule mod_ratelimit.c>
    # Ограничиваем только для AI‑User‑agent
    SetEnvIfNo User-Agent "OpenAI-Crawler|Meta-AI-Bot" ai_crawler
    <Location "/">
        RateLimitSet 200 K
        RateLimitEnable on
        Order allow,deny
        Allow from all
        # Применяем только к переменной
        SetEnvIf Request_URI ".*" ai_crawler
    </Location>
</IfModule>
  • RateLimitSet 200 K ограничивает скорость передачи до 200 KB/s, что косвенно снижает количество запросов в секунду.

3.3.3. CDN (Cloudflare, Fastly)

Большинство CDN‑служб предоставляют Rate Limiting Rules в UI. Пример правила для Cloudflare:

Условие Действие
User-Agent содержит OpenAI-Crawler Block после 100 запросов в минуту с одного IP.
Path начинается с /api/ Throttle до 10 rps.

Совет: Сочетайте robots.txt (для указания что сканировать) с серверным лимитером (для указания как быстро).


4. Лучшие практики и типичные ошибки

4.1. Что следует включать в robots.txt для AI

Что Почему Как оформить
Disallow: /admin/ Защита конфиденциальных панелей. Disallow: /admin/
Disallow: /private-data/ Не хотите, чтобы обучающие модели «видели» личные данные. Disallow: /private-data/
Allow: /public/ Явно открываем полезный контент. Allow: /public/
Crawl-delay: 2 Пытаемся снизить нагрузку (если бот её поддерживает). Crawl-delay: 2
Sitemap: https://example.com/sitemap.xml Помогаем боту быстрее находить нужные URL. Sitemap: https://example.com/sitemap.xml

4.2. Частые ошибки

Ошибка Последствия Как исправить
Отсутствие User-agent Бот будет применять глобальные правила, которые могут быть слишком «жёсткими». Указывайте отдельный блок для каждого AI‑User‑agent.
Неправильный путь (Disallow: admin/ без слеша) Бот может всё равно сканировать /admin/. Всегда ставьте завершающий /.
Игнорирование Crawl-delay Перегрузка сервера. Добавьте серверный лимитер (см. §3).
Размещение robots.txt не в корне Бот не найдёт файл и будет сканировать всё. Файл обязан находиться по адресу https://example.com/robots.txt.
Слишком агрессивный Disallow Потеря индексации полезных страниц. Делайте Disallow только там, где действительно нужно.

4.3. Мониторинг и отладка

  1. Проверка синтаксиса — онлайн‑инструменты (например, robots.txt validator).
  2. Логи сервера — ищите строки User-Agent: OpenAI-Crawler и смотрите, сколько запросов в минуту.
  3. Метрики CDN — часто есть графики «Rate Limiting Events».

5. Пример полного robots.txt для сайта, который хочет контролировать AI‑краулеров

# Общие правила для всех ботов
User-agent: *
Disallow: /tmp/
Disallow: /cgi-bin/
Allow: /

# Правила для OpenAI‑Crawler
User-agent: OpenAI-Crawler
Disallow: /admin/
Disallow: /user-data/
Allow: /public/
Crawl-delay: 3

# Правила для Meta‑AI‑Bot
User-agent: Meta-AI-Bot
Disallow: /secret/
Allow: /
Crawl-delay: 2

# Карта сайта
Sitemap: https://example.com/sitemap.xml
  • Общие правила защищают временные и системные каталоги.
  • Отдельные блоки позволяют задать разные задержки и пути для каждого AI‑бота.

6. Как проверить, что всё работает

  1. Запрос к robots.txt

    curl -I https://example.com/robots.txt

    Должен вернуть 200 OK и правильный контент.

  2. Тестовый запрос от AI‑User‑agent (симуляция)

    curl -A "OpenAI-Crawler" -I https://example.com/admin/dashboard

    Ожидаем 403 Forbidden или 404 Not Found (в зависимости от настройки сервера).

  3. Проверка лимитера
    Сгенерируйте 20 запросов за 5 секунд и убедитесь, что после 5‑го запрос отклоняется (получаем 429 Too Many Requests).


7. Практика для закрепления

  1. Создайте файл robots.txt для сайта myblog.com, где нужно закрыть /drafts/ и /private/ от всех ботов, но открыть /public/ для OpenAI-Crawler. Укажите Crawl-delay: 4 для этого бота.

  2. Настройте Nginx‑лимитер так, чтобы OpenAI-Crawler мог делать не более 3 запросов в секунду с одного IP, но позволял «взрывные» до 6 запросов. Приведите конфигурацию.

  3. Симулируйте запросы с помощью curl (или любого HTTP‑клиента) и покажите, как выглядит ответ сервера, когда лимит превышен.

  4. Проанализируйте логи (пример в виде фрагмента) и ответьте: сколько запросов от Meta‑AI‑Bot было отклонено за последнюю минуту?

  5. Объясните в двух‑трёх предложениях, почему стоит использовать одновременно robots.txt и серверный rate limiting.


Готово! После выполнения упражнений вы будете уверенно управлять доступом AI‑краулеров к вашему сайту, защищая ресурсы и поддерживая стабильную работу сервера. 🚀


БЕСПЛАТНЫЙ КУРС: «КАК ЗАЩИТИТЬ ДАННЫЕ ЦИФРОВЫМ СЕЙФОМ»
Бесплатный урок: Как оптимизировать Битрикс на VDSina
Быстрое общение через чат онлайн
Быстрые способы исправления AutoCAD
Чат-встреча
Что такое маркетинговый аудит
Инновационные подходы Сбер Нейросети в моделировании временных рядов для экономических прогнозирован
ИП или ООО: выбор структуры бизнеса в 2024 году
Как исправить ошибки при создании видео с помощью нейросети
Как оплатить ИИ-услуги
Как создать видео с помощью нейросети без вложения средств
Как заработать $3000/мес в РФ 2026 с РКН и Adsense на европейских запросах
Китайские фитинги и трубы для инженерных систем
Коттеджный поселок "Дуслык" — у Уфы
Лучшие практики создания видео с помощью нейросети в 2023 году
Материалы ОГЭ по обществознанию: кратко и понятно
Онлайн диалоги Екатеринбург
Онлайн видеорулетка
Подписи к направлениям на схемах
Путешествуйте самостоятельно: полное руководство для новичков
Рулетка онлайн демо версия
Субтитры — в сторону, уши — в деле: 5 минут на погружение

Powered by Gidin. При перепечатке материала активная ссылка на сайт itsmamix.ru - обязательна! Seo раскрутка сайта в Киеве от Гидина Артёма :)
💷 кумит видеочат рулетка
Политика конфиденциальности