yii2-statistics
Пакет для вывода статистики посетителей по их IP адресам для сайта/приложения на Yii-2.
Особенности и преимущества данного пакета:
- Пакет не использует внешние сервисы, данные хранятся в отдельной таблице базы данных.
- Статистика формируется на основе уникальных IP адресов посетителей сайта/приложения.
- Используется функция для отсеивания из данных статистики поисковых ботов.
- Есть возможность добавления IP, которые не нужны в статистике в черный спискок.
- Удобная фильтрация вывода результатов статистики (за день, период, по-определенному IP).
Какая информация выводится по каждому отдельному посетителю:
- Его уникальный IP адрес с возможностью получения информации о его местонахождении.
- URL просматриваемой страницы и количество переходов.
- Время посещения определенной страницы.
Установка
- Установка пакета с помощью Composer.
composer require klisl/yii2-statistics
- Выполнить миграцию для создания нужной таблицы в базе данных (консоль):
yii migrate --migrationPath=@Klisl/Statistics/migrations --interactive=0
- Если необходимо – переопределить настройки пакета в файле common/config/params.php (advanced) или config/params.php (basic):
<?php
return [
'statistics' => [
'days_default' => 3, //кол-во дней для вывода статистики по-умолчанию (сегодня/вчера/...)
'password' => 'klisl', //пароль для входа на страницу статистики. Если false (без кавычек) - вход без пароля
'authentication' => false, //если true, то статистика доступна только аутентифицированным пользователям
'auth_route' => 'site/login', //контроллер/действие для страницы аутентификации (по-умолчанию 'site/login')
'date_old' => 90 //удалять данные через х дней
]
…
для этого вставить массив 'statistics' с нужными вложенными элементами. Для включения опции "authentication" должна быть реализована аутентификация пользователей.
Использование
- Разместить (переопределить метод behaviors) в контроллерах ответственных за вывод страниц по которым нужно собирать статистику:
public function behaviors()
{
return [
'statistics' => [
'class' => \Klisl\Statistics\AddStatistics::class,
'actions' => ['index', 'contact'],
],
…
где в качестве значений массива с ключем 'actions' указать нужные действия контроллера.
В качестве альтернативы можно (не переопределяя метод behaviors) указать в каждом необходимом действии такой код:
$this->attachBehavior('statistics', [
'class' => \Klisl\Statistics\AddStatistics::class,
'actions' => [$this->action->id]
]);
- Для перехода на страницу статистики
- с включенным ЧПУ в настройках Вашего приложения: http://ВАШ_САЙТ.COM/statistics
- без ЧПУ: http://ВАШ_САЙТ.COM/web/index.php?r=statistics/stat/index
Откроется форма для входа на страницу с вводом пароля или страница аутентификации (в зависимости от настроек). После ввода правильных данных, откроется сама страница статистики с формами для фильтрации.
Пароль для входа, по-умолчанию: klisl
При тестировании на локальном компьютере, в статистику попадет IP 127.0.0.1. После начала использования пакета на хостинге, необходимо будет добавить свой IP в черный список, чтобы он не выводился в статистике.
Мой блог: klisl.com