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 |
| Закрытый контент, premium | ai-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.
Алгоритм:
- Получить robots.txt (результат кешируется из проверки
robots_txt) - Найти директиву
Content-Signal:(регистронезависимый поиск) - Парсинг значений — разбиваем по запятой, извлекаем ключи
ai-train,search,ai-input
Статус pass — директива найдена с минимум одним ключом. Статус fail — директива отсутствует в robots.txt.
Мы намеренно не штрафуем за ai-train=no или другие конкретные значения — это политика сайта, не ошибка. Сканер только фиксирует наличие явной декларации, не её содержание.