TerraCotta — не тот случай, когда за именем бота скрывается что-то безобидно-техническое вроде верификации аккаунта. По данным сразу нескольких независимых открытых каталогов ботов, включая известный community-реестр ai.robots.txt, это краулер, который собирает контент с сайтов для нужд AI и LLM — обучающих корпусов или поискового индекса генеративного сервиса. В каталоге TrafficVeil он тем не менее помечен как легитимный в категории «Прочие краулеры и сервисы» — решение allow/deny стоит принимать осознанно, понимая, что именно вы разрешаете.
Зачем TerraCotta приходит на сайт
Разные открытые каталоги ботов связывают TerraCotta с компанией Ceramic и описывают его задачу как сбор общедоступного веб-контента — либо для обучения больших языковых моделей, либо для построения поискового индекса, который питает AI-поисковый продукт этой компании. Формулировки у источников расходятся в деталях (обучение модели или поисковая индексация), но сходятся в главном: TerraCotta вычитывает содержимое страниц целиком, а не проверяет доступность или метаданные аккаунта.
Практическое следствие для владельца сайта: если контент попадает в обучающую выборку или в AI-поисковый индекс, это может увеличивать присутствие бренда в ответах генеративных сервисов — но одновременно означает, что материалы страниц используются за пределами обычной поисковой выдачи. Типичный сигнал для диагностики: CDN-трафик дорожает, origin CPU нагружен вычиткой HTML, а в фильтре по terracotta видно систематический проход по разделам сайта, а не единичные точечные запросы.
Что такое TerraCotta
| Параметр | Значение |
| Название | TerraCotta |
| User-Agent / паттерн | terracotta (в некоторых источниках также встречается написание "Terra Cotta") |
| Оператор | По данным открытых каталогов ботов — связан с компанией Ceramic; официального подтверждения от самого оператора на сайте не обнаружено |
| Роль | Сбор общедоступного веб-контента для AI/LLM-задач — обучающие данные или AI-поисковый индекс |
| Документация / ориентир | Токен присутствует в открытом community-реестре AI-краулеров (ai.robots.txt); отдельной официальной страницы оператора не найдено |
| Список IP | ❌ Публичного подтверждённого списка IP нет; проверяйте ASN и не доверяйте только строке UA |
| robots.txt | Данные каталогов расходятся: часть источников сообщает о соблюдении Robots Exclusion Protocol, другие — что бот не гарантированно следует директивам; полагаться стоит на поведенческую проверку, а не только на файл |
| Пометка TrafficVeil | Легитимный / Прочие краулеры и сервисы |
Как найти TerraCotta в логах
Ищите конкретный токен terracotta, а не общее слово «bot» — рядом сразу смотрите, ведёт ли он себя как систематический обход или как единичные точечные запросы.
# Базовый поиск
grep -i "terracotta" /var/log/nginx/access.log
# Топ URL, которые вычитывает бот
grep -i "terracotta" /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head
# Топ IP за этим UA
grep -i "terracotta" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head
# Суточная активность
grep -i "terracotta" /var/log/nginx/access.log | awk '{print $4}' | cut -d: -f1 | sort | uniq -c
Верификация здесь особенно важна: подделать User-Agent может любой скрипт, а официального перечня IP от оператора нет, поэтому смотрите связку UA + ASN/IP + частота + глубина обхода. Например, если запросы идут с нескольких IP параллельно и покрывают заметную долю каталога за короткое время — это больше похоже на системный сбор контента, чем на случайный шум.
IP="1.2.3.4" whois -h whois.cymru.com " -v $IP" dig +short -x "$IP"
Нагрузка и риски именно для TerraCotta
Отдельной строки в публичной сводке топ-ботов TrafficVeil у terracotta может не быть, но по функции это полноценный контентный краулер, а не лёгкий health-check — значит, и нагрузка от него потенциально выше, чем от типичного «прочего сервиса». Смотрите не только на абсолютный RPS, но и на:
- глубину обхода — систематический проход по разделам, а не 2-3 фиксированных URL;
- повторы одних и тех же адресов без видимой причины;
- отсутствие cookie и признаков сессии;
- серии запросов, которые на отдельных доменах выглядят как мини-волны автоматизации без единой конверсии в аналитике.
robots.txt для TerraCotta
# Жёсткий запрет User-agent: terracotta Disallow: / # Разрешить всё User-agent: terracotta Allow: / # Компромисс: закрыть деньги/кабинет, оставить публичную часть User-agent: terracotta Disallow: /admin/ Disallow: /cart/ Disallow: /checkout/ Disallow: /account/ Disallow: /api/ Allow: /
Поскольку источники расходятся в оценке соблюдения robots.txt этим ботом, файл стоит рассматривать как первый, но не единственный рубеж контроля. Если после настройки Disallow хиты terracotta продолжаются в логах — это повод сразу переходить к блокировке на уровне nginx/Apache или через TrafficVeil, а не ждать и перепроверять файл повторно.
Блокировка вручную и через TrafficVeil
Nginx
if ($http_user_agent ~* "terracotta") {
return 403;
}
limit_req_zone $binary_remote_addr zone=terracotta:10m rate=10r/m;
location / {
if ($http_user_agent ~* "terracotta") {
limit_req zone=terracotta burst=20 nodelay;
}
}
Apache (.htaccess)
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} terracotta [NC]
RewriteRule ^ - [F,L]
TrafficVeil
- найдите terracotta / TerraCotta в ботах домена или в
/system/bots; - если участие в AI-обучении или AI-поиске нежелательно для бизнеса — категория «запретить»; если нагрузка терпима, но частота избыточна — rate-limit;
- allow оставляйте осознанно — например, если присутствие в AI-ответах и поисковых системах нового поколения важно для видимости бренда;
- после изменения сверьте логи: хиты TerraCotta должны уйти в блок/лимит, а нужные поисковики остаться нетронутыми.
С кем не путать TerraCotta
| Бот / сосед | Кластер | UA | Комментарий |
| 2ip Bot | Прочие краулеры и сервисы | 2ip bot | легитимный |
| AccessStatus | Прочие краулеры и сервисы | accessstatus | легитимный |
| AddThis.com | Прочие краулеры и сервисы | addthis.com | легитимный |
| Agent | Прочие краулеры и сервисы | agent | легитимный |
| AgentReadinessScanner | Прочие краулеры и сервисы | agentreadinessscanner | легитимный |
Стратегия allow/deny для TerraCotta
| Ситуация | Действие |
| Присутствие в AI-обучении/AI-поиске важно для видимости бренда | Allow + закрыть /admin /cart /api |
| Использование контента для AI нежелательно | Disallow + запрет в TrafficVeil |
| Обход в целом приемлем, но нагрузка избыточна | Rate-limit на nginx/TrafficVeil |
| Не удалось подтвердить назначение трафика | Deny по умолчанию, исключения — точечно после дополнительной проверки |
| Подозрение на спуфинг UA | Не доверять строке UA; смотреть IP/ASN, параллельность запросов и глубину обхода |
Главный вывод по TerraCotta: несмотря на пометку «легитимный» в категории прочих сервисов, по факту это полноценный AI-краулер, и решение здесь стоит принимать не как для нейтрального технического клиента, а как для любого другого агента, забирающего контент сайта для генеративных AI-продуктов, — сознательно взвешивая пользу от видимости в AI-ответах против расхода ресурсов origin.