大部分 Adblock 默认会把 matomo.js 封锁,所以我们需要将文件”改名”
把 js 以及 php 代理,这里以 WordPress 安装的 Matomo 为例
如果你不是以 WP 安装,记得域名中也不要包含 matomo, tracking 这类关键字
Apache .htaccess
RewriteEngine On
RewriteRule ^wp-content/plugins/app/class$ wp-content/uploads/matomo/matomo.js [L]
RewriteRule ^wp-content/plugins/app/class\.php$ wp-content/plugins/matomo/app/matomo.php [L]
另外`matomo.php?action_name=`也会被拦截,所以需要从默认的 GET 请求更换成 POST 请求,这里是修改后的代码
<script data-cfasync="false">
(function () {
function initTracking() {
var _paq = window._paq = window._paq || [];
_paq.push(['setRequestMethod', 'POST']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
_paq.push(['alwaysUseSendBeacon']);
_paq.push(['setTrackerUrl', "\/\/example.site\/wp-content\/plugins\/app\/class.php"]);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript';
g.async=true;
g.src="\/\/example.site\/wp-content\/plugins\/app\/class";
s.parentNode.insertBefore(g,s);
}
if (document.prerendering) {
document.addEventListener('prerenderingchange', initTracking, {once: true});
} else {
initTracking();
}
})();
</script>
Removed.
cool!
看不懂,幸好我没用上。。。