我正在追求达到100/100的PageSpeed,我几乎在那里。我试图找到一个很好的解决方案来缓存谷歌分析。

这是我得到的信息:

利用浏览器缓存 在静态资源的HTTP报头中设置过期日期或最大年龄指示浏览器从本地磁盘加载以前下载的资源,而不是通过网络。 利用浏览器缓存以下可缓存资源: http://www.google-analytics.com/analytics.js(2小时)

我找到的唯一解决方案是2012年的,我不认为这是一个好的解决方案。本质上,您复制GA代码并自己托管它。然后运行cron作业,每天重新检查谷歌一次,以获取最新的GA代码并替换它。

http://diywpblog.com/leverage-browser-cache-optimize-google-analytics/

我还能做什么来达到100/100,同时也使用谷歌分析?

谢谢你!


当前回答

要修复此问题,您必须在本地下载文件并运行cron作业以保持更新。注意:这不会让你的网站更快,所以最好忽略它。

但是,为了演示目的,请遵循以下指南: http://diywpblog.com/leverage-browser-cache-optimize-google-analytics/

其他回答

存储local analysis .js,但谷歌不建议这样做: https://support.google.com/analytics/answer/1032389?hl=en

不建议,因为谷歌可以在他们想要的时候更新脚本,所以只要做一个脚本,每周下载分析javascript,你就不会有麻烦!

顺便说一下,这个解决方案防止adblock从阻塞谷歌分析脚本

您可以尝试在本地托管analysis .js,并使用缓存脚本或手动更新它的内容。

js文件每年只更新几次,如果你不需要任何新的跟踪功能,就手动更新它。

https://developers.google.com/analytics/devguides/collection/analyticsjs/changelog

我不会担心的。不要把它放在你自己的服务器上,听起来这是谷歌的一个问题,但它得到的很好。将文件放在您自己的服务器上将产生许多新问题。

他们可能需要每次都调用该文件,而不是从客户端的缓存中获取,因为这样就不会计算访问次数。

如果你觉得有问题,可以在谷歌insights上运行谷歌insights URL,笑一笑,放松一下,继续你的工作。

在新选项卡中打开https://www.google-analytics.com/analytics.js文件,复制所有代码。

现在在你的网页目录中创建一个文件夹,重命名为google-analytics。

在同一个文件夹中创建一个文本文件,并粘贴上面复制的所有代码。

将文件重命名为ga-local.js

现在更改URL,在谷歌分析代码中调用本地托管的分析脚本文件。它看起来像这样,即https://domain.xyz/google-analytics/ga.js

最后,把你的新谷歌分析代码放在你的网页的页脚。

你可以出发了。现在检查你的谷歌PageSpeed Insights网站。它将不会显示杠杆浏览器缓存谷歌分析的警告。这个解决方案的唯一问题是,定期手动更新分析脚本。

如果谷歌欺骗了你,你也可以欺骗谷歌:

这是pageSpeed的用户代理:

“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.8 (KHTML, like Gecko; Google Page Speed Insights) Chrome/19.0.1084.36 Safari/536.8”

你可以插入一个条件来避免为PageSpeed提供分析脚本:

<?php if (!isset($_SERVER['HTTP_USER_AGENT']) || stripos($_SERVER['HTTP_USER_AGENT'], 'Speed Insights') === false): ?>
// your analytics code here
<?php endif; ?>

显然,这不会带来任何真正的改善,但如果你唯一关心的是获得100/100的分数,这就可以了。