В логах сайт может выглядеть «живым», хотя рост даёт не аудитория, а WireReaderBot с User-Agent вида Mozilla/5.0 (compatible; WireReaderBot/1.0; +https://wirereader.app). Это краулер приложения Wire RSS Reader — iOS-читалки новостей, которая опрашивает feed URL и подгружает статьи для своих подписчиков. Трафик пропорционален числу читателей ленты в приложении: чем популярнее ваш фид среди пользователей Wire, тем чаще заходит бот.
1. Что такое WireReaderBot
Wire — нишевое приложение для iOS с фокусом на «настоящее» чтение статей, а не только заголовков из RSS: в отличие от большинства читалок, которые показывают лишь содержимое самого фида, Wire дополнительно скачивает оригинальную статью целиком и рендерит её в полноценном браузере для офлайн-чтения. Это значит, что бот, вероятнее всего, обращается не только к техническому URL ленты, но и к самим страницам статей — чтобы получить полный текст, а не только описание из RSS.
| Название | WireReaderBot |
| User-Agent / паттерн | wirereaderbot — полная строка Mozilla/5.0 (compatible; WireReaderBot/1.0; +https://wirereader.app) |
| Оператор | Разработчик приложения Wire RSS Reader (небольшая независимая команда/разработчик, iOS-приложение в App Store) |
| Роль | Классифицирован в открытых базах распознавания User-Agent (например, Matomo Device Detector) как Feed Fetcher: опрашивает ленты и подгружает полный текст статей для офлайн-чтения в приложении |
| Документация / ориентир | wirereader.app — сайт приложения; отдельной технической документации про краулер или политику UA нет |
| Список IP | ❌ Официального списка не публикуется — проверяйте по поведению, не доверяйте только строке UA |
| robots.txt | Публичных данных о соблюдении robots.txt нет; как у большинства мелких user-initiated читалок, поведение зависит от конкретной реализации приложения |
| Пометка TrafficVeil | Нежелательный / RSS и фиды |
2. Зачем WireReaderBot приходит на сайт
Бот читает ленты и синдицирует обновления контента для пользователей приложения Wire. Поскольку ключевая фишка приложения — показывать не урезанный RSS-текст, а полную оригинальную статью, есть основания полагать, что визиты бота не ограничиваются одним техническим URL фида, а включают и заходы на сами карточки/страницы статей, на которые ссылается лента.
- Какие зоны чаще трогает: /feed/, /rss/, /atom.xml, /blog/feed, а также сами URL статей, упомянутые в ленте — для скачивания полного текста;
- Что ищет: новые записи в фиде и содержимое оригинальной статьи для офлайн-рендеринга в приложении;
- Чем отличается от браузерного пользователя: нет нормальной сессии, обращения идут по расписанию опроса ленты, а не по интересу конкретного человека к конкретной статье в моменте.
Типичный кейс: маркетинг видит всплеск hits в Метрике/GA, но сессии пустые. Причина — WireReaderBot. Правильная реакция — не «выключить сайт», а точечно запретить конкретно этот UA.
3. Нагрузка и риски именно для WireReaderBot
Отдельной строки в публичной сводке top-bot TrafficVeil у wirereaderbot может не быть, но в категории «RSS и фиды» такие агенты дают характерный фон: лишние опросы feed URL, редко критичные по нагрузке сами по себе. Здесь риск чуть выше среднего для категории именно из-за модели приложения: если бот действительно докачивает полные статьи, а не только XML фида, суммарная нагрузка на несколько URL за один цикл обхода может быть заметнее, чем у простого фид-ридера, ограничивающегося одним техническим адресом.
Смотрите не только абсолютный RPS, но и качество хитов: глубину обхода, повторы одних и тех же URL, отсутствие cookie-сессий и концентрацию на служебных или карточных страницах.
Подключите домен и посмотрите живую ленту: кто пришёл, с какой сети, что запрашивал и по какому правилу был пропущен или заблокирован.
4. Как найти WireReaderBot в логах
Не ищите «просто ботов» — ищите конкретный токен wirereaderbot и рядом смотрите соседей по семейству фид-ридеров.
# Базовый поиск
grep -i "wirereaderbot" /var/log/nginx/access.log
# Топ URL, которые вычитывает бот (проверьте, идёт ли он дальше технического фида на статьи)
grep -i "wirereaderbot" /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head
# Топ IP за этим UA
grep -i "wirereaderbot" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head
# Суточная активность
grep -i "wirereaderbot" /var/log/nginx/access.log | awk '{print $4}' | cut -d: -f1 | sort | uniq -c
# Отделить от похожих строк семейства фид-ридеров
grep -iE "wirereaderbot|everyfeed-spider|feedbin|feedburner" /var/log/nginx/access.log | wc -l
Верификация. Подделать User-Agent может любой скрипт. Для решения allow/deny смотрите связку: UA + ASN/IP + частоту + набор URL. Оператор не публикует диапазоны IP, поэтому опирайтесь на поведение и политику TrafficVeil.
IP="1.2.3.4"
whois -h whois.cymru.com " -v $IP"
dig +short -x "$IP"
5. robots.txt для WireReaderBot
# Жёсткий запрет
User-agent: wirereaderbot
Disallow: /
# Разрешить всё
User-agent: wirereaderbot
Allow: /
# Компромисс: закрыть деньги/кабинет, оставить публичку
User-agent: wirereaderbot
Disallow: /admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /api/
Allow: /
Важно: ставьте Disallow или 403 для wirereaderbot, если пользы нет. Публичных данных о том, насколько строго приложение соблюдает robots.txt, нет — если агент по факту игнорирует правила, переходите к nginx/Apache или запрету в TrafficVeil.
6. Блокировка вручную и через TrafficVeil
Nginx
if ($http_user_agent ~* "wirereaderbot") {
return 403;
}
limit_req_zone $binary_remote_addr zone=wirereaderbot:10m rate=10r/m;
location / {
if ($http_user_agent ~* "wirereaderbot") {
limit_req zone=wirereaderbot burst=20 nodelay;
}
}
Apache (.htaccess)
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} wirereaderbot [NC]
RewriteRule ^ - [F,L]
TrafficVeil
- Найдите wirereaderbot в ботах домена или в разделе /system/bots;
- Для нежелательного сценария выберите категорию «запретить»; для мягкого варианта — rate-limit;
- Allow оставляйте только при явной пользе от распространения через это конкретное приложение;
- После изменения сверьте логи: хиты WireReaderBot должны уйти в блок или лимит, а нужные поисковики — остаться без изменений.
7. Рекомендации: что делать с WireReaderBot
- Если пользы нет — Disallow/403 для wirereaderbot;
- Если польза есть (например, у ленты сайта заметная аудитория именно в этом приложении) — Allow только при явной пользе;
- Если нагрузка мешает — сначала rate-limit, затем полный запрет, особенно если бот действительно докачивает полные статьи, а не только фид;
- Не режьте слишком широко правилом User-agent: *, чтобы случайно не закрыть Googlebot или YandexBot;
- Что вы теряете при блокировке: часть распространения через агрегаторы и читалки, в данном случае — через пользователей конкретно этого приложения.
8. С кем не путать WireReaderBot
| Бот / сосед | Кластер | UA | Комментарий |
| Everyfeed Spider | RSS и фиды | everyfeed-spider | нежелательный |
| Automattic Feed Fetcher | RSS и фиды | automattic feed fetcher | легитимный |
| FeedBurner | RSS и фиды | feedburner | легитимный |
| FeedFlow | RSS и фиды | feedflow | легитимный |
| Feedbin | RSS и фиды | feedbin | легитимный |
9. Стратегия allow/deny для WireReaderBot
| Ситуация | Действие |
| Есть заметная аудитория именно в приложении Wire | Allow + закрыть /admin /cart /api |
| Только мешает и жрёт ресурсы | Disallow + запрет в TrafficVeil |
| Нужен доступ, но пики по ночам | Rate-limit на nginx/TrafficVeil |
| Нежелательный по базе TrafficVeil | Deny по умолчанию, исключения — точечно |
| Подозрение на spoofing UA | Не доверять строке UA; смотреть IP/ASN и поведение |
Частые вопросы
WireReaderBot — это крупный агрегатор вроде Feedly?
Почему бот заходит не только на /feed/, но и на страницы статей?
Значит ли более широкий обход более высокую нагрузку от этого бота?
Публикует ли разработчик список IP-адресов краулера?
Соблюдает ли WireReaderBot правила robots.txt?
Что теряет сайт при полной блокировке этого бота?
Команда TrafficVeil разрабатывает инструменты защиты сайтов от ботов, DDoS и веб-атак. Разборы ботов пишем по логам подключённых доменов и открытым данным операторов.