Skip to content
Yii2 Multi Web Statistic Module (yametrika, google-analytic, own db-counter)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore first commit Apr 12, 2018
LICENSE
README.md
composer.json

README.md

Yii2 Multi Web Statistic Module Packagist Version Total Downloads Software License

NOTE: Module is in initial development. Anything may change at any time. На данный момент текущая рабочая версия v0.2 - есть только счетчики яндекса и google и собственный счетчик в DB

Модуль статистики и аналитики для вашего сайта. Много систем на ваш выбор, подключаются либо в конфиге модуля либо в админке:

  • Яндекс-Метрика
  • Google Analytics
  • Liveinternet
  • TopMail
  • Bigmir (для украинской аудитории)
  • Alexa
  • Hotlog
  • Rambler
  • Openstat
  • и даже на выбор собственная система для отслеживания посетителей по их IP-адресам и cookie.

NOTE: Используются самые свежие версии кода счетчика (yandex-metrika2, gtag.js).

Для разработки модуля Yii2 Stat были использованы наработки данных модулей:

Иногда не все посещения сайта фиксируются счетчиками Яндекса или Google. Чтобы посещение точно было засчитано (а это очень важно для отслеживания рекламных источников), используют серверные логи или в нашем случае можно использовать минимально рабочий счетчик на PHP.

Features

  • вы можете использовать внешние сервисы на свой вкус, выбор простым конфигурированием модуля
  • есть собственная простая система сбора статистики
  • данные хранятся в отдельной таблице базы данных или на ваше усмотрение (Redis, etc)
  • статистика формируется на основе уникальных IP адресов посетителей сайта/приложения и Cookie
  • можно посмотреть страну, город, какой браузер и расширение, referer
  • источник перехода (inner, search, direct, ads (from UTM-tags), unknown)
  • отсеивание поисковых ботов (11шт)
  • есть возможность добавления IP, которые не нужны в статистике в черный спискок
  • удобная фильтрация вывода результатов статистики (за день, период, по определенному IP)

Какая информация выводится по каждому отдельному посетителю:

  • его уникальный IP адрес с возможностью получения информации о его местонахождении
  • URL просматриваемой страницы и количество переходов
  • время посещения определенной страницы

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist akiraz2/yii2-stat "dev-master"

or add

"akiraz2/yii2-stat": "dev-master"

to the require section of your composer.json file.

Migration

Migration run

yii migrate --migrationPath=@akiraz2/stat/migrations

Config

Config common modules in common/config/main.php

    'modules' => [
        'stat' => [
            'class' => akiraz2\stat\Module::class,
            'yandexMetrika' => [ // false by default
               'id' => 13788753,
               'params' => [
                   'clickmap' => true,
                   'trackLinks' => true,
                   'accurateTrackBounce' => true,
                   'webvisor' => true
               ]
            ],
            'googleAnalytics' => [ // false by default
                'id' => 'UA-114443409-2',
            ],
            'ownStat' => true, //false by default
            'ownStatCookieId' => 'yii2_counter_id', // 'yii2_counter_id' default
            'onlyGuestUsers' => true, // true default
            'countBot' => false, // false default
            'appId' => ['app-frontend'], // by default count visits only from Frontend App (in backend app we dont need it)
            'blackIpList' => [] // ['127.0.0.1'] by default
            
            // размещаем нашу админ панель на backend с проверкой доступа или ролями (здесь используется dektrium/user)
            'controllerMap' => [
                'dashboard' => [
                    'class' => 'akiraz2\stat\controllers\DashboardController',
                    'as access' => [
                        'class' => \yii\filters\AccessControl::class,
                        'rules' => [
                            [
                                'allow' => true,
                                'roles' => ['@'],
                                'matchCallback' => function () {
                                    return Yii::$app->user->identity->getIsAdmin();
                                },
                            ],
                        ],
                    ],
                ],
            ],
        ],
     ],    

Usage

// переработать

Для перехода на страницу статистики

Development

Please translate to your language! Edit config @vendor/akiraz2/yii2-stat/src/messages/config.php, add your language and run script:

php ./yii message/extract @akiraz2/stat/messages/config.php

translate file will be in @vendor/akiraz2/yii2-stat/src/messages/ or your configured path

Support

If you have any questions or problems with Yii2-Stat you can ask them directly by using following email address: akiraz@bk.ru.

Contributing

If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome. +PSR-2 style coding.

I can apply patch, PR in 2-3 days! If not, please write me akiraz@bk.ru

Licensing

Yii2-Stat is released under the MIT License. See the bundled LICENSE.md for details.

You can’t perform that action at this time.