Как управлять роботами-ИИ с помощью robots.txt
Несколько лет назад сканеры, посещающие ваш сайт, были поисковыми системами и длинным хвостом парсеров. Теперь большая часть из них принадлежит языковым моделям: некоторые собирают страницы для обучения, некоторые извлекают страницу в реальном времени, потому что пользователь задал о ней вопрос, а некоторые делают и то, и другое под разными именами. Поверхность управления для них всех — тот же файл, которым он был всегда — /robots.txt, обычный текстовый файл в корне вашего домена, но решения, стоящие за ним, новые.
Обучение, извлечение и поиск — это три разные задачи.
Самая распространенная ошибка — рассматривать «сканер с искусственным интеллектом» как нечто одно. Их как минимум три, и большинство поставщиков используют для каждого отдельный пользовательский агент:
- Тренировочный сборник. Бот, который широко сканирует и сохраняет страницы для будущей модели. Его блокировка сегодня вам ничего не стоит и сегодня ничего не дает — это решение о лицензировании, а не о трафике.
- Живой поиск. Извлечение, инициированное человеком в окне чата, который вставил ваш URL-адрес или задал вопрос, на который отвечает ваша страница. Блокировка означает, что помощник не сможет вас читать, цитировать и ссылаться на вас.
- Индексация системы ответов. Сканер, который создает индекс, на основе которого отвечает поисковый продукт ИИ. Блокировка удаляет вас из результатов этого продукта так же, как блокировка поисковой системы.
Издатели регулярно блокируют все три, вставив одно правило, а затем задаются вопросом, почему их бренд перестал появляться в ответах помощников. Прежде чем писать строку, определитесь с категорией.
Кто есть кто
Имена, которые вы увидите в своих журналах, и для чего каждое из них:
GPTBot— Широкий сканер OpenAI, связанный со сбором обучающих данных.OAI-SearchBot— Сканер OpenAI для поиска результатов; его блокирование — это решение о видимости, а не тренировочное.ChatGPT-User— прямая выборка, сделанная по запросу пользователя. На другом конце этого запроса есть человек, ожидающий.ClaudeBot— Гусеница Anthropic.Claude-UserиClaude-SearchBotохватывают выборку данных, инициированную пользователем, и поисковую индексацию.Google-Extended— совсем не гусеница. Это токен, который позволяет вам отказаться от обучения Gemini, в то время как Googlebot продолжает сканировать поиск. Отключение этого параметра не повлияет на ваш рейтинг в поиске; запрещающийGooglebotочень сильно.PerplexityBot— индексирование для системы ответов, которая цитирует источники в режиме онлайн.CCBot— Обычное ползание. Это не компания, занимающаяся искусственным интеллектом, но ее архив является для многих из них учебным материалом.Applebot-Extended,meta-externalagent,Amazonbot,Bytespider— тот же шаблон от Apple, Meta, Amazon и ByteDance.
Поставщики регулярно добавляют и переименовывают агентов, поэтому относитесь к любому списку, включая этот, как к снимку. Прочная привычка — читать собственные журналы доступа: извлекайте отдельные строки пользовательского агента за день трафика и пропускайте их через парсер пользовательского агента чтобы увидеть, какие боты, какие браузеры, а какие притворяются браузерами.
Написание правил
Синтаксис неизменен и неумолим ровно в одном месте: каждый User-agent группа применяется к боту, который ей соответствует наиболее конкретно, а бот, совпадающий с собственным именем, игнорирует * группа целиком. Итак, это не делает то, что выглядит так:
Группа для * ничего не запрещающего, за которым следует группа для GPTBot это запрещает /, работает нормально. Но если вы установите правило задержки сканирования или правила карты сайта только в * group и предположить, что именованные боты наследуют ее, но это не так. Повторяйте все, что имеет значение, в каждой группе или сохраняйте общие правила.
генератор robots.txt создает файл из флажков — выберите агенты, которые вы хотите разрешить или заблокировать, добавьте запрещенные пути, и он выдаст правильно сгруппированный вывод со строкой карты сайта в конце. Как только файл существует, вставьте его в тестер robots.txt с URL-адресом и пользовательским агентом, чтобы подтвердить, что ответ именно тот, который вы имели в виду. Тестирование здесь имеет большее значение, чем обычно, потому что сбой замалчивается: правило, которое случайно все блокирует, выглядит точно так же, как правило, которое работает, пока через месяц не пропадет трафик.
Чего не может robots.txt
Прежде чем полагаться на файл, стоит усвоить три ограничения:
Это просьба, а не забор. Хорошо воспитанные краулеры это уважают. Скребки, которым нужен ваш контент, игнорируют его, и ничто в протоколе их не останавливает. Если вам нужно принудительное соблюдение, оно находится в конфигурации вашего сервера, ограничителе скорости или правиле WAF — и даже в этом случае вы сопоставляете строки пользовательского агента и диапазоны IP-адресов, которые можно подделать.
Disallow не является noindex. Запрещенный URL-адрес все равно может отображаться в результатах, если на него ссылаются другие сайты, поскольку сканеру приказано не получать страницу, но не запрещается забывать о ее существовании. Если вы хотите, чтобы страница была исключена из индекса, позвольте сканеру получить ее и обработать noindex метатег или заголовок. Блокировка в файле robots.txt активно предотвращает просмотр сканером этого тега.
Это зависит от хоста, схемы и порта. https://example.com/robots.txt управляет только этим происхождением, а не www., а не промежуточный поддомен или имя хоста CDN, обслуживающего ваши изображения. Каждому хосту, отвечающему на запросы, нужен собственный файл.
Направьте сканеры на то, что вы хотите проиндексировать.
Другая половина файла — это приглашение, а не исключение. А Sitemap: предоставляет каждому сканеру явный список ваших канонических URL-адресов и дат их последнего изменения, что является самым дешевым способом обнаружения новых страниц — генератор карты сайта превращает список URL-адресов в действительный XML, который можно загрузить вместе с файлом robots. Следите за тем, чтобы эти два параметра были согласованными: URL-адрес, который отображается в вашей карте сайта и запрещен в файле robots.txt, является противоречием, которое отображается как ошибка в каждом инструменте создания отчетов, который читает оба.
Вы также можете увидеть llms.txt предлагается в качестве сопутствующего файла — краткое описание сайта в формате markdown, ориентированное скорее на модели, чем на сканеров. Это соглашение, а не стандарт, и ни один крупный поставщик не рассматривает его как директиву. Добавление одного безвредно; полагаться на него для контроля нельзя.
Разумный дефолт
Если вы публикуете контент и хотите охватить аудиторию, большинство сайтов используют следующую настройку: разрешить поисковым роботам в реальном времени и системам ответов, чтобы помощники могли найти и цитировать вас, заблокировать или разрешить массовое обучение сканерам в зависимости от того, как вы относитесь к этой сделке, никогда не трогать Googlebot или Bingbot если вы точно не знаете почему, и сохраняйте строку карты сайта, указывающую на текущий файл. Если вы публикуете за платным доступом или продаете лицензии для своего архива, расчет меняется на противоположный, и целью является блокировка широких сканеров.
В любом случае, напишите его сознательно, протестируйте на реальных строках пользовательского агента и перепроверяйте каждый раз, когда поставщик объявляет о новом боте. И генератор, и тестер полностью работают в вашем браузере — ваш файл robots, ваши URL-адреса и строки журнала никогда не покидают страницу.
Создатель TextArray — создания бесплатных инструментов, обеспечивающих конфиденциальность, которые полностью работают в вашем браузере.