Добавляем счетчик посещений для разделов страниц
Популярные запросы: тема Omnis, плагин Pagelist, Cotonti 0.9.25, ЧПУ, Font Face
- 5 просмотров
- 15 ноября, 2025
- Обновлено: 15 ноября, 2025
- admin
- Время чтения: 3 минуты
Сразу оговоримся: счетчик посещений CMS Cotonti Siena (равно как и любой другой системы управления контентом сайта) – вещь не особенно точная и совершенно не информативная. Тем не менее, в качестве относительного источника референсной статистики она работает, и работает неплохо.
Если брать измерения за единый период, мы легко увидим, какой филиал или карточка товара посещается чаще других. При этом можно не только анализировать, но и использовать эти данные. Например, сформировать виджет популярных товаров или продвигать менее посещаемые страницы филиалов.
Однако, не страницами едиными жив сайт. Разделы с точки зрения поисковой оптимизации и продвижения гораздо более важны. Мы говорим здесь и о каталогах интернет-магазина и о тематических разделах блога, которые важнее отдельных карточек товаров или постов. Так что собирать статистику их посещений все же стоит.
Как Cotonti Siena считает посещения
Сбор статистики движок начинает с установки плагина Hits. Без него посещения фиксироваться не будут, и в этом есть своя логика: кому-то это надо, а кто-то установит более привычные Google Analytics и Яндекс Метрику и не будет использовать явно избыточный встроенный функционал.
При установке плагин Hits отрабатывает следующие SQL-запросы:
CREATE TABLE IF NOT EXISTS `cot_stats` (
`stat_name` varchar(32) NOT NULL,
`stat_value` int UNSIGNED NOT NULL default 0,
PRIMARY KEY (`stat_name`)
);
INSERT IGNORE INTO `cot_stats` (`stat_name`, `stat_value`) VALUES
('totalpages', 0),
('maxusers', 0),
('totalmailsent', 0),
('totalmailpmnot', 0),
('totalpms', 0),
('totalantihammer', 0);
Как видим, создается таблица cot_stats с предельно простой структурой, в которой каждая запись с уникальным полем stat_name представляет собой элемент статистики. Например, по умолчанию в таблице создается запись totalpages, в которой хранится общее количество страниц сайта или totalpms с общим количеством отправленных личных сообщений.
Вместе с этим, плагин Hits предоставляет разработчику набор простых функций для работы со статистикой:
- cot_stat_create()
- cot_stat_get()
- cot_stat_inc()
- cot_stat_update()
- cot_stat_set()
Функция cot_stat_set() является «оболочкой» для cot_stat_update() с явно указанным параметра $createIfNotExists.
Однако есть еще один подход – использование специально выделенного для статистики посещений экстраполя. Модуль Page работает именно так:
Cot::$db->query( 'UPDATE ' . Cot::$db->pages . ' SET page_count = page_count + 1 WHERE page_id = ?', $id );
Как видим, оба подхода вполне просты и реализуемы для любых других элементов контента. Варинт с API плагина Hits прост и не требует использования экстраполя, поскольку записи в таблице cot_stats создаются автоматически. Вариант с экстраполем, использованный в модуле Page, чуть более сложен, поскольку учитывает статический кэш для страниц.
Считаем посещения разделов Cotonti
Прежде всего, все же решим, какой из подходов оптимальнее: таблица cot_stats или экстраполе structure_hits.
Запись статистики в таблицу cot_stats
В преимуществах
Новый комментарий
Ошибка
Выполнено