Блог разработчика 1С-Битрикс

CTraffic – класс для получения данных по посещаемости в Битриксе

Ниже приведена подробная статья о возможностях класса CTraffic модуля Веб-аналитика в 1С-Битрикс, который используется для получения обобщенных данных по посещаемости сайта. В статье вы найдете описание каждого метода, примеры кода и рекомендации по сбору данных за различные периоды времени.

CTraffic – класс для получения данных по посещаемости

Перед использованием модуля необходимо проверить установлен ли он и подключить его при помощи конструкции:


<?
if(CModule::IncludeModule("statistic"))
{  
	//здесь можно использовать функции и классы модуля
} 
?>

Что такое CTraffic

CTraffic – это класс в 1С-Битрикс, предназначенный для работы со статистикой посещаемости сайта. С его помощью можно получать сведения о количестве хитов, уникальных посетителей, поисковых фразах, ссылающихся сайтах и т.д. Класс позволяет не только собирать общую статистику, но и смотреть статистику за определенные временные промежутки.

Когда может понадобиться использование CTraffic

  1. Создание собственных отчетов по посещаемости.
  2. Анализ эффективности рекламных кампаний (источники, фразы, переходы).
  3. Отслеживание общей динамики трафика (по дням, месяцам, часам).
  4. Отображение метрик в собственном интерфейсе администратора или на внешнем портале.

Методы класса CTraffic

1. GetCommonValues

GetCommonValues возвращает основные статистические данные (хиты, хосты, сессии, посетители, события) за весь период ведения статистики, за последние 3 дня и за произвольный указанный интервал времени.

<?php
// Предположим, у нас есть начальная и конечная даты
$date1 = "2025-01-01";
$date2 = "2025-01-31";

// Подготовка параметров фильтра
$filter = [
    "DATE1" => $date1,
    "DATE2" => $date2,
];

// Получаем общие значения статистики
$commonValues = CTraffic::GetCommonValues($filter);

// Выводим результат
print_r($commonValues);
?>

2. GetDailyList

GetDailyList предназначен для получения основных статистических данных, а также данных по внимательности посетителей в разрезе по дням.

<?php
$date1 = "2025-02-01";
$date2 = "2025-02-10";

$filter = [
    "DATE1" => $date1,
    "DATE2" => $date2,
];

// Получаем список статистики по дням
$dailyList = CTraffic::GetDailyList($filter);

print_r($dailyList);
?>

3. GetPhraseList

GetPhraseList позволяет получить статистику по поисковым фразам за весь период, за последние 3 дня или за произвольный указанный интервал времени.

<?php
$date1 = "2025-01-01";
$date2 = "2025-02-01";

$filter = [
    "DATE1" => $date1,
    "DATE2" => $date2,
];

// Получаем статистику по поисковым фразам
$phraseList = CTraffic::GetPhraseList($filter);

print_r($phraseList);
?>

4. GetRefererList

GetRefererList возвращает статистику по ссылающимся сайтам за весь период, за последние 3 дня или за произвольный временной интервал.

<?php
$date1 = "2024-12-01";
$date2 = "2025-01-01";

$filter = [
    "DATE1" => $date1,
    "DATE2" => $date2,
];

// Получаем список ссылающихся сайтов
$refererList = CTraffic::GetRefererList($filter);

print_r($refererList);
?>

5. GetSumList

GetSumList возвращает основные статистические данные в разрезе по часам, дням недели и месяцам. Это удобный способ посмотреть, в какое время дня сайт посещают чаще всего, как распределяются переходы по дням недели и какие месяцы наиболее активны.

<?php
$filter = [
    // "DATE1" => "2025-01-01",
    // "DATE2" => "2025-01-31",
];

// Получаем сводные данные
$sumList = CTraffic::GetSumList($filter);

print_r($sumList);
?>

Сбор данных за различные периоды

Для указания произвольного временного интервала в большинстве методов используется массив фильтра, который может содержать ключи DATE1 и DATE2.

<?php
// Получаем дату "сегодня" и дату "7 дней назад"
$date2 = date("Y-m-d");
$date1 = date("Y-m-d", strtotime("-7 days"));

$filter = [
    "DATE1" => $date1,
    "DATE2" => $date2,
];

// Например, соберем общие значения:
$commonWeeklyValues = CTraffic::GetCommonValues($filter);
print_r($commonWeeklyValues);

// Или возьмем фразы за последние 7 дней:
$phraseWeeklyList = CTraffic::GetPhraseList($filter);
print_r($phraseWeeklyList);
?>

Заключение

Класс CTraffic предоставляет гибкую функциональность по сбору и анализу статистики посетителей в 1С-Битрикс. Благодаря возможности указывать произвольные интервалы времени, вы можете настроить собственные отчеты и следить за динамикой трафика. Использование методов GetCommonValues, GetDailyList, GetPhraseList, GetRefererList и GetSumList дает почти все основные метрики, необходимые для понимания поведения аудитории на сайте.

Если вам нужно получать расширенные данные или специфичные отчеты, вы можете комбинировать вызовы методов и дополнительно накладывать фильтры по рекламным кампаниям, геолокации или иным параметрам (при условии, что модуль веб-аналитики Bitrix собирает соответствующие данные).

Теги: CTraffic, статистика, посещаемость, хиты, хосты, сессии, поисковые фразы, рефереры, суммарная статистика


Валерий Макеев
10.09.2025 13:25
Этот код выводит сводную статистику посещаемости сайта (по часам, дням недели и месяцам) за полный предыдущий месяц, используя класс CTraffic и метод GetSumList.
Код
<?php
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

if (CModule::IncludeModule("statistic")) {
    $lastMonthStart = date("Y-m-01", strtotime("-1 month"));
    $lastMonthEnd = date("Y-m-t", strtotime("-1 month"));

    $filter = [
        "DATE1" => $lastMonthStart,
        "DATE2" => $lastMonthEnd,
    ];

    $monthlySummary = CTraffic::GetSumList($filter);

    // Получаем ЕДИНСТВЕННУЮ строку данных
    $data = $monthlySummary->Fetch();

    if ($data) {
        echo ":f09f938a: Статистика за прошлый месяц:\n\n";

        echo "⏰ По часам:\n";
        for ($h = 0; $h <= 23; $h++) {
            $field = "HOUR_HIT_" . $h;
            echo "  " . str_pad($h, 2, "0", STR_PAD_LEFT) . ":00 — " . intval($data[$field]) . " хитов\n";
        }

        echo "\n:f09f9385: По дням недели:\n";
        $days = ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"];
        for ($d = 0; $d <= 6; $d++) {
            $field = "WEEKDAY_HIT_" . $d;
            echo "  " . $days[$d] . " — " . intval($data[$field]) . " хитов\n";
        }

        echo "\n:f09f9386: По месяцам (в пределах периода):\n";
        for ($m = 1; $m <= 12; $m++) {
            $field = "MONTH_HIT_" . $m;
            if (!empty($data[$field])) {
                echo "  " . date("F", mktime(0, 0, 0, $m, 1)) . " — " . intval($data[$field]) . " хитов\n";
            }
        }
    } else {
        echo "Нет данных за указанный период.\n";
    }
}
?>

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Интернет-магазин на готовом решении

от 7 дней

от 40 000 рублей
запуск сайта в максимально короткие сроки

* указана минимальная стоимость. Стоимость выбранной лицензии «1С-Битрикс» оплачивается отдельно.

Разработка интернет-магазина с готовой версткой

от 4 недель

от 90 000 рублей

* указана минимальная стоимость. Стоимость выбранной лицензии «1С-Битрикс» оплачивается отдельно.

Лечение сайтов от вирусов

восстановление сайта и подъем версии PHP

от 25 000 рублей
Лечение сайтов на решениях АСПРО и прочих.

* полный комплекс лечения проекта и закрытия дыр