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
Requirements
- RainLab.Blog plugin
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
The following plugin is required
The following theme uses this plugin
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]; });
Settings
Choose the method to prevent user visits doubletracking between Cookie and Session.
-
Daniel
Found the plugin useful on 15 Apr, 2020
A very useful addition to the blog!
-
Thái Văn Luật
Found the plugin useful on 5 Aug, 2019
Great support from Art Gek This plugin works great with blog plugin
-
Abdulsalam
Found the plugin useful on 22 Jan, 2017
Display views in the news list. How to make?
-
Art 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
-
bzero
Found the plugin useful on 2 Dec, 2016
lightweight plugin, work perfectly!
-
Kevin Vermeulen
Found the plugin useful on 29 Nov, 2016
Great Plugin and good support from Art Gek!
-
1.0.14 |
Fix: bot detection if no HTTP_USER_AGENT is present in request Apr 15, 2020 |
---|---|
1.0.13 |
Both Cookie and Session methods available to prevent doubletracking Jan 28, 2020 |
1.0.12 |
blogviews.before.track added with trackPrevent and trackBot options. Jan 13, 2020 |
1.0.11 |
Don't count web crawler bots visits. Jan 13, 2020 |
1.0.10 |
Fix bug when post is not found. Jan 13, 2020 |
1.0.9 |
Get url parameters directly from Controller instance without component. Using Cookie instead of Session Jul 19, 2019 |
1.0.8 |
Fixed error using blogviews with sitemap: check if Controller instantiated before extend Mar 12, 2019 |
1.0.7 |
Dynamic category slug url parameter. Only published posts in Popular component Jul 30, 2017 |
1.0.6 |
Ability to choose blog category for Popular posts Jul 27, 2017 |
1.0.5 |
Add support for whatever slug url name parameter like {{ :slug_some_custom_url_parameter }} Feb 15, 2017 |
1.0.4 |
Default value to 0 in getViewsAttribute (thanks to hambern) Jan 14, 2017 |
1.0.3 |
Improve the translation. Add MIT license. Pull request by gergo85 Nov 30, 2016 |
1.0.2 |
Added 'views' dynamic property to Post model Nov 28, 2016 |
1.0.1 |
Limit and link params fixed Mar 27, 2016 |
1.0.0 |
First version of BlogViews Jan 28, 2016 |