我该如何在Google Analytics中处理跟踪碎片页面视图?

5
我一直在查阅Google Analytics文档,但我仍然不明白如何跟踪使用ajax显示不同视图的单个“页面”站点的页面浏览量。 我使用shebang URLs 和 _escaped_fragment_来帮助搜索引擎了解站点布局,但我们的分析人员告诉我在跟踪时要去掉URL中的#!部分,因此当您访问mysite.com/#!/fish/bonker时,我们将运行以下代码:
_gaq.push(["_trackPageview", "/fish/bonker"]);

但这对我来说似乎是错误的。我们不想让我们跟踪的URL与Google实际爬行的内容相符吗?跟踪_gaq.push(["_trackPageview", "#!/fish/bonker"]);有什么问题吗?

1个回答

7

重要的是要认识到Google Analytics和Google Search之间存在一道墙。你的URL在一个中显示的内容不需要与另一个对应,这并不会对你产生惩罚。

escaped_fragment仅仅是一个半标准用于搜索引擎爬取AJAX内容。

默认情况下,当你没有传递自定义页面视图值时,Google Analytics会执行相应操作:

_gaq.push(["_trackPageview", location.pathname+location.search]);

如果您想让它也跟踪anchor值,您可以自己传递它:

_gaq.push(["_trackPageview", location.pathname+location.search+location.hash]);

这里的好处是URL将对应于“真正”的URL。
简而言之:你提出的方法完全没问题;我更喜欢后者(明确传递实际的location.hash而不是其被破解的版本),但两种方法都可以使用。

谢谢,非常有帮助。实际上,当浏览器理解window.onhashchange时,我确实使用location.hash,但对于其他浏览器,当单击锚点时,我实际上是在触发事件,所以在这种情况下它实际上是href属性的值(经过规范化以保持一致性)。 - kojiro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接