Google Analytics导致500内部错误

时间:2012-11-09 16:45:04

标签: php javascript ajax google-analytics

使用从googles解析产品生成的代码:(信息审查)

<meta name="google-site-verification" content="xxxxxxxxxxxx" />



<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'xxxxxxxx']);
  _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>

导致内部500错误,代码位于head标记

3 个答案:

答案 0 :(得分:5)

如果您的网站使用Smarty模板引擎,只需将此代码粘贴到模板中就会导致500内部服务器错误,因为模板正在不正确地解释代码。

过去

中的代码
{literal} 
...
{/literal}

阻止,你的问题将得到解决!

Logicia.co.uk blog致敬,这帮助我解决了同样的问题。

答案 1 :(得分:0)

您是否尝试在元素结束前将脚本标记移动到内容的底部?

即:

<body>
  stuff here
  <ga script include>
</body>

脚本本身正在附加并将另一个脚本标记加载到头顶部。因此,您可能会在GA附加和加载新脚本以及其他JS编译之间出现冲突。

答案 2 :(得分:-1)

WAG(Wild-A ** - 猜猜)*,基于你对很多其他SEO资料和剧本的评论...

将分析代码拆分为两部分。将加载ga.js的部分放在靠近头顶部的位置,高于任何其他脚本调用。

<script type="text/javascript">
  (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>

放置另一部分,在头标记的底部执行分析,或者甚至在正文标记的底部。

<script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'xxxxxxxx']);
  _gaq.push(['_trackPageview']);
</script>

如果您仍遇到问题,请查看如果您完全删除_gaq代码会发生什么

  • 如果仍然有500个错误,则问题在于ga.js的异步加载。您可以尝试切换到较旧的非同步风格的Google Analytics。
  • 如果错误消失,则问题在于分析跟踪像素请求......