О компоненте
Stats3x - статистика посещений сайта на MODX 3 без внешних сервисов: посетители, визиты, просмотры страниц, источники, устройства, география, действия посетителей и цели. По желанию - запись действий посетителей с просмотром как видео, карта кликов и отчёты на почту через компонент Вестник. Все данные хранятся на вашем сервере, чужие скрипты на страницы не подключаются.
Как это работает
- Сниппет Stats3x подключает на странице файл st3x.js (около 3 КБ в gzip). Скрипт отправляет данные о просмотре через navigator.sendBeacon и не задерживает загрузку страницы.
- Файл action.php принимает запрос без загрузки MODX и без обращения к базе: дописывает одну строку в файл текущей минуты в папке данных и отвечает кодом 204.
- Раз в минуту cron.php разбирает файлы за прошедшие минуты: отбрасывает ботов и исключённые IP, определяет посетителя, визит, устройство, страну и источник, засчитывает цели и записывает данные в базу.
- Раз в час cron пересчитывает итоги по дням, раз в сутки удаляет подробные данные старше stats3x.keep_details_days дней. Итоги по дням хранятся всегда.
- Если включена запись действий, скрипт записи rec.js загружается только для визитов из выборки и по частям отправляет запись в action.php. Раз в 5 минут cron собирает из частей готовые записи.
- Отчёты в менеджере читают только уже обработанные данные: сегодняшний день - из подробных таблиц, прошлые дни - из итогов по дням.
Откуда берутся цифры
- Период выбирается кнопками над отчётами: сегодня, вчера, 7 дней, 30 дней, этот или прошлый месяц, свои даты. Кнопка-воронка у строки таблицы добавляет отбор: все вкладки, список визитов и записи показывают только подходящие визиты. Отбор виден над отчётами, там же он снимается.
- Прошлые дни - из итогов по дням (раз в час их пересчитывает cron), сегодня - из подробных данных, с задержкой до минуты.
- Отбор считается по подробным данным, поэтому работает за последние stats3x.keep_details_days дней.
- Посетители в разбивках за несколько дней - сумма посетителей по дням: кто заходил в два разных дня, посчитан дважды. В главных цифрах «Сводки» число посетителей точное.
- Отказ - визит из одного просмотра короче 15 секунд. Изменения в «Сводке» - по сравнению с прошлым периодом той же длины.
- Сайт с поддоменами: у каждого визита запоминается домен страницы входа (без www.). Если визиты были на нескольких доменах, в «Сводке» появляется таблица «Домены», а в списках визитов и записей - колонка «Домен»; кнопка-воронка у домена оставляет во всех отчётах, визитах и записях только его.