谷歌分析应该放在HTML页面的顶部还是底部?

时间:2011-03-20 18:27:33

标签: javascript html google-analytics html-head

Google建议在关闭</head>之前将谷歌分析脚本放在正确的位置。

但是,我更愿意将它与其余的javascript结合起来,这些javascript现在都在一个缓存的外部文件中,它在HTML文件的底部加载。我能这样做吗?如果是这样,那么我冒什么风险/将下面的代码放在头部而不是HTML的底部是什么代价呢?

<script type="text/javascript">
 var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-22180365-1']);
  _gaq.push(['_setDomainName', 'none']);
  _gaq.push(['_setAllowLinker', true]);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>

7 个答案:

答案 0 :(得分:28)

你真的没有冒险。建议将<script>标记放在<body>的末尾,因为在执行其附带的Javascript时,阻止性质。由于GA的Javascript是动态插入的,因此非阻塞,你可以把它放在任何地方。

我认为Google看到的唯一“问题”是,当您将该代码放在网站底部时,您可能无法抓住访问者/网页加载请求在完成之前取消请求。如果有人调用您的HTML文档并取消请求,则可能不会遇到GA代码(因此,不会执行)。

答案 1 :(得分:22)

  

你真的没有冒险。将<script>标记放在最后是可推荐的,因为在执行它包含的Javascript时阻塞性质...

这根本不是真的,jAndy。

除非代码位于<head>内,否则您将无法获得某些功能,例如实时报告或Google网站站长工具验证。异步代码的重点在于它可以在页面的其余部分加载时加载。将它放在<head>中没有UX风险,最好这样做。 来源:Google Analytics Support

@Stratboy我怀疑这是打破布局的GA代码。正确标记的脚本 - 尤其是不显示任何内容的脚本(如GA)不会影响布局。我会在别处寻找你的布局问题。也许尝试用W3C验证它的一些线索?

答案 2 :(得分:4)

来自Google Analytics(分析)设置instructions

  

将您的代码段(未经更改,完整地)粘贴到每个网页中   你想跟踪。在结束前立即粘贴   </head>标记。

     

如果您的网站使用模板生成网页,请输入   它就在包含<head>的文件中的结束标记之前   部分。

答案 3 :(得分:1)

我同意接受的答案。我想补充一点,我注意到Google网站管理员工具(GWT)需要跟踪代码(异步版本),以便能够通过同一网站的现有Google Analytics注册为您的网站注册为管理员。因此,如果JS跟踪代码不在<head>中,则此注册选项不可用。

这可能是谷歌强迫更多网站执行此操作的方式。也许Google可以更好地跟踪那些在页面加载期间取消的访问者。这些可能会为他们提供有趣的分析,以优化他们的搜索结果(例如,为他们的统计数据维护'早期反弹'事件)。

答案 4 :(得分:0)

你可以把它放在</body>之前我不认为会有任何问题。

答案 5 :(得分:0)

实施代码 找到代码段后,将其复制并粘贴到内容的底部,紧接在您计划跟踪的每个页面的</body>标记之前。如果您使用常用的包含或模板,则可以在那里输入。要实现安全页面的跟踪代码(例如https://),请阅读如何获取安全页面的跟踪代码?

答案 6 :(得分:-1)

我在身体部分中的脚本就在结束身体标记之前,它总是显示我的网站缺少跟踪代码分析管理面板所以我移动到头部并且它工作正常。