Product support

Get help in the plugin support forum.

  • Added on Feb 2, 2016
  • Current version: 1.0.14
  • Platform Compatibility
    v3.x not tested
    v2.x not tested
    v1.x use latest
  • Created by
  • Public repository


This extension to the RainLab.Blog plugin enables blog posts visits tracking and displaying most visited articles. Doesn't count web crawler bots visits.

3-rd party library for detecting using devices and bots is included with this plugin: https://github.com/matomo-org/device-detector. You can use all it's methods in your project after installing the BlogViews


You may like my other plugins

  • Vdomah.Octoshop Product Plus - Enreaches Octoshop products with your custom properties, adds filters and sorters to product list and adds product views tracking.
  • Vdomah.Roles - Allows to manage access rights based on roles hierarchy
  • Vdomah.Excel - excel import-export tools
  • Vdomah.JWT Auth API - Token Authentication for API integrated with RainLab.User

This plugin is an extension to the RainLab.Blog plugin. It enables blog posts views tracking and displaying popular articles.

Plugin counts one post view per session. Two components are available: Popular Posts and Views.

Popular Posts

The popularPosts component can be used to display a list of top viewed posts.

  • postsLimit - The max number of posts to show.
  • postPage - Reference to the page name for linking to posts.
  • noPostsMessage - Message to display when there are no posts.

You can listen to the following event to stop tracking a visit or to implement your custom logic filtering what to track. Via this event you can check incoming request using this library, which is included with this plugin already: https://github.com/matomo-org/device-detector

  • trackPrevent: if true - visit will not be tracked. Can be used with custom logic.
  • trackBot: if false - web crawler bot visit will not be tracked. By default bots are not tracked.
Event::listen('blogviews.before.track', function ($plugin, $component) {
    return ['trackPrevent' => true, 'trackBot' => false];


Choose the method to prevent user visits doubletracking between Cookie and Session.

  • Found the plugin useful on 15 Apr, 2020

    A very useful addition to the blog!

  • Found the plugin useful on 5 Aug, 2019

    Great support from Art Gek This plugin works great with blog plugin

  • Found the plugin useful on 22 Jan, 2017

    Display views in the news list. How to make?

  • author

    Replied on 22 Jan, 2017

    Depend what are 'news' in your case. If you talk about blog post you can simply do {{ post.views }}. If you talk about another plugin you can review this plugin's code and copy the aproach for another model class

  • Found the plugin useful on 2 Dec, 2016

    lightweight plugin, work perfectly!

  • Found the plugin useful on 29 Nov, 2016

    Great Plugin and good support from Art Gek!


Fix: bot detection if no HTTP_USER_AGENT is present in request

Apr 15, 2020


Both Cookie and Session methods available to prevent doubletracking

Jan 28, 2020


blogviews.before.track added with trackPrevent and trackBot options.

Jan 13, 2020


Don't count web crawler bots visits.

Jan 13, 2020


Fix bug when post is not found.

Jan 13, 2020


Get url parameters directly from Controller instance without component. Using Cookie instead of Session

Jul 19, 2019


Fixed error using blogviews with sitemap: check if Controller instantiated before extend

Mar 12, 2019


Dynamic category slug url parameter. Only published posts in Popular component

Jul 30, 2017


Ability to choose blog category for Popular posts

Jul 27, 2017


Add support for whatever slug url name parameter like {{ :slug_some_custom_url_parameter }}

Feb 15, 2017


Default value to 0 in getViewsAttribute (thanks to hambern)

Jan 14, 2017


Improve the translation. Add MIT license. Pull request by gergo85

Nov 30, 2016


Added 'views' dynamic property to Post model

Nov 28, 2016


Limit and link params fixed

Mar 27, 2016


First version of BlogViews

Jan 28, 2016