Добро пожаловать на сайт SEDBY

Добавляем счетчик посещений для разделов страниц

Популярные запросы: тема Omnis, плагин Pagelist, Cotonti 0.9.25, ЧПУ, Font Face

  • 3 просмотра
  • 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

В преимуществах 

Комментарии:
Комментарии отсутствуют

Новый комментарий

Ваш комментарий будет доступен для редактирования 10 минут
Блок пользователя
Регистрация на нашем сайте позволит вам общаться на форумах и получить доступ к другому полезному функционалу
Вы вошли как Гость