返回

Matomo自建网站统计平台

我也不知道为什么这段时间我的谷歌统计以及Adsense都进不去了,虽然网站没啥人看,但是有时候还是想看看到底都有什么人在看,都在看些什么,正好今天看见有人通过Matomo自建的网站统计平台,感觉挺有意思的。使用起来和谷歌统计等平台一样,也是将一段js插入到网站的头部之类的地方便能进行统计了。

Matomo网站统计

我也不知道为什么这段时间我的谷歌统计以及Adsense都进不去了,虽然网站没啥人看,但是有时候还是想看看到底都有什么人在看,都在看些什么,正好今天看见有人通过Matomo自建的网站统计平台,感觉挺有意思的。使用起来和谷歌统计等平台一样,也是将一段js插入到网站的头部之类的地方便能进行统计了。

安装Matomo

我的服务器上已经安装好了mysql以及php,nginx,所以这些操作就略去了。(不知道怎么做的可以看我之前写的关于安装typecho的文章,操作是一样的。)

配置数据库

CREATE DATABASE matomodb;
CREATE USER 'matomo'@'localhost' IDENTIFIED BY '123456';
GRANT ALL ON matomodb.* TO 'matomo'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
EXIT;

下载安装

从官网下载

wget https://builds.matomo.org/matomo.zip
#在/var/www/html 下解压并修改拥有者
chown -R www-data:www-data /var/www/html/matomo

然后从浏览器访问

安装页面
安装页面

一路安装下去,安装过程中会让我们添加第一个网站,那就以本站为例吧。
生成追踪代码
生成追踪代码

前往我们网站的header.php中插入这段代码,保存之后刷新网站,我们的统计面板数据也会跟着更新啦! 如果网站启用了pjax,那请把统计代码放到pjax完成加载的回调函数中去,不然统计不到数据
为了统计稍微准确一点,我在两个地方增加了统计代码。首先在header中“之前添加了一次原版的追踪代码,这段代码会在用户第一次加入页面以及强制刷新(非pjax)时加载。

然后在footer里面又添加了一次代码,在pjax加载完毕之后再次发送请求,注意,在我的主题中,原版的统计代码传递的标题有问题,所以我做出了修改。但是开启pjax后链接跟踪就失效了,目前没找到合适的解决方法,要么忍一忍,要么就关闭链接跟踪。 实际上页面已经可以获得正确的链接了,但是不知道为什么,传到后台去的就是不对,应该可以通过修改mamoto并手动传递链接来解决,不过我没有再做下去了。

$(document).on('pjax:complete', function() {
  var _paq = window._paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  //貌似开启pjax后,下面这个链接跟踪就失效了。。目前没找到解决方法
  
  _paq.push(['enableLinkTracking']);
  //注意!这里做出了修改 原版只有一个'trackPageView'然而追踪并不准确,所有的标题都和刚开始使用pjax的第一个页面一样,所以我们要手动指定标题传进去。 
  _paq.push(['trackPageView',document.title+document.location.href]);
  //也可以使用这样的方式来指定标题
  //_paq.push(['setDocumentTitle', document.title]);
 _//paq.push(['trackPageView']);
  
  
  (function() {
    var u="//api.aoyouer.com/matomo/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '2']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
});

统计到了数据
统计到了数据

配置geoip

不过我们刚安装好后,识别的访客只能精确到国家,如果我们想要更加精确的结果需要另外加入geoip数据库。 使用Maxmind GeoLite 2数据库。要下载这个数据库还是有一点麻烦的,需要先前往https://dev.maxmind.com/geoip/geoip2/geolite2/ 申请一个密钥

申请密钥
申请密钥

然后使用密钥来下载数据库(wget中的部分参数换成你的密钥)。

wget -o GeoLite2-City.tar.gz "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&suffix=tar.gz&license_key=YOUR_LICENSE_KEY"
tar zxvf GeoLite2-City.tar.gz
cd GeoLite2-City_20200929/
cp GeoLite2-City.mmdb /var/www/html/api/matomo/misc/

再从网站进入设置界面->地理位置,便能选择使用我们刚才下载的数据库了。

选择数据库
选择数据库

总的来说还是很好用的一个软件,不光可以统计网站的访问量,还可以用来统计应用程序的使用量。

comments powered by Disqus
本站访客数:
Built with Hugo
Theme Stack designed by Jimmy