Bot Access Control

Content Signals

Декларация согласия на AI-обучение и поиск в robots.txt через директиву Content-Signal (contentsignals.org).

Что такое Content Signals?

Content Signals — расширение стандарта robots.txt, позволяющее владельцу сайта явно декларировать политику использования контента AI-системами. Стандарт разработан contentsignals.org.

Директива добавляется в файл robots.txt в виде:

Content-Signal: ai-train=yes, search=yes, ai-input=yes

Три ключа:

  • ai-train — разрешаете ли использовать ваш контент для обучения AI-моделей (yes / no)
  • search — разрешаете ли AI-поисковикам индексировать и цитировать ваш контент (yes / no)
  • ai-input — разрешаете ли подавать ваш контент как input в AI-агенты при выполнении задач (yes / no)

Отсутствие Content-Signal означает неопределённость — каждый AI-провайдер трактует её по-своему.

Зачем сайту Content Signals?

До Content Signals владельцы сайтов имели только один инструмент контроля над AI-ботами — блокировка через User-agent: GPTBot / Disallow: /. Это бинарно: разрешить всё или заблокировать всё.

Content Signals добавляет гранулярность:

  • Вы можете разрешить search=yes (цитирование в AI-поиске) но запретить ai-train=no (не использовать для обучения моделей)
  • Медиа-компании, которые продают лицензии на обучение, ставят ai-train=no как явную декларацию своей позиции
  • Open-source и образовательный контент часто ставят ai-train=yes, search=yes, ai-input=yes как поддержку AI-экосистемы

Для GEO: search=yes сигнализирует AI-поисковикам (Perplexity, ChatGPT Search, Google AI Overview), что ваш контент можно цитировать. Без этого сигнала AI-системы действуют осторожнее.

Юридический аспект: явная декларация ai-train=no в robots.txt становится одним из элементов защиты авторских прав в контексте AI-обучения. Ряд юрисдикций рассматривает такую декларацию как юридически значимое заявление о несогласии.

Как добавить Content Signals?

Добавьте директиву в конец вашего robots.txt:

User-agent: *
Allow: /

Sitemap: https://example.com/sitemap.xml

Content-Signal: ai-train=yes, search=yes, ai-input=yes

Рекомендации по выбору значений:

Тип сайтаРекомендация
Открытый контент, документация, образованиеai-train=yes, search=yes, ai-input=yes
Коммерческий контент, новости, медиаai-train=no, search=yes, ai-input=yes
Закрытый контент, premiumai-train=no, search=no, ai-input=no
SaaS, продукт без editorial контентаai-train=yes, search=yes, ai-input=yes

Важно: директива Content-Signal расположена на уровне всего файла, не внутри блока User-agent. Это глобальная декларация политики сайта.

Пример с разными политиками для разных секций:

Спецификация Content Signals также поддерживает per-path директивы в расширенном синтаксисе, но для большинства случаев достаточно одной глобальной декларации.

Как мы проверяем Content Signals?

Наш сканер зависит от проверки robots_txt — сначала получаем файл robots.txt, затем парсим его на наличие директивы Content-Signal.

Алгоритм:

  1. Получить robots.txt (результат кешируется из проверки robots_txt)
  2. Найти директиву Content-Signal: (регистронезависимый поиск)
  3. Парсинг значений — разбиваем по запятой, извлекаем ключи ai-train, search, ai-input

Статус pass — директива найдена с минимум одним ключом. Статус fail — директива отсутствует в robots.txt.

Мы намеренно не штрафуем за ai-train=no или другие конкретные значения — это политика сайта, не ошибка. Сканер только фиксирует наличие явной декларации, не её содержание.

Источники и спецификации