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