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

Sam*_*Sam 21 html javascript google-analytics html-head

谷歌建议在关闭之前放置谷歌分析脚本</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>
Run Code Online (Sandbox Code Playgroud)

jAn*_*ndy 31

你真的没有冒险.由于在执行它所包含的Javascript时的阻塞性质,因此建议将<script>标记放在最后.由于GA的Javascript是动态插入的,因此无阻塞,您可以将它放在任何地方.<body>

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

  • 它会[显示](http://support.google.com/analytics/bin/answer.py?hl=zh-CN&answer=1008080)Google的跟踪代码段是非阻止的,即使在<head>部分中使用也是如此. (6认同)
  • 来自Google:"将您的代码段(未完整更改,完整内容)粘贴到您要跟踪的每个网页中.在结束</ head>标记之前立即粘贴它." - https://support.google.com/analytics/answer/1008080?hl=en (6认同)
  • 这不再正确.Google建议将代码放在结束标记之前 (3认同)
  • 这不应该被标记为正确的答案. (2认同)

MMM*_*ata 22

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

这根本不是真的,jAndy.

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

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