在我正在开发的网站上,我们需要跟踪每个用户的最后访问页面(用户登录到该网站)。最好的方法是什么?我们已经在使用自定义配置文件,因此添加新字段很容易。我认为该站点不会有很多流量,因此更新此字段不会成为问题。有更好的想法吗?sitecore 是否已经提供了我们可以使用的东西?
2 回答
我的第一个问题是:为什么只需要用户最后访问的页面?你想确定什么?
在很多情况下,您可能正在开始分析路线,或者甚至可能试图推动一些营销。
如果分析是您想要的,您可能只需将当前用户名作为事件变量弹出一个事件到您的谷歌分析帐户,以便您按用户和页面查看分析。或者,您可以使用 Sitecore OMS/DMS 功能来跟踪所有数据并查看那里的分析。
如果您正在考虑推动营销,您可能想要使用 OMS/DMS,特别是如果您想开始进入个性化或参与计划。OMS/DMS 将跟踪用户活动以及他们访问的所有页面,但不是按用户帐户。通过一些自定义,您可能可以添加该数据,但这取决于您尝试使用这些信息的目的。用户名可能对您来说并不重要。
但是,如果您只想知道在用户登录后将其发送回哪个页面,最好将其存储在 session 中,或者如果 session 不适合您,则作为 post 参数传递。
默认情况下,OMS 有一个“Top Exit Pages”报告……但这是跨会话而不是用户跟踪的。
一个好的 IIS 日志解析器也应该能够为您提供这些信息......再次,这将是通过会话(或 IP)而不是登录用户。
如果您真的想通过登录用户获取每个退出页面和过滤器......我要做的是将一个新的管道处理器添加到 httpRequestBegin,并将其放在 ItemResolver 之后。然后保存 Item.Paths.Path。如果您使用默认的 ASP.NET 配置文件处理程序并且您有大量流量,我建议不要将此数据写入用户配置文件,因为它非常低效。在这里推出您自己的简单存储解决方案,或者只是将数据转储到日志中。