AWStats — это инструмент анализа серверных логов, встроенный в cPanel. В отличие от Google Analytics, AWStats не требует JS на странице и видит всех посетителей, включая ботов и тех, кто блокирует трекеры, потому что читает не поведение браузера, а необработанный access_log веб-сервера.
Открыть AWStats
cPanel → Metrics → AWStats → выберите домен → View. Отчёт формируется не мгновенно: обновление данных происходит раз в сутки по крону сервера, поэтому статистика за сегодня может отставать на несколько часов. Исходные access_log-файлы на большинстве тарифов хранятся 12 месяцев, а уже посчитанные отчёты AWStats остаются доступны даже после того, как сырые логи будут удалены по ротации — данные архивируются помесячно в отдельные файлы статистики.
Что показывает AWStats
| Метрика | Описание |
|---|---|
| Unique Visitors | Уникальные IP за период |
| Visits | Визиты (сессии) |
| Pages | Просмотры страниц (HTML) |
| Hits | Все HTTP-запросы (включая картинки) |
| Bandwidth | Объём переданных данных |
Разница между Pages и Hits обычно составляет 10–30 раз: одна HTML-страница интернет-магазина тянет за собой десятки картинок товаров, файлы CSS, шрифты и скрипты, и каждый такой запрос AWStats тоже засчитывает как Hit. Если после оптимизации изображений число Hits резко упало, а Pages осталось прежним — это хороший знак, значит браузеры стали чаще брать ресурсы из кэша вместо повторной загрузки с сервера.
Полезные разделы AWStats
- Countries — откуда приходят посетители
- Referrers — с каких сайтов переходят
- Search Keyphrases — поисковые запросы (частично)
- Robots/Spiders — активность ботов
- 404 Errors — несуществующие страницы
Раздел Search Keyphrases почти пуст на современных сайтах — с 2013 года Google и другие поисковики передают поисковый запрос в реферере только в редких случаях, поэтому AWStats видит лишь единичные фразы вместо полной картины. Для полноценного анализа запросов, по которым сайт находят в поиске, нужна Google Search Console, а не серверные логи.
Типичная проблема: трафик за Cloudflare или другим CDN
Если сайт подключён к Cloudflare, реальный IP посетителя до сервера не доходит — в access_log вместо него попадает IP edge-узла Cloudflare. Строка лога выглядит примерно так:
104.23.98.12 - - [24/Sep/2026:10:12:03 +0000] "GET /catalog/ HTTP/1.1" 200 4821
"https://example.com/" "Mozilla/5.0 ..."
В результате AWStats показывает раздел Countries почти целиком как один регион дата-центра Cloudflare, а Unique Visitors резко занижается — тысячи разных людей схлопываются в десяток IP-адресов edge-серверов. Решение — включить модуль mod_remoteip или аналогичную опцию восстановления реального IP в настройках CDN, тогда в лог попадёт заголовок CF-Connecting-IP, а не адрес прокси. На практике это выглядит так: до включения модуля отчёт Countries показывает 90% визитов из США просто потому, что там стоит ближайший к вашему серверу edge-дата-центр Cloudflare, а после исправления распределение стран внезапно совпадает с реальной географией аудитории сайта.
AWStats vs Google Analytics
| Критерий | AWStats | Google Analytics |
|---|---|---|
| Источник данных | Серверные логи | JavaScript трекер |
| Боты | Видит | Не видит |
| AdBlock | Видит | Не видит |
| Детализация | Базовая | Глубокая |
| Реальное время | Нет (раз в сутки) | Да |
Цифры AWStats почти всегда выше Google Analytics — AWStats считает ботов и crawler'ов как полноценные визиты. Для анализа реального поведения живых людей нужен GA4, а AWStats лучше использовать как быструю проверку «сайт вообще кто-то открывает» без настройки счётчика. Хороший рабочий подход — держать оба инструмента параллельно: GA4 для маркетинга и воронок продаж, AWStats как независимый источник, который продолжит писать статистику даже если разработчик случайно удалит код счётчика Google со страницы при очередном обновлении темы.
Когда AWStats не подходит
- Одностраничные приложения (SPA) — переходы между экранами происходят через JavaScript-роутер без новых HTTP-запросов, и AWStats видит только один запрос на загрузку index.html
- Нужны цели и конверсии (заказы, регистрации) — AWStats считает только факт запроса страницы, а не бизнес-событие
- Нужна сегментация аудитории по устройствам, возрасту, источникам рекламы — таких срезов в серверных логах просто нет
- Требуется фильтрация собственного тестового трафика — AWStats не умеет исключать IP-адреса разработчиков динамически, только через ручную переконфигурацию
Проверка результата
# Сравнить число запросов к главной странице за сегодня напрямую по логу
grep "$(date +%d/%b/%Y)" /home/user/access-logs/example.com | grep -c "GET / HTTP"
Если число из grep заметно ближе к реальности, чем то, что показывает AWStats за тот же день, — скорее всего, отчёт AWStats ещё не обновился по крону, а не сломан. Подробнее о том, как считать хиты по логам вручную и искать в них ошибки 500 — в статье логи ошибок в cPanel.