User-Agent (UA) — строка в HTTP-запросе, идентифицирующая клиента: программу или устройство, выполняющее запрос к серверу. Браузеры, поисковые боты, парсеры, мобильные приложения — все они сообщают серверу свой User-Agent, чтобы тот мог определить, с кем имеет дело, и при необходимости адаптировать ответ.
Пример User-Agent Google Chrome: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
User-Agent передаётся в HTTP-заголовке User-Agent: ... с каждым запросом. Сервер может анализировать эту строку и изменять поведение: отдавать мобильную версию для мобильных UA, блокировать нежелательных ботов, включать особые правила для поисковиков.
User-Agent поисковых ботов
- Googlebot:
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) - Googlebot Smartphone:
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) ... (compatible; Googlebot/2.1; +http://www.google.com/bot.html) - YandexBot:
Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) - Bingbot:
Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
User-Agent в robots.txt
Директива User-agent: в robots.txt указывает, для какого бота применяются последующие правила:
User-agent: * # Для всех ботов Disallow: /admin/ User-agent: Googlebot # Только для Googlebot Allow: / User-agent: AhrefsBot # Блокировка конкретного парсера Disallow: /
Клоакинг по User-Agent: запрещённая техника
Клоакинг — показ разного контента поисковому боту и реальному пользователю. Определение клоакинга по UA: сервер проверяет User-Agent и возвращает Googlebot оптимизированный HTML, а пользователю — другой контент. Это прямое нарушение правил Google и Яндекса, ведущее к ручным санкциям. Легальное использование UA: отдавать мобильную версию мобильным браузерам (определение по UA «Mobi» в строке) — это не клоакинг, а адаптивный контент.
Часто задаваемые вопросы
Как заблокировать нежелательных ботов через User-Agent?
Два способа: 1) robots.txt — указать User-agent: BotName + Disallow: /. Это «вежливая просьба» — добросовестные боты соблюдают, злоумышленники — нет. 2) На уровне сервера (nginx/Apache) — проверять заголовок User-Agent и возвращать 403 или 444. Это технически блокирует запросы. Боты, имитирующие Googlebot: проверяйте по IP через обратный DNS (host [IP] → googlebot.com) — настоящий Googlebot проходит эту проверку, самозванцы — нет.
Что такое «имитация Googlebot» и опасно ли это?
Злоумышленники и конкуренты иногда используют User-Agent Googlebot для обхода ограничений (если сайт настроен давать боту особый доступ). Реальный Googlebot можно проверить: его IP-адреса принадлежат диапазонам Google (66.249.x.x, 74.125.x.x). Обратный DNS реального Googlebot показывает домен googlebot.com. Если обратный DNS не показывает googlebot.com — это имитатор. Инструмент: host [IP-адрес запроса] в командной строке.
Можно ли показывать разный контент мобильным и десктопным пользователям по User-Agent?
Да, это легальная практика — динамическое обслуживание (Dynamic Serving). Сервер определяет тип устройства по UA и отдаёт соответствующую версию. Условие: контент должен быть одинаковым для обеих версий (не менее полным на мобильной). Если на мобильной версии контент скрыт или урезан — это проблема для Mobile-First индексации. Google рекомендует адаптивный дизайн на одном URL как предпочтительный вариант, но Dynamic Serving допустим при правильной настройке заголовка Vary: User-Agent.
Как проверить, каким User-Agent видит мой сайт Googlebot?
Google Search Console → Проверка URL → «Проверить URL в Google» → «Запросить индексирование». Кнопка «Просмотр проверенной страницы» показывает, что именно видит Googlebot: скриншот, HTML-код после рендеринга. Дополнительно: изменить User-Agent браузера на Googlebot через расширение User-Agent Switcher и посмотреть, как отвечает сервер. Если сервер показывает другой контент — проверьте, не является ли это клоакингом.