【问题标题】:tracking last page visted [closed]跟踪访问的最后一页[关闭]
【发布时间】:2013-04-08 07:54:12
【问题描述】:

我正在尝试跟踪访问我网站的访问者。我正在使用 codeigniter 来开发网站。我感兴趣的是在他们关闭网页之前跟踪上次访问的页面。有什么办法吗?

我一直在想的是将他们上次访问的页面保存在会话中,然后在他们关闭时将信息保存在数据库中。当用户关闭浏览器或网站(浏览器中的选项卡)或单击链接(在网页中)并被重定向到另一个网站时会发生什么?它是否向服务器发送关闭连接请求?

跟踪它的最佳方法是什么?

还想提一下,访问者是公开的,他们无法登录网站。而且我正在使用谷歌分析,但是如何为我的网站创建自定义分析以获得更准确的结果。

【问题讨论】:

    标签: php mysql session analytics web-analytics


    【解决方案1】:

    您可以将当前页面存储在用户的会话中,当会话被破坏时,您可以使用session-set-save-handler 获取最后访问的页面。

    另外,由于 HTTP 是无状态的,你永远不会收到关闭连接回调。

    【讨论】:

    • 谢谢,但我怎样才能完成呢?请注意,访问者不会注销,他们会在最后关闭网站。会话将在 5 分钟后超时。如何编写代码来检查 codeigniter 中的会话过期?
    • 忘了提到 codeigniter 没有使用 php 会话。
    • 如果你通过链接,你可以注册一个回调,比如close(),当会话超时时会调用它。您可以在该回调中执行保存部分。
    【解决方案2】:

    在他们正在加载的当前页面上保存/更新数据库条目。这样,即使他们的计算机崩溃也没关系,它仍然会记录他们所在的最后一页。如果他们稍后返回网站,您甚至可以将它们恢复到最后的位置(如果您需要此功能)。

    【讨论】:

    • 感谢您的提示。我每个月大约有 14k 访问者和 42k 浏览量。每天大约有 500-700 名访问者,1800 - 2300 次页面浏览量。每次都写页面访问数据库不会影响性能吗?
    • 当然它会受到一点打击,但这是一个非常小/快速的查询来执行。如果您确实注意到性能问题并且您的服务器正在苦苦挣扎,只需发布​​另一个关于处理此问题的替代方法的问题,我们将尝试在跟踪方法上获得更多创意。
    猜你喜欢
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 2012-04-21
    • 2012-06-10
    • 2014-03-06
    • 2013-06-03
    • 1970-01-01
    • 2020-08-19
    相关资源
    最近更新 更多