Extension:HitCounters

From Linux Web Expert

MediaWiki extensions manual
HitCounters
Release status: stable
Implementation Database , Data extraction, MyWiki
Description Provide the page views functionality
Author(s) Mark A. Hershberger (MarkAHershbergertalk)
Latest version 0.4
MediaWiki >= 1.36.0
PHP 7.3.19+
Database changes Yes
Composer mediawiki/hit-counters
Tables hit_counter
hit_counter_extension
License GNU General Public License 3.0 or later
Download
  • $wgDisableCounters
  • $wgEnableAddPageId
  • $wgHitcounterUpdateFreq
  • $wgEnableAddTextLength
hitcounter-exempt
Quarterly downloads Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Public wikis using Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Translate the HitCounters extension if it is available at translatewiki.net
Vagrant role hitcounters
Issues Open tasks · Report a bug

The HitCounters extension displays the view count in the page footer and the most viewed pages on a special page called PopularPages. The extension provides page views statistics that were removed in MediaWiki 1.25 .

About

Benefits

This extension provides feedback in the form of audience measurement to editors. Knowing the rough size of one's audience as an editor allows editors to identify and improve popular articles. HitCounters' special page PopularPages also allows editors to focus on improving those articles with the highest traffic, and helps readers discover a project's most curated content.

HitCounters extension enables determining the wikiFactor, a rough measure of a wiki website's popularity.

HitCounters extension is minimally intrusive with respect to data security and privacy concerns. The extension handles metrics on the server side so aggregated data stays within the site's security boundary. The extension does not inject JavaScript to be executed by the client, and does not ask a client to download additional un-audited code from a third party, like GoogleAnalyticsMetrics.

The extension does not track users who visit a page. As such, there's no need for special handling of Do Not Track browser requests or Global Privacy Control settings. The extension also does not use third party services, like GoogleAnalyticsMetrics.

The extension does not have dependencies which can cause conflicts. Other extensions, like GoogleAnalyticsMetrics, can cause problems during a Composer update. Also see Phabricator P6481 .

Differences from core MediaWiki implementation

Before MediaWiki 1.25, the page views counting functionality was in core MediaWiki. This extension is based on that same code, but was deliberately done in a more lightweight way in order to speed up processing time. Many lines of superfluous code were removed. Also, the old MediaWiki core code did numerous database queries on every page hit; these have all been removed as well. This change may possibly lead to some inaccuracies in the data.

The core differences that wiki administrators need to know are:

  • The hit counts are stored in cache.
  • The visible hit count at the bottom of each page is updated only once per day. (Pages with hit count less than 100 are updated once per minute.)
  • If you refresh your browser on a wiki page, that hit is ignored.

What counts as view

According to tests conducted by several MediaWiki operators, a view is counted if a page is accessed normally (action=view), as well as action=render and when accessing a page revision.

A view is not counted with the other actions, such as action=raw, action=edit, and action=info.

Migration

If you are migrating from a version of MediaWiki 1.25 and earlier to a newer version, you must ensure to follow the advice and documentation outlined in this version of the documenation.

Installation

You can use composer to install this extension by running the following two commands in your MediaWiki directory:

  • <translate> [[<tvar name=2>Special:ExtensionDistributor/HitCounters</tvar>|Download]] and move the extracted <tvar name=name>HitCounters</tvar> folder to your <tvar name=ext>extensions/</tvar> directory.</translate>
    <translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/HitCounters
  • <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
    wfLoadExtension( 'HitCounters' );
    
  • <translate> Run the [[<tvar name=update>Special:MyLanguage/Manual:Update.php</tvar>|update script]] which will automatically create the necessary database tables that this extension needs.</translate>
  • Configure as required.
  • File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>


<translate> Vagrant installation:</translate>

  • <translate> If using <tvar name=vagrant>Vagrant </tvar>, install with <tvar name=code>vagrant roles enable hitcounters --provision</tvar></translate>

Configuration

  • $wgDisableCounters
    When set to true, it disables the notice in the pages footer saying "This page has been accessed 256 times." as well as the special page PopularPages. This configuration parameter was removed with MediaWiki 1.35.0.
  • $wgHitcounterUpdateFreq
    Sets how often page counters should be updated. Default value is 1.
  • $wgGroupPermissions['sysop']['hitcounter-exempt'] = true;
    Exclude user group page views from counting.

Fork

There is a fork of this extension that offers custom settings to the user:

See also