利用浏览器缓存Google Analytics

时间:2017-04-10 14:15:54

标签: google-analytics pagespeed

我可以为Google分析找到一个新的(至少是我的新代码)代码。如果我理解,它会异步加载(至少在代码中有单词async)。我在我的网站页面中使用了该代码,Google Page Speed仍然说:利用浏览器缓存http://www.google-analytics.com/ga.js

这是跟踪您的Google Analytics的最后一个也是最好的代码吗?放入Google Analytics并在Page Speed中获得良好响应的最佳方法是什么?

(您必须用自己的代码替换UA-XXXXX-Y)

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

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

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

2 个答案:

答案 0 :(得分:3)

嵌入式Google Analytics:修复Nginx上的“利用浏览器缓存”警告

<html>

    <!-- ... -->

    <!-- Embed analytics.js as local file -->
    <script src="/analytics.js"></script>
</html>
在你的nginx.conf

server {

    ### ...

    location = /analytics.js {
        # Proxy to google-analytics.com
        proxy_pass https://www.google-analytics.com;

        # Custom expires time
        expires 1y;
    }

    ### ...
}

答案 1 :(得分:1)

在这种情况下,它表示缓存过期标头设置的时间不够长。如果您转到https://www.google-analytics.com/ga.js并使用检查员进行回复,您会看到过期标头设置为距离请求两小时。显然,由于这是由Google托管的,因此您无法控制它。

您需要做的是复制Google Analytics js文件并自行托管,然后您可以将缓存过期设置为您想要的任何内容。如果您决定这样做,最好设置一个流程来监视Google文件的更改,这样您就不会错过任何内容。