WebPageTest — не типичный «сервисный краулер», а широко известный, открытый (open-source) инструмент для детального waterfall-анализа загрузки страниц, которым пользуются разработчики и SEO-специалисты по всему миру. Проект сейчас поддерживается Catchpoint — той же компанией, чей мониторинговый бот уже фигурирует в этой энциклопедии как сосед по категории. В каталоге TrafficVeil WebPageTest отмечен как легитимный в категории «Прочие краулеры и сервисы».
Что такое webpagetest на самом деле
WebPageTest запускает тест по инициативе конкретного человека — разработчика или специалиста по производительности, который вводит URL для проверки. Инструмент замеряет время до первого байта (TTFB), Core Web Vitals (LCP, CLS и другие), строит «водопад» загрузки ресурсов, снимает видео и filmstrip загрузки страницы. Тесты можно запускать с разной скоростью соединения, на разных устройствах и из разных географических точек, что делает диагностику производительности особенно детальной.
Важная техническая деталь: в отличие от большинства ботов с уникальной строкой UA, WebPageTest на практике использует настоящие браузерные движки — Chrome, Firefox, Safari, включая мобильные версии, — просто добавляя к обычной браузерной строке суффикс PTST/[версия и дата]. Это значит, что искать в логах буквальное слово «webpagetest» может быть недостаточно: реальный отпечаток теста часто выглядит как полноценная строка браузера с добавленным PTST-тегом, а не как отдельно узнаваемый бот-токен.
| Параметр | Значение |
| Название | WebPageTest |
| User-Agent (токен/паттерн) | webpagetest (на практике чаще встречается как суффикс PTST/[timestamp] к обычной строке реального браузера) |
| Оператор | Open-source проект WebPageTest, сейчас поддерживается Catchpoint |
| Назначение | Детальный анализ производительности загрузки страницы (waterfall, Core Web Vitals, видео загрузки) по запросу конкретного пользователя инструмента |
| Список IP-адресов | ❌ Единого официального списка не публикуется; тесты могут запускаться с разных публичных и приватных инстансов сервиса |
| Соблюдение robots.txt | Носит рекомендательный (advisory) характер; поскольку инструмент фактически рендерит страницу как настоящий браузер, полагаться только на файл не стоит |
| Используется для обучения моделей | Нет — узкоспециализированный инструмент диагностики производительности |
| Категория TrafficVeil | Легитимный / Прочие краулеры и сервисы |
Как работает webpagetest
Идентифицируется в access.log по паттерну User-Agent webpagetest либо по суффиксу PTST/ в строке реального браузера. Поскольку тест инициирует конкретный человек для конкретного URL, поведение реактивное и разовое — в отличие от систематических краулеров, которые обходят сайт по расписанию. Один тест, впрочем, может загружать страницу целиком со всеми её ресурсами (изображения, скрипты, стили), поскольку именно полная загрузка нужна для точного waterfall-анализа.
Нагрузка на сервер
Легитимное использование включает бенчмаркинг производительности (TTFB, CLS, LCP), синтетический мониторинг по разным гео и устройствам в CI/CD-пайплайнах, анализ влияния сторонних скриптов, диагностику кэширования и CDN. При этом та же технология может быть использована недобросовестно: под видом «тестирования» инструмент способен собирать контент, разведывать эндпоинты, лимиты запросов и формы, а если тест запущен на закрытых или предпросмотровых URL — публично доступный отчёт с результатами теста может случайно раскрыть содержимое, не предназначенное для посторонних глаз. Признаки, на которые стоит обратить внимание:
- единичная, но полная загрузка страницы со всеми ресурсами — нормальное поведение одного теста;
- серийные повторные тесты одного и того же URL с разных локаций — типично для синтетического мониторинга в CI/CD, а не аномалия;
- искажение аналитики (просмотры, показатели вовлечённости, Core Web Vitals), если тестовые визиты не отфильтрованы;
- рост нагрузки на origin и расходов на исходящий трафик при частых или объёмных тестах.
Обнаружение в логах
# Все запросы
grep -i "webpagetest" /var/log/nginx/access.log
# Количество запросов за сегодня
grep -i "webpagetest" /var/log/nginx/access.log | grep "$(date '+%d/%b/%Y')" | wc -l
# Уникальные IP
grep -i "webpagetest" /var/log/nginx/access.log | awk '{print $1}' | sort -u
# Частота по дням
grep -i "webpagetest" /var/log/nginx/access.log | awk '{print $4}' | cut -d: -f1 | sort | uniq -c
# Дополнительно: искать по суффиксу PTST, который встречается чаще буквального имени
grep -i "PTST/" /var/log/nginx/access.log | wc -l
Верификация: User-Agent легко подделать. Для критичных решений дополнительно проверяйте IP/ASN, частоту, path-паттерны — и обязательно ищите суффикс PTST/, а не только слово «webpagetest», чтобы не пропустить реальный объём такого трафика:
IP="1.2.3.4" whois -h whois.cymru.com " -v $IP" dig +short -x "$IP"
robots.txt
# Полная блокировка User-agent: webpagetest Disallow: / # Точечное ограничение User-agent: webpagetest Disallow: /admin/ Disallow: /private/ Disallow: /wp-admin/ Allow: /public/
Учитывайте: правило в robots.txt здесь носит рекомендательный характер, а поскольку инструмент фактически загружается как настоящий браузер, а не как отдельно идентифицируемый бот, полагаться только на файл особенно рискованно. Для гарантированного контроля используйте серверные правила или TrafficVeil.
Управление на уровне сервера
Nginx
if ($http_user_agent ~* "webpagetest") {
return 403;
}
# Мягкий вариант — rate limit
limit_req_zone $binary_remote_addr zone=webpagetest:10m rate=15r/m;
location / {
if ($http_user_agent ~* "webpagetest") {
limit_req zone=webpagetest burst=30 nodelay;
}
}
Apache (.htaccess)
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} webpagetest [NC]
RewriteRule ^ - [F,L]
Через TrafficVeil
- откройте список известных ботов в панели домена или
/system/bots; - найдите webpagetest / WebPageTest;
- для стандартной ситуации (разовая диагностика производительности вашей же командой) — allow, это безопасный и полезный инструмент;
- если объём или частота выглядят подозрительно — rate-limit и дополнительная проверка IP/ASN;
- никогда не запускайте тесты производительности на закрытых или предпросмотровых URL, если отчёт может стать публично доступным.
Рекомендации по оптимизации
- Оценивайте пользу: разовая диагностика вашей же командой — allow; систематические, объёмные и непонятного происхождения тесты — повод присмотреться внимательнее;
- не блокируйте поисковые роботы Google/Yandex случайно, если рядом настраиваете широкие правила;
- сначала измерьте долю запросов бота в логах/аналитике TrafficVeil, потом принимайте решение;
- для всплесков чаще достаточно rate-limit вместо полного 403;
- отфильтруйте трафик с суффиксом PTST из веб-аналитики, чтобы тестовые визиты не искажали метрики Core Web Vitals и вовлечённости.
Сравнение с похожими ботами
| Бот | Кластер | User-Agent | Метка |
| 2ip Bot | Прочие краулеры и сервисы | 2ip bot | легитимный |
| AccessStatus | Прочие краулеры и сервисы | accessstatus | легитимный |
| AddThis.com | Прочие краулеры и сервисы | addthis.com | легитимный |
| Agent | Прочие краулеры и сервисы | agent | легитимный |
| AgentReadinessScanner | Прочие краулеры и сервисы | agentreadinessscanner | легитимный |
Стоит помнить, что WebPageTest сейчас поддерживается Catchpoint — компанией, чей собственный мониторинговый бот тоже встречается в этой категории под своим именем; это два разных продукта одной компании, и решение по ним стоит принимать независимо друг от друга.
Сводная таблица стратегии
| Цель сайта | Рекомендация |
| Стандартная ситуация — разовая диагностика производительности | Allow / разрешить в TrafficVeil |
| Подозрительно частые или объёмные тесты неизвестного происхождения | Rate-limit + проверка IP/ASN |
| Тестовый трафик искажает веб-аналитику | Отфильтровать по суффиксу PTST в инструментах аналитики |
| Бот не нужен и только грузит сервер | Disallow + запрет в TrafficVeil или 403 на nginx/Apache |