效能與資料
裝了流量分析,網站一樣輕快
資料存在自己的主機,難免會擔心拖慢網站。這一頁說明資料怎麼存、前台腳本怎麼載入,以及流量變大時主機那一端怎麼處理。
資料怎麼存
存在外掛自己的資料表
訪客、造訪、瀏覽和事件分開存在外掛建立的資料表,不塞進文章或設定的資料表,也不用另外裝資料庫。
常用查詢有索引
報表會用到的日期、訪客、造訪欄位都建了索引,資料多了照樣查得快。
報表結果會快取
同一份報表不會每次重算,過去的日子數字不會變,存得更久。
舊資料分批清
超過保存天數的資料每天分批刪掉,不會一次卡住主機。
資料都拿得到
資料表就在你的資料庫裡,要匯出、備份或自己寫查詢都可以。
資料庫・外掛的資料表
前台載入
記錄腳本不擋頁面載入
訪客感受到的速度,看的是前台多載入了什麼。Mo Analytics 在前台只多一支小腳本。
壓縮後約 5KB
整個記錄腳本只有一支檔案,不另外載入其他套件。
延後執行
腳本放在頁尾、延後執行,頁面內容先顯示,不會被它擋住。
送出不等回應
事件攢著一起送,離開頁面時交給瀏覽器在背景送出,不會卡住換頁。
不連外部網域
資料只送回你自己的網域,瀏覽器不用多連一個網站。
一次瀏覽的過程
訪客打開一頁,背後發生了什麼
-
1
頁面照常載入,記錄腳本等頁面內容處理完才執行。
-
2
訪客捲動、點擊、觸控,或頁面在前景停留 8 秒,才記下這一頁。爬蟲和連結預覽通常走不到這一步。
-
3
點擊、表單送出這類事件先攢著,大約每 3 秒送一批。
-
4
離開頁面時,把停留時間和捲動深度一起送出。
有裝快取外掛也不用另外設定:LiteSpeed Cache 和 WP Rocket 會自動把記錄腳本排除在 JS 合併之外,WP Rocket 也不會延遲它;收資料的網址則標成不快取。
主機那一端
流量變大時,主機這樣分擔
常見問題
還有這些疑問
資料庫會不會越來越大?
資料只留保存天數內的,預設 730 天,最短可以設 30 天,到期每天自動清掉。流量大的網站可以把天數設短一點。
會影響 PageSpeed 分數嗎?
PageSpeed、Lighthouse 這類測試工具會被認出來,不記也不送資料。分數主要還是看網站本身的圖片、佈景和其他外掛,裝之前和裝之後各測一次最準。
流量很大的網站適合嗎?
每次瀏覽都是寫進你自己資料庫的一筆資料,主機要撐得住原本的流量。流量大的網站建議開物件快取,次數限制和報表快取都會用上。
需要定期維護嗎?
不用。清舊資料、對訂單這些工作都由 WordPress 排程自動跑。如果主機關掉了 WordPress 內建排程,記得系統排程有在執行。個資相關的設定寫在個資保護。