2009-11-19 55 views
1

我有興趣跟蹤我網站上用戶的綜合瀏覽量。由於流量正在迅速擴大,我擔心機器人等,我也希望能夠使用跟蹤的數據來改變用戶體驗(因此,雖然我使用Google Analytics(分析),但它並不適用於此目的) 。如何管理網頁瀏覽數據庫

什麼是最有效的方式來存儲我的信息?這是我目前的理論,請批評和/或提供更多的想法:)

策略:負載收集IP,URL頁面,瀏覽器/版本,時間戳,推薦從客戶和插入一行到MySQL。根據時間或性能確定一些時間間隔以「歸檔」表格並刪除行,或者通過cron創建一個新的行。

這是穩定的嗎?

回答

1

聽起來很合理。如果你希望插入儘可能快,你應該創建表MYIASM並且沒有任何索引。

2

我並不完全確定,但用戶表格(可能通過cookie或會話分配用戶標識),頁面表格(這可能是不實用的,這取決於它們的方式)重新生成)和一個跟蹤表,以顯示每個用戶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的(或任何DB你使用)查詢,以獲得由用戶進行瀏覽的頁面。

主要的缺點是用戶在工作/家庭中會有不同的標識符(除非您登錄),並且每個IP地址以及可能的每個Cookie /會話有多個用戶(具體取決於用戶的開放程度分享他們的工作站/個人電腦)。

+0

不是一個壞主意......但我也想知道$ _GEt值等等......它很可能會更簡單,只需通過php即時拉動網址,對吧? – johnnietheblack 2009-11-19 23:42:33

+0

所以你最終會有一張桌子上有所有的信息?是啊;該*應該*沒有問題。不管出於什麼原因,它都沒有那麼幹淨,但是它聽起來並不臭。 =) – 2009-11-20 01:25:33