Данные переходов по страницам
Просмотры, визиты и средняя длительность нахождения на страницах сайта за выбранный период. Данные читаются из подключённого источника статистики.
Просмотры страниц
—
Визиты
—
Среднее время на странице
—
Страниц за визит
—
| Страница | Просмотры | Визиты | Ср. время | Доля времени | Последний переход |
|---|
Блок не придумывает цифры: он читает JSON-выгрузку вашей аналитики. Пока источник не задан, в таблице показаны демонстрационные значения и реальные адреса страниц сайта.
Шаг 1
В свойствах блока заполните data-stats-endpoint — адрес, который отдаёт статистику в JSON. Блок сам добавит параметр периода: ?period=30.
Шаг 2
Вставьте счётчик из примера в общий HTML-код сайта. Он измеряет видимое время на каждой странице и отправляет его на ваш сервер — это и есть реальная длительность нахождения.
Шаг 3
Эндпоинт возвращает массив страниц с просмотрами, визитами и средним временем, а также ряд по дням для графика. Подойдёт свой сервер, Google Sheets, n8n или вебхук.
{
"generatedAt": "2024-05-20T09:30:00Z",
"totals": { "visitors": 5120, "avgDuration": 154 },
"pages": [
{
"path": "/services",
"title": "Услуги",
"views": 1240,
"visitors": 830,
"avgDuration": 96,
"lastVisit": "2024-05-20T09:12:00Z"
}
],
"timeline": [
{ "date": "2024-05-19", "views": 318 },
{ "date": "2024-05-20", "views": 402 }
]
} <script>
(function () {
var endpoint = "https://example.com/api/stats"; // ваш адрес для приёма данных
var seconds = 0, timer = null;
function start() {
if (!timer) { timer = setInterval(function () { seconds++; }, 1000); }
}
function stop() {
if (timer) { clearInterval(timer); timer = null; }
}
if (document.hidden) { stop(); } else { start(); }
document.addEventListener("visibilitychange", function () {
if (document.hidden) { stop(); } else { start(); }
});
window.addEventListener("pagehide", function () {
var payload = JSON.stringify({
path: location.pathname,
title: document.title,
duration: seconds,
ts: Date.now()
});
if (navigator.sendBeacon) { navigator.sendBeacon(endpoint, payload); }
});
})();
</script> Дополнительно можно указать data-collector-endpoint — тогда сам блок на этой странице тоже будет отправлять замер времени при уходе со страницы.