记一次 analytics.js 修改方案

记一次 analytics.js 修改方案

修改 js 主要考虑到以下两点:

google 的 analytics.js 在国内无法正常访问

由于 google 的 网站分析代码:analytics.js 是google 的访问域名,故而国内是无法访问的。

然而个人网站如果使用 google 分析的话,大部分数据是无法加载出来的。所有尝试将这段 js 下载到本地,修改里面的提交域名(将里面的域名修改为镜像地址),通过修改后的 js。去实现网站分析

google 的 analytics 可能会被用户插件屏蔽

如果使用代理去访问 analytics ,无法做到屏蔽

首先下载js 文件

从 google 官方链接中下载 js 到本地

curl https://www.google-analytics.com/analytics.js -o analytics.js

修改里面的域名为镜像地址

目前发现里面总共有这么几个域名:

https://ampcid.google.com/v1/******
https://www.google-analytics.com/
https://stats.g.doubleclick.net
https://www.google.%/
https://tagassistant.google.com/

将上方五个域名修改为镜像站的地址后。部署即可

示例(修改 analytices 脚本内容):

<!-- Google Analytics -->
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-XXXXXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<script async src='https://google-analytics.zwc365.com/analytics.js'></script>
<!-- End Google Analytics -->

示例2 (只修改 js 加载路径):

<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://pd.zwc365.com/https://www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->

经过实测,在大部分情况下,google analytics 能够正常加载,但是少部分情况下,估计是运营商自行屏蔽了 google analytics 域名,导致无法加载及访问。

修改路径后,对js的加载速度有提升。而且也不会出现加载js失败的问题了

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://zwc365.com/2021/08/22/记一次analyticsjs修改方案

Buy me a cup of coffee ☕.