Тариф «Старт» — 0 ₽: один сайт, до 100 000 запросов в месяц. Все тарифы
Bot Guard.ruЗащита сайта от ботов
Бот / Краулер

Анализ User-Agent: Twitterbot

User-Agent строка
Twitterbot

Что это за User-Agent

Twitterbot — бот сервиса X (Twitter), который собирает превью ссылок. Обычно такие клиенты собирают заголовок и картинку страницы для показа превью ссылки.

Кто и зачем его использует

Такие клиенты обычно запускаются для сбора информации о содержимом страницы, чтобы показать превью ссылок. Владелец X (Twitter) использует их для создания удобных превью в своих сервисах.

Как часто он встречается

Bot Guard видел этот User-Agent на 3 сайтах из 54 подключённых (6%). Первое появление в нашей статистике: 19.12.2023, последнее: 26.07.2024. Всего за это время зафиксировано 11 визитов. В среднем это около 1 визитов в день за 221 день наблюдений.

Из чего состоит строка

По строке определяется: название клиента — Twitterbot.

Паспорт: на чём основан вердикт

Вердикт: краулер или служебный бот. Основания: явных противоречий в строке нет; в статистике 3 сайтов, 11 визитов. Это оценка по строке и поведению, а не доказательство: по одному User-Agent нельзя гарантировать, что за ним бот или человек.

Как влияет на сайт

Бот превью заходит один раз, когда ссылку публикуют, и почти не создаёт нагрузки. Благодаря ему ссылка на сайт выглядит аккуратно, с заголовком и картинкой.

Как отличить человека от бота

Строка User-Agent бота превью легко подделывается. Надёжнее сверить IP запроса с сетями компании X (Twitter) и проверить, что запросы приходят в момент, когда ссылку действительно публикуют.

Как найти его в логах и на сервере

Запросы этого клиента легко найти в журнале по подстроке «Twitterbot». Ниже примеры для подсчёта обращений, для nginx и для PHP. Строку лучше сверять без учёта регистра.

# сколько запросов в журнале nginx
grep -i "Twitterbot" /var/log/nginx/access.log | wc -l

# nginx: пометить запросы клиента
map $http_user_agent $is_client {
    default 0;
    ~*Twitterbot 1;
}

// PHP: определить клиента
if (stripos($_SERVER['HTTP_USER_AGENT'] ?? '', 'Twitterbot') !== false) {
    // ваша логика: пропустить, ограничить или заблокировать
}

Управление через robots.txt

Робот, соблюдающий правила, читает robots.txt до обхода страниц. Чтобы закрыть сайт целиком или только один раздел, добавьте правило с названием клиента. robots.txt рекомендательный: подделки и недобросовестные боты его игнорируют, для них нужна блокировка на сервере.

# закрыть весь сайт
User-agent: Twitterbot
Disallow: /

# закрыть только раздел
User-agent: Twitterbot
Disallow: /private/

# разрешить всё
User-agent: Twitterbot
Allow: /

Что делать владельцу сайта

Не блокируйте настоящего бота компании X (Twitter): без него ссылки на ваш сайт будут показываться без превью. Блокируйте только запросы, адрес которых не принадлежит компании X (Twitter).

Описание

Анализ User-Agent: Twitterbot

Предоставленная строка "Twitterbot" является официальным идентификатором робота социальной сети X (ранее Twitter), предназначенного для сканирования и индексации веб-контента для карточек предпросмотра (Twitter Cards).

Детали анализа

  • Тип агента: Официальный веб-бот / краулер
  • Браузер/Платформа: Twitterbot
  • Версия: Не указана (стандартно для многих краулеров)
  • Операционная система: Не указана
  • Движок рендеринга: Не указан

Оценка рисков и решение

  • Валидность строки: Строка корректна и соответствует публичному формату, заявленному компанией X Corp.
  • Риск-факторы: Отсутствуют. Это не устаревший клиент, не поддельный браузер и не аномальная строка.
  • Паттерн бота: Явный и легитимный паттерн официального краулера. Его необходимо разрешать для корректной работы предпросмотра ссылок в Twitter/X.
  • Сравнение с браузерами: Не применимо, так как это не браузер в пользовательском понимании.
  • Решение основано на: Этот User-Agent должен иметь доступ к тем же ресурсам, что и основной сайт, для генерации корректных превью. Блокировка нарушит функциональность интеграции с Twitter.

Статистика и другие строки: Twitterbot: все User-Agent и данные Bot Guard за 30 дней

Хотите блокировать таких ботов на своём сайте?

Bot-guard.ru автоматически распознаёт и блокирует ботов вроде этого — без ручного ведения списков User-Agent. Подключение занимает несколько минут, сейчас сервис в открытом бесплатном тестировании.

Подключить бесплатно

Проверки показывают ботов. Bot Guard их останавливает

Тариф «Старт» — 0 ₽: один сайт, до 100 000 запросов в месяц. Плагины для WordPress и 1С-Битрикс, проверка для nginx, PHP-код для любого сайта.