我有兴趣在我的网站上跟踪用户的网页浏览量。由于流量正在快速扩张,我担心机器人等,我也希望能够实时使用跟踪数据来改变用户体验(因此,虽然我使用Google分析,但它不能用于此目的)
存储信息的最有效方法是什么?这是我目前的理论,请批评和/或提供更多想法:)
策略:收集ip,页面网址,浏览器/版本,时间戳,加载时来自客户端的引荐,并在MySQL中插入一行。根据时间或性能确定一些间隔,以“存档”表并删除行,或通过cron创建新行。
这稳定吗?
答案 0 :(得分:2)
我不完全确定,但是用户表(可能通过cookie或会话分配用户ID),页面表(这可能与否也可能不同,具体取决于他们的表现如何)生成),以及一个跟踪表,以显示每个用户ID所查看的页面(通过一些唯一的页面ID标识符)?
Pages:
page_id | page
01 | homepage
02 | site map
03 | about us
users
user_id | user_ip_or_cookie_identifier
01 | 127.0.0.1
02 | 192.168.0.2
tracking
user_id | page_id
01 | 01
01 | 03
02 | 01
01 | 02
(等...)
然后使用简单的MySQL(或您正在使用的任何数据库)查询来检索哪些用户查看了哪些页面。
主要的缺点是用户将具有不同的工作/家庭标识符(除非您将其登录),以及每个IP地址的多个用户,以及可能的每个cookie /会话(取决于用户的打开方式)分享他们的工作站/个人计算机。)
答案 1 :(得分:1)
听起来很合理。如果希望插入尽可能快,则应该使该表成为MYIASM并且没有任何索引。