使用 IIS 日誌分析使用者行為
最近我決定嘗試通過使用 IIS 日誌文件中的資訊來分析我的網站上的使用者行為,以便考慮對網站進行改進。
我嘗試了一些免費工具來分析日誌(Web Log Expert和Log Analyzer:趨勢),並設法從中獲得了一些有用的資訊,但不是我真正需要的。
我想要的是諸如“使用者在哪個頁面離開我的網站”、“他們在到達那個退出頁面之前所走的路徑”等數據。 Web Log Expert確實試圖向我提供該資訊,但它的方式(通過使用“訪問者超時”參數)只是弄亂了所有統計數據,因為我不知道任何伺服器端的方式來知道那個時間。
所以我的問題是:有誰知道是否可以從 IIS 日誌中收集此類資訊,如果可能,如何收集?
先感謝您
確定站點的退出頁面很難可靠地完成(如果您的站點中沒有自定義程式碼——我會講到的)。例如,假設我打開 serverfault.com 並開始研究問題的答案。這項研究讓我陷入了眾所周知的兔子洞,而且我實際上在 30 分鐘內都沒有回到我的伺服器故障瀏覽器視窗。
僅從網路日誌中,您無法確定我 30 分鐘的缺席是“退出”然後是新的訪問,還是現有訪問的“暫停”。這只是使用者可能在網站上變得“空閒”而不是真正的“退出”的眾多例子中的一個。
這就是為什麼像 Web Log Expert 這樣的分析工具依賴於訪問者超時的原因。您必須自行評估使用者必須空閒多長時間才能被視為退出站點。
當然,您的日誌分析工具(我在這裡概括,因為那裡有很多選項)需要一種區分使用者的方法。IP 地址和使用者代理字元串是不夠的。例如,某處辦公室或學校中可能有多個使用者,他們都使用同質化的作業系統和瀏覽器,並通過代理或 NAT 進入(您的伺服器會將他們視為相同的 IP 和相同的 UA 字元串)。
在 IIS 中(不知道哪個版本,所以我會含糊其辭)在日誌記錄配置中打開欄位選擇對話框。如果 Cookie 未選中,請檢查它(這是假設您的站點使用會話 cookie)。還要檢查Referer。
這兩個選項可能會使您的日誌文件更大,但將使您的分析工具能夠區分使用者(通過會話 cookie),以及他們通過站點的路徑(通過引用者)。AFAIK 預設情況下不啟用這些欄位。
如果您真的想要準確表示使用者何時退出您的站點(關閉瀏覽器或導航到其他地方),您可以在每個頁面中的計時器上實現 AJAX 呼叫,該計時器每 X 秒呼叫一次 URL。然後,您可以在分析工具中將訪問者超時設置為 X+2 秒。然後您將知道退出時間,精確到 X+2 秒。當然,退出頁面通常會被報告為 AJAX 呼叫的 URL,因此您需要以某種方式讓分析工具忽略它們作為退出頁面,但在檢查訪問者超時時不要忽略它們。
這是否可能取決於工具。我沒有使用 Web Log Expert 的經驗,所以我不能肯定地說。
關於哪種日誌分析器最好,一直存在很多爭論。IMO 您需要嘗試其中的一堆,並找到最適合您的需求平衡的一個,以實現報告的易用性、複雜性(或簡單性)、速度和展示。