最近我决定尝试使用 IIS 日志文件中的信息来分析我网站上的用户行为,以便考虑对网站进行改进。
我尝试了一些免费工具来分析日志(Web Log Expert和Log Analyzer:trends)并设法从中获取了一些有用的信息,但不是我真正需要的。
我想要的是“用户在哪个页面离开我的网站”、“他们到达退出页面之前所走的路径”等数据。 Web Log Expert确实尝试向我提供该信息,但它提供信息的方式(通过使用“访问者超时”参数)只会打乱所有统计数据,因为我不知道任何服务器端方式来了解那个时间。
所以我的问题是:有谁知道是否可以从 IIS 日志中收集此类信息,如果可能的话,该怎么做?
先感谢您
IIS 日志通常只报告某人请求的页面,而不报告他们到达那里所采用的路径。分析可能是可能的,但对我来说,实施类似 Google Analytics 的工具来收集这些数据会更容易。http://www.google.com/analytics/
确定网站的退出页面很难可靠地完成(如果您的网站中没有自定义代码——我会谈到这一点)。例如,假设我打开 serverfault.com 并开始研究某个问题的答案。这项研究让我陷入了众所周知的兔子洞,实际上我有 30 分钟没有回到我的 serverfault 浏览器窗口。
仅从网络日志来看,您无法确定我的 30 分钟缺席是“退出”然后是新访问,还是“暂停”现有访问。这只是为什么用户可能在站点上变得“闲置”而不是真正的“退出”的众多示例之一。
这就是为什么像 Web 日志专家这样的分析工具依赖于访问者超时。您必须自己评估用户必须闲置多长时间才能被视为已退出该站点。
当然,您的日志分析工具(我在这里进行概括,因为那里有很多选项)需要一种区分用户的方法。IP 地址和用户代理字符串不够。例如,某个办公室或学校可能有多个用户,他们都使用同质化的操作系统和浏览器,并通过代理或 NAT 进入(您的服务器会将他们视为相同的 IP 和相同的 UA 字符串)。
在 IIS 中(不知道哪个版本,所以我会含糊其词)在日志记录配置中打开字段选择对话框。如果 Cookie 没有被选中,请选中它(这是假设您的站点使用会话 cookie)。还要检查 Referer。
这两个选项可能会使您的日志文件变得更大,但将使您的分析工具能够区分用户(通过会话 cookie)以及他们通过站点的路径(通过引用)。AFAIK 这些字段默认情况下未启用。
如果您真的想要准确表示用户何时退出您的站点(关闭浏览器或导航到其他地方),您可以在每个页面中的计时器上实现 AJAX 调用,每 X 秒调用一个 URL。然后,您可以将分析工具中的访问者超时设置为 X+2 秒之类的值。然后你就会知道退出时间精确到 X+2 秒。当然,退出页面通常会被报告为 AJAX 调用的 URL,因此您需要以某种方式让分析工具忽略这些作为退出页面,但在检查访问者超时时不要忽略它们。
这是否可能取决于工具。我没有使用 Web Log Expert 的经验,所以我不能肯定地说。
关于哪种日志分析器最好,一直存在很多争论。IMO 你需要尝试一堆,然后找到最适合你在易用性、报告的复杂性(或简单性)、速度和演示方面的需求的平衡。