我正在追求达到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,同时也使用谷歌分析?

谢谢你!


当前回答

你可以在页面中缩小你的所有脚本,包括analysis .js使用:

一些服务器端技术(https://github.com/matthiasmullie/minify) 对外服务(http://www.cloudflare.com)

记得在使用它之前缩小文件。否则将消耗更多的处理时间。

其他回答

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

这是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的分数,这就可以了。

varvy.com(100/100谷歌页面速度洞察)只在用户滚动页面时才加载谷歌分析代码:

var fired = false;

window.addEventListener("scroll", function(){
    if ((document.documentElement.scrollTop != 0 && fired === false) || (document.body.scrollTop != 0 && fired === false)) {

        (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','//www.google-analytics.com/analytics.js','ga');

        ga('create', 'UA-XXXXXXXX-X', 'auto');
        ga('send', 'pageview');

        fired = true;
    }
}, true);

试一下这只是插入之前

<script async='async' src='https://cdn.jsdelivr.net/ga-lite/latest/ga-lite.min.js'></script> <script>var galite=galite||{};galite.UA="xx-xxxxxxx-x";</script>

请将xx-xxxxxxx-x更改为您的代码,请检查到此处实现http://www.gee.web.id/2016/11/how-to-leverage-browser-caching-for-google-analitycs.html

你可以在页面中缩小你的所有脚本,包括analysis .js使用:

一些服务器端技术(https://github.com/matthiasmullie/minify) 对外服务(http://www.cloudflare.com)

记得在使用它之前缩小文件。否则将消耗更多的处理时间。

2020年,Page Speed Insights用户代理为:移动端“Chrome-Lighthouse”和桌面端“谷歌Page Speed Insights”。

<?php if (!isset($_SERVER['HTTP_USER_AGENT']) || stripos($_SERVER['HTTP_USER_AGENT'], 'Chrome-Lighthouse') === false  || stripos($_SERVER['HTTP_USER_AGENT'], 'Google Page Speed Insights') === false): ?>
// your google analytics code and other external script you want to hide from PageSpeed Insights here
<?php endif; ?>