- Что такое User agent
- Где применяется User Agent
- User Agent в robots.txt
- Виды программ, использующих User agent
- Как определить User Agent
- Как использовать User Agent
- Зачем менять User-Agent
- Как изменить User Agent в браузерах
- Коротко о главном
Что такое User agent
User-Agent — это специальная строка HTTP-заголовка. Клиент (браузер, поисковый бот или другое приложение) отправляет ее серверу при каждом запросе в сеть интернет. Она содержит информацию, которая идентифицирует программу, ее версию, операционную систему и тип устройства. Благодаря этим данным сервер адаптирует контент, а веб-аналитика точно группирует трафик.
Фактически, юзер агент — это идентификатор внутри HTTP-запроса, а не отдельный файл на диске. Исторически этот инструмент решил проблему совместимости: сервер начал понимать, кто именно запрашивает доступ, и отдавать корректную версию сайта.
GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
Подробнее о профилировании User-Agent — в спецификации OMA UAProf.
Строка User-Agent: из чего состоит и примеры
Заголовок User-Agent содержит токены, выстроенные по типовому шаблону: Product/Version (Platform; Details) Engine/Version AdditionalTokens. Обычно строка включает название и версию клиента, данные об ОС, а также рендер-движок.
Типовой шаблон:
Product/Version (Platform; Details) Engine/Version AdditionalTokens
Примеры:
1) Desktop Chrome (Windows)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
2) Safari (iPhone)
Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1
3) Googlebot
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Как читать строку:
Mozilla/5.0— базовый маркер совместимости (agent mozilla), присутствующий почти везде.(Windows NT 10.0; Win64; x64)— операционная система (OS Windows) и разрядность процессора.AppleWebKit/537.36 (KHTML, like Gecko)— рендер-движок. Часто применяется для Chromium-клиентов.Chrome/124.0.0.0,Safari/537.36— конкретный браузер и его сборка.compatible; Googlebot/2.1— идентификатор поискового робота (например, google com bot).
Где применяется User Agent
- Кросс-браузерная совместимость. Разные программы по-своему рендерят код. Чтение user agent помогает серверу определить клиентское приложение и отдать корректный дизайн без сломанной верстки.
- Адаптивный дизайн. Сервер извлекает из заголовка данные о типе устройства (mobile или десктоп) и загружает соответствующий макет.
- Безопасность и аутентификация. Анализ заголовков помогает выявлять аномальные запросы, блокировать ботнеты и предотвращать действия злоумышленников.
- Аналитика. Это надежный способ узнать параметры аудитории, кто пришел на сайт: собрать статистику по популярным браузерам, смартфонам (например, iPhone или Android) и операционным системам.
- Автоматизация и парсинг. Разработчик может изменить user agent скрипта, замаскировав его под обычного пользователя. Это позволяет обойти базовые серверные фильтры при сборе контента.
Вебмастерам и специалистам по арбитражу трафика особенно важен пятый пункт. Подмена user agent дает возможность тестировать воронки и обходить региональные блокировки, не раскрывая реальные данные.
User Agent в robots.txt
Директива User-agent в файле robots.txt указывает поисковым ботам правила обхода сайта.
Обычно вебмастера настраивают правила для следующих краулеров:
- YandexBot.
- Googlebot.
- Bingbot (основной робот Microsoft).
Чтобы задать общие инструкции для всех ботов сразу, используется символ звездочки (*).
Далее мы рассмотрим всех юзер агентов «Яндекса» и Google.
| «Яндекс» | |
|---|---|
|
YandexBot — базовый поисковый робот, предназначенный для индексации сайта |
Googlebot — базовый поисковый робот, предназначенный для индексации страниц и их проверки на адаптивность под мобильные устройства |
|
YandexImages — робот-индексатор изображений |
Googlebot-Image — робот-индексатор изображений |
|
YandexMobileBot — робот-сборщик страниц для контроля адаптивности под мобильные устройства |
AdsBot-Google-Mobile — анализ рекламы и оценка ее качества на страницах, которые оптимизированы под mobile |
|
YandexDirect — робот-сканер данных о контенте сайтов-партнеров РСЯ |
AdsBot-Google-Mobile-Apps — анализ рекламы в мобильных приложениях и оценка ее качества |
|
YandexMarket — робот маркетплейса «Яндекс.Маркет» |
Mediapartners-Google — веб-паук маркетинговой сети Google AdSense |
|
YandexCalendar — краулер «Яндекс.Календаря» |
APIs-Google — User-Agent пользователя APIs-Google, который проверяет push-уведомления. |
|
YandexNews — робот-индексатор «Яндекс.Новостей» |
Googlebot-News — сканер страниц с новостями и добавление их в Google Новости |
|
YandexVideoParser — робот сервиса «Яндекс.Видео» |
Googlebot-Video — индексация видеоконтента на страницах. |
|
YandexPagechecker — робот-визуализатор микроразметки контента |
AdsBot-Google — анализ рекламы и оценка ее качества на страницах, которые оптимизированы под desktop |
|
YandexMedia — робот для индексации мультимедийных данных |
|
|
YandexScreenshotBot — съем скриншотов документов |
|
|
YandexDirectDyn — для создания динамических баннеров |
|
|
YandexAccessibilityBot — для скачивания документов и проверки их доступности для пользователей |
|
|
YaDirectFetcher — сбор рекламных страниц для анализа тематики и установления их доступности для аудитории |
|
|
YandexOntoDBAPI — краулер объектного ответа для скачивания изменяющихся данных |
|
|
YandexSearchShop — для скачивания файлов формата Yandex Market Language, относящихся к товарным категориям |
Примеры использования директивы User-agent в robots.txt
Разберемся, как выглядит и за что отвечает пользовательский агент в файле роботс.
|
Директива |
Что означает |
|
User-agent: * |
Для указания инструкции всем роботам всех поисковых систем одновременно |
|
User-agent: Yandex |
Для указания директив всем роботам «Яндекса» |
|
User-agent: YandexImages |
Для указания директив только роботу-индексатору изображений «Яндекса» |
|
User-agent: Googlebot |
Для указания директив основному роботу-индексатору Google |
Пример использования нескольких User-agent в robots.txt
User-agent: Yandex
Disallow: /search
User-agent: Googlebot
Disallow: /search
User-agent: *
Allow: /search
Важно: не оставляйте пустых строк между «User-agent» и его директивами «Allow/Disallow» в одной группе — это может нарушить корректную обработку инструкций роботом.
В примере показана базовая настройка. Для каждого юзерагента можно задать свой уникальный набор разрешающих и запрещающих правил.
Если нужно ограничить частоту обхода для Яндекса, используйте директиву Crawl-delay:
# Пример задержки обхода для Яндекса
User-agent: Yandex
Crawl-delay: 2
Значение указывается в секундах. Перед применением проверьте актуальную поддержку директивы конкретным роботом — интерпретация может отличаться в зависимости от поисковой системы.
Виды программ, использующих User agent
Любое устройство с доступом в сеть (ПК, Mac, смартфон) генерирует свой заголовок. Итоговое значение user agent зависит от установленного программного обеспечения.
- Браузеры. Популярные десктопные и мобильные клиенты: Google Chrome, Opera, Firefox, Safari.
- Поисковые боты. Краулеры Яндекса, Google, Bing, сканирующие интернет-ресурсы.
- Консоли. PlayStation или Xbox при запуске встроенного веб-обозревателя.
- SEO-инструменты. Парсеры и сервисы мониторинга ссылок передают свой технический user агент.
- Электронные книги. Ридеры с модулем Wi-Fi отправляют запросы при загрузке текста или обновлении прошивки.
Как определить User Agent
Детальную информацию о запросах к сайту фиксируют серверные логи. Активировать запись журналов доступа (access.log) нужно в панели управления хостингом.
Например, при настройке логов на виртуальном сервере алгоритм выглядит так:
Журналы сохраняются в корневой директории рядом с public_html. Файлы ротируются ежесуточно. Важный плюс: логи часто не расходуют дисковое пространство, выделенное под хостинг.
Для удобного чтения данных рекомендую развернуть анализатор логов, например, AWStats.
Через консоль браузера (быстро)
Если серверные логи недоступны или нужно проверить значение прямо сейчас — воспользуйтесь консолью DevTools. Это займет несколько секунд.
- Откройте DevTools (F12) → вкладка Console.
- Вставьте и выполните:
console.log(navigator.userAgent); // классический UA console.log(navigator.userAgentData?.platform); // UA-CH: платформа (при поддержке) console.log(navigator.userAgentData?.brands); // UA-CH: бренд и версия браузера - Скопируйте нужные значения из вывода консоли.
Свойство navigator.userAgentData поддерживается не во всех браузерах — если значение undefined, используйте классический navigator.userAgent.
Для глубокого анализа параметров рекомендую использовать базу данных browscap.org. Это объемный бесплатный справочник, где можно проверить любой юзерагент.
Как использовать User Agent
Рассмотрим процесс подмены user agent на примере Яндекс Браузера.
- Откройте меню настроек (значок с тремя полосками в правом верхнем углу):
- Перейдите в каталог расширений (ссылка находится в левом нижнем углу):
- Введите название плагина в строку поиска:
- Оптимальный инструмент для задачи — User-Agent Switcher:
- Нажмите кнопку установки:
- Подтвердите добавление компонента в систему:
- На панели инструментов появится иконка быстрого доступа:
Плагин agent switcher помогает в пару кликов менять user agent, эмулируя различные версии браузеров и операционных систем.
Алгоритм работы:
- Кликните по иконке расширения.
- Выберите из списка нужный браузер и ОС.
- Укажите конкретную версию (version) платформы.
- Нажмите «Apply» для применения настроек.
Инструмент содержит готовый список: можно выбрать старый Internet Explorer, актуальный Chrome, Opera, Edge или Safari. Доступна эмуляция мобильных (mobile) и десктопных устройств на базе Windows, Linux, Mac OS, Android и iOS.
Смена user agent применяется для тестирования верстки. Веб-разработчики используют этот метод, чтобы проверить совместимость дизайна и скриптов (javascript) на разных устройствах без покупки реальных гаджетов.
Зачем менять User-Agent
Специалисты подменяют user agent, чтобы проверить корректность отработки SEO-директив сервером при визите поискового бота.
Разные движки специфически рендерят код. Если в Microsoft Edge принудительно установить юзерагент от Firefox, некоторые визуальные элементы могут сломаться. Это нормальное поведение при тестировании.
Практический совет: после завершения технического аудита или тестирования верстки всегда возвращайте настройки браузера к значениям по умолчанию.
Категорически запрещено использовать подмену UA для клоакинга — показа разного контента ботам и реальным людям. Подобная манипуляция выдачей быстро вычисляется поисковыми системами и гарантированно приводит к бану сайта.
Как изменить User Agent в браузерах
Существует нативный способ изменить user agent без установки сторонних расширений. Он работает во всех браузерах на движке Chromium (Google Chrome, Microsoft Edge, Opera, Яндекс Браузер).
Нажмите F12, чтобы открыть панель разработчика (DevTools):
- В правом верхнем углу панели кликните на три точки (Customize and control DevTools), перейдите в меню More tools и выберите Network conditions:
- В появившейся нижней панели найдите блок User agent и снимите чекбокс «Use browser default»:
- В выпадающем списке выберите нужный user agent (например, мобильный Safari или Googlebot).
Процесс настройки для Mozilla Firefox немного отличается. Подробная инструкция представлена в видео:
Приватность и будущее: User-Agent Client Hints (UA-CH)
В рамках инициативы UA Reduction современные браузеры постепенно сокращают детализацию классической строки. Вместо передачи избыточного массива данных сервер запрашивает только необходимую информацию через механизм Client Hints.
Сервер → ответ клиенту:
Accept-CH: Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform
Клиент → следующие запросы:
Sec-CH-UA: "Chromium";v="124", "Not.A/Brand";v="99"
Sec-CH-UA-Mobile: ?0
Sec-CH-UA-Platform: "Windows"
Посмотреть классический UA и данные UA-CH можно прямо в консоли браузера:
/* Как посмотреть в браузере */
console.log(navigator.userAgent); // классический UA
console.log(navigator.userAgentData?.platform); // UA-CH: платформа
console.log(navigator.userAgentData?.brands); // UA-CH: бренд и версия
Рекомендация: не используйте UA-сниффинг как единственный метод определения клиента. Внедряйте поддержку UA-CH и feature detection — это современный стандарт безопасности. Классический заголовок стоит использовать только для поддержки устаревших систем.
Коротко о главном
- User-Agent — базовый HTTP-заголовок в запросе клиента. Содержит технические данные о браузере, ОС и типе устройства.
- В SEO юзерагент применяется для настройки правил сканирования в файле robots.txt.
- Идентификатор передают любые сетевые устройства: от смартфонов до игровых консолей. Это необходимо для веб-аналитики, адаптивного дизайна и защиты от ботов.
- Изменить user agent можно через консоль разработчика (F12) или с помощью плагинов (например, User-Agent Switcher).
- Актуальный список всех существующих строк собран в бесплатной базе browscap.org.
- Будущее технологии — за стандартом UA-CH, который повышает приватность пользователя, передавая серверу только запрошенные параметры.


Комментарии (2)
Оставить комментарий