Statistic module

Installs: 31

Dependents: 1

Suggesters: 0

Stars: 3

Watchers: 4

Forks: 3

Open Issues: 0


1.1.8 2019-08-07 22:26 UTC


Yii2 Github all releases Progress GitHub license GitHub release

Yii2 Statistics Module

Statistics module for Yii2



To install the module, run the following command in the console:

$ composer require "wdmg/yii2-stats:dev-master"

After configure db connection, run the following command in the console:

$ php yii stats/init

And select the operation you want to perform:

  1. Apply all module migrations
  2. Revert all module migrations
  3. Update MaxMind GeoIP2 DB


In any case, you can execute the migration run the following command in the console:

$ php yii migrate --migrationPath=@vendor/wdmg/yii2-stats/migrations


To add a module to the project, add the following data in your configuration file:

'modules' => [
    'stats' => [
        'class' => 'wdmg\stats\Module',
        'collectStats' => true,
        'routePrefix' => 'admin',
        'storagePeriod' => 0,
        'ignoreDev' => true,
        'ignoreAjax' => true,
        'useChart' => true,
        'ignoreRoute' => ['/admin', '/admin/'],
        'ignoreListIp' => ['::1', ''],
        'ignoreListUA' => [],
        'cookieName' => 'yii2_stats',
        'cookieExpire' => 3110400,
        'advertisingSystems' => ["gclid", "yclid", "fbclid", ...],
        'socialNetworks' => ["facebook", "instagram", "twitter", ...],
        'searchEngines' => ["google", "yandex", "yahoo", ...],
        'clientPlatforms' => [
            '/windows nt 10/i' => [
                'title' => 'Windows 10',
                'icon' => 'icon-win-10-os'
        'clientBrowsers' => [
            '/msie/i' => [
                'title' => 'Internet Explorer',
                'icon' => 'icon-ie-browser'


Name Type Default Description
collectStats boolean true Collect statistics with this module?
routePrefix string 'admin' Route prefix to the module control panel.
storagePeriod integer 0 Days, how many to store statistics. 0 - infinity.
useChart boolean true Use charts when displaying statistics.
ignoreDev boolean true Ignore activity in development mode.
ignoreAjax boolean true Ignoring activity for Ajax requests.
ignoreRoute array ['/admin'] Ignoring the activity at the specified routing.
ignoreListIp array [''] Ignoring activity from specified IP addresses.
ignoreListUA array [...] Ignoring of activity at specified UserAgents.
cookieName string 'yii2_stats' The name of the cookie to store the visit ID.
cookieExpire integer 3110400 Cookie lifetime.
advertisingSystems array [...] List to detect the transition from advertising sites.
socialNetworks array [...] List for detecting transition from social networks.
searchEngines array [...] List for detecting the transition from search engines.
clientPlatforms array [...] List for detecting the client's OS.
clientBrowsers array [...] Client's Browser detection list.


Use the Module::dashboardNavItems() method of the module to generate a navigation items list for NavBar, like this:

    echo Nav::widget([
    'options' => ['class' => 'navbar-nav navbar-right'],
        'label' => 'Modules',
        'items' => [

Status and version [ready to use]

  • v.1.1.8 - Bugfix update GeoIP2 from console for non Unix platforms
  • v.1.1.7 - Added extra options to composer.json and navbar menu icon
  • v.1.1.6 - Added choice param for non interactive mode

Copyright and License

This product also includes GeoLite2 data created by MaxMind, available from https://www.maxmind.com