citoid в логах — это не безымянный «сервисный обход», а официальный сервис генерации цитат Wikimedia Foundation. Когда редактор Википедии или другой вики-платформы вставляет ссылку на вашу страницу в инструмент цитирования, citoid обращается к этой странице, чтобы автоматически собрать данные для оформленной сноски — заголовок, автора, дату публикации. Это значит, что визит citoid чаще всего сигнализирует не о фоновом шуме, а о попытке процитировать именно ваш сайт как источник.
1. Что такое citoid на самом деле
Citoid — официальный сервис Wikimedia Foundation для автоматической генерации оформленных цитат (шаблонов Citation Style 1) по ссылке, DOI или ISBN. Он встроен в VisualEditor и классический вики-текстовый редактор: когда редактор Википедии добавляет ссылку в качестве источника, citoid забирает с указанной страницы метаданные — заголовок, автора, дату публикации, издателя — и превращает их в готовую библиографическую сноску. Для точного разбора данных используется движок парсеров Zotero Translation Server.
Ключевой факт: это классический user-triggered fetcher, а не фоновый краулер. По описанию поведения, citoid обычно делает один запрос в течение нескольких секунд после того, как ссылку кто-то указал в качестве источника, и не продолжает обход остальных страниц сайта — тот же принцип, что у превью-фетчеров, только результат идёт не в карточку в соцсети, а в сноску энциклопедической статьи.
| Параметр | Значение |
| Название | citoid |
| Оператор | Wikimedia Foundation — официально задокументированный сервис |
| Роль | Генерация оформленных цитат по URL для Википедии и других вики-проектов при добавлении источника редактором |
| User-Agent / паттерн | citoid; по данным разработчиков Wikimedia, строка приведена к тому же паттерну, что использует Zotero Translation Server |
| Паттерн поведения | Разовый запрос вскоре после того, как ссылку вставили в инструмент цитирования — не системный обход сайта |
| Ограничение частоты | Общий лимит MediaWiki API — 100 запросов в секунду; отдельно разрабатывается per-site rate limiting специально для Citoid/Zotero |
| robots.txt | Данных об официальной политике не найдено; известно, что часть крупных новостных сайтов (например, NYT, Reuters) блокирует citoid на уровне инфраструктуры, из-за чего Wikimedia работает над регистрацией сервиса как «доверенного бота» у Cloudflare |
| Пометка TrafficVeil | Легитимный / Прочие краулеры и сервисы |
2. Зачем citoid приходит на сайт
- редактор Википедии (или другой MediaWiki-платформы) добавляет ссылку на вашу страницу как источник в статье и запрашивает автозаполнение цитаты;
- сторонние инструменты, встроенные в вики-экосистему (пользовательские скрипты, расширения для генерации ссылок вне VisualEditor), также используют Citoid API напрямую;
- в отличие от большинства ботов в этой категории, здесь нет цели «собрать контент впрок» — запрос привязан к конкретному, разовому редакторскому действию.
Типичный кейс: единичный запрос citoid к конкретной странице без последующего обхода остального сайта — это, скорее всего, означает, что кто-то в этот момент цитирует именно эту страницу в статье Википедии. Регулярное появление citoid на разных страницах домена на протяжении времени говорит не о фоновом сканировании, а о том, что сайт периодически используют как источник в разных статьях.
3. Нагрузка и риски
Нагрузка от citoid, как правило, минимальна и не идёт ни в какое сравнение с полноценными краулерами — это одиночные, разрозненные запросы, привязанные к реальным редакторским действиям, а не системный обход каталога или пагинации.
Здесь стоит перевернуть привычную логику раздела «риски»: блокировка citoid не защищает контент, а создаёт прямой практический минус — если сервис не сможет получить метаданные с вашей страницы, цитата в Википедии либо не сгенерируется автоматически, либо редактор оформит её вручную и хуже, либо откажется от источника вовсе. Упоминание в Википедии — это высокоавторитетная ссылка с огромным трафиком энциклопедии, и блокировка citoid реально снижает шансы на аккуратное, полностью оформленное цитирование вашего сайта.
4. Как найти citoid в логах
# Базовый поиск
grep -i "citoid" /var/log/nginx/access.log
# Топ URL, которые запрашивает сервис — обычно единичные конкретные страницы
grep -i "citoid" /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head
# Топ IP за этим UA
grep -i "citoid" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head
# Суточная активность — эпизодические разовые хиты, а не системный фон
grep -i "citoid" /var/log/nginx/access.log | awk '{print $4}' | cut -d: -f1 | sort | uniq -c
# Проверка гипотезы о разовом характере: сколько уникальных URL всего запрошено
grep -i "citoid" /var/log/nginx/access.log | awk '{print $7}' | sort -u | wc -l
Верификация. Строку UA подделать может любой скрипт. Официального списка IP-диапазонов Wikimedia для конкретно citoid не найдено — для верификации остаётся связка UA + IP/ASN + характерный разовый паттерн запроса:
IP="1.2.3.4"
whois -h whois.cymru.com " -v $IP"
dig +short -x "$IP"
5. robots.txt для citoid
# Жёсткий запрет — как правило, нежелателен, см. раздел 3
User-agent: citoid
Disallow: /
# Разрешить всё — рекомендуемый вариант по умолчанию
User-agent: citoid
Allow: /
# Компромисс: закрыть личный кабинет и служебные разделы, оставить публичные материалы доступными для цитирования
User-agent: citoid
Disallow: /admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /api/
Allow: /
6. Блокировка вручную и через TrafficVeil
Nginx:
if ($http_user_agent ~* "citoid") {
return 403;
}
Apache (.htaccess):
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} citoid [NC]
RewriteRule ^ - [F,L]
TrafficVeil:
- найдите citoid в разделе ботов домена или в /system/bots;
- для подавляющего большинства сайтов — allow обоснован по умолчанию, поскольку нагрузка минимальна, а блокировка мешает получить качественную цитату в Википедии;
- причины для deny здесь скорее исключение, чем правило — например, если какая-то система защиты от ботов слишком широким правилом случайно блокирует citoid вместе с нежелательным трафиком (именно такая ситуация произошла с рядом крупных новостных сайтов);
- после изменения сверьте логи и, если возможно, проверьте вручную через citoid-инструмент Википедии, что цитата с вашего сайта действительно формируется корректно.
7. Что делать: короткий алгоритм
- Стандартная рекомендация — allow: реального риска для контента нет, а польза (аккуратное цитирование в Википедии) реальна;
- Если сайт блокирует citoid непреднамеренно через общее антибот-правило (широкий User-agent или анти-скрейпинг фильтр) — проверьте, не задета ли этим правилом и цитируемость сайта;
- Специально блокировать citoid имеет смысл только в очень специфичных сценариях — например, если сайт принципиально не хочет попадать в источники Википедии;
- Не блокируйте по маске
User-agent: *, чтобы не задеть Googlebot/YandexBot и заодно не отрезать citoid без явного намерения.
8. С кем не путать citoid
| Бот / сосед | Кластер | Комментарий |
| ZoteroTranslationServer | Прочие краулеры и сервисы | Тот же движок парсинга метаданных, что использует citoid, но может встречаться и отдельно — от других интеграций Zotero |
| ArchiveBot | Прочие краулеры и сервисы | Тоже оператор Wikimedia, но другая задача — архивирование страниц, а не генерация цитат |
| AASA-Bot | Прочие краулеры и сервисы | легитимный, но принципиально другая природа — технический краулер Apple для Universal Links, не связан с цитированием |
| AddThis.com | Прочие краулеры и сервисы | легитимный fetcher для превью в соцсетях — похож по механике (разовый запрос), но результат идёт в карточку шеринга, а не в энциклопедическую сноску |
9. Стратегия allow/deny для citoid
| Ситуация | Действие |
| Стандартный сайт без особых ограничений | Allow — блокировка не защищает контент, а мешает корректному цитированию |
| Citoid блокируется случайно через общее антибот-правило | Проверить и добавить явное исключение |
| Принципиально не хотите присутствовать в источниках Википедии | Disallow — редкий, но возможный осознанный сценарий |
| Нагрузка от citoid всё же заметна | Маловероятно при разовом характере запросов, но при необходимости — мягкий rate-limit, не полный deny |
| Подозрение на подделку UA | Не доверять строке UA целиком; смотреть IP/ASN и характерный разовый, а не системный паттерн запроса |