Extension:Matomo
Matomo Release status: stable |
|
---|---|
Implementation | User activity |
Description | Inserts Matomo script into pages for tracking |
Author(s) | |
Latest version | 5.0.0 (2023-10-27) |
MediaWiki | 1.34+ |
PHP | 7.2+ |
Composer | mediawiki/matomo |
License | GNU General Public License 2.0 or later |
Download | GitHub: Note: README |
|
|
The Matomo extension (formerly "Piwik Integration") inserts your Matomo (formerly Piwik) tracking code to the bottom of every page. It can exclude the views of the users with 'bot' privileges (bots) and the 'protect' privileges (sysops).
This extension is based on extension Google Analytics Integration by Tim Laqua.
This extension was renamed in February 2019 from "Piwik Integration" to "Matomo", given the underlying software was renamed in January 2018 (more explanations).
Installation
- Download and place the file(s) in a directory called
Matomo
in yourextensions/
folder. - Add the following code at the bottom of your LocalSettings.php file:
wfLoadExtension( 'Matomo' );
- Configure the Matomo URL and site-id by setting up the following variables below this extension's call:
$wgMatomoURL = "matomo-host.tld/dir";
$wgMatomoIDSite = "piwik_idsite";
Make sure to set $wgMatomoIDSite
to the ID of your site in Matomo.
For the first site, this ID will usually be "1".
In Matomo, click on the "Administration" link in the top menu and go to the "Websites" page.
In this page you will find the list of all websites.
The website ID is on the left of this table listing all websites.[1]
$wgMatomoURL
- Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
- You may try to visit some page on the wiki and check if this visit is visible in Matomo. If not, check your profile is not ignored (e.g. you are a sysop and
$wgMatomoIgnoreSysops
istrue
) and check this help documentation on Matomo.org.
Upgrade
This extension was renamed from "Piwik Integration" to "Matomo" from version 4.0 :
- if you installed it with Composer, rename the package "mediawiki/piwik-integration" to "mediawiki/matomo";
- if you installed it as a classical MediaWiki extension, rename the directory "Piwik" or "Piwik Integration" to "Matomo".
In both cases, now you need to explicitly activate the extension with wfLoadExtension( 'Matomo' );
Configuration parameters
Disable cookies by setting the $wgMatomoDisableCookies
variable to true
.
For example:
$wgMatomoDisableCookies = true;
To define custom JavaScript tags in the Matomo JavaScript code, its possible to define the $wgMatomoCustomJS variable. For example if you have a single setting to insert; use the following code:
$wgMatomoCustomJS = "_paq.push(['trackGoal', '1']);";
If you have multiple variables to define; use an array. For example:
$wgMatomoCustomJS = array(
"_paq.push(['setCustomVariable', '1','environment','production']);",
"_paq.push(['setCustomVariable', '1','is_user','yes']);"
);
If you want to change the title of your pages inside the Matomo tracker, set $wgMatomoActionName
inside your LocalSettings.php file.
In case you want to include the title as, for example, "wiki/Title of the page", you can set $wgMatomoUsePageTitle
to true
and set $wgMatomoActionName
to wiki/
.
The extension will print piwik_action_name = 'wiki/Title of the page';
By setting $wgMatomoIgnoreSysops
to false
you can enable Matomo to also count page hits done by MediaWiki users who have the "protect" user right.
By default, sysop users have this right and so - by default - their page hits are not counted.
Default: $wgMatomoIgnoreSysops = true
.
By setting $wgMatomoIgnoreBots
to false
, you can enable Matomo to also count page hits done by MediaWiki users who have the bot right.
By default their page hits are not counted.
Default: $wgMatomoIgnoreBots = true
.
When the JavaScript is deactivated, there is a fallback method using a hidden image.
You can set the protocol (HTTP or HTTPS) calling this image with $wgMatomoProtocol
with one of the following values: 'http', 'https', 'auto' (automatically set the protocol depending on the protocol used by the wiki).
If you have Matomo 2.7.0 or greater, you can set $wgMatomoTrackUsernames
if you want to save the username of logged-in users in Matomo.
If you use a CDN to distribute the file "piwik.js", you need the version incorporating this pull request (2.4.3+) and you can set $wgMatomoJSFileURL = 'assets.example.org/piwik.js';
(do not write the protocol "http://" or "https://", it is automatically added); the parameter $wgMatomoURL
must still be configured with the Matomo server collecting analytics.
Tracking with MobileFrontend
Due to a bug in Hooks/SkinAfterBottomScripts , Matomo will not function when 'Mobile view' mode is used with the MobileFrontend Extension.
For those desiring to track across both views, comment or delete the Matomo entries in LocalSettings.php
and add to the file:
$wgUseSiteJS = true;
Then paste the Matomo tracking code generated in the Matomo dashboard into http://www.example.com/wiki/MediaWiki:Common.js. Matomo will now track users in both Desktop view and Mobile view. Take care: This workaround currently breaks the VisualEditor Extension. (2015-10-01)
Matomo configuration optimized for MediaWiki
Search parameters
By default Matomo recognize the searches on the internal search engine (the page Special:Search), because the URL parameter used by MediaWiki ("search") is in the default recognized parameters.
This can also be slightly improved by setting the two parameters:
- "Query parameter" = "search" — this will remove some false positives compared to the default value;
- "Category parameter" = "profile" — Matomo will recognize as search category the profile on top of the MediaWiki search page.
This can be either as global parameters in Administration > Websites > Settings > Tracking Internal Site Search, but preferably in the site-specific configuration in Administration > Websites > Manage > [your wiki] > Edit and uncheck "Use default Site Search parameters" and fill the parameters.