TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南
TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南

Rybbit 是開源的無 Cookie 網站分析工具,定位為 Google Analytics 替代品,具備工作階段錄影、漏斗與錯誤追蹤。本文從原始碼層拆解它的訪客識別機制與自動捕捉範圍,整理雲端與自架的功能落差、AGPL 授權義務與每月成本,幫你判斷該不該把網站分析搬到 Rybbit。
用 AI 摘要這篇文章:
把網站分析從 Google Analytics 搬走的理由,這幾年多半不是功能不夠,而是介面越改越難找到數字,加上為了處理 GDPR 與 ePrivacy 的同意要求,站長得在網站掛上 cookie 同意橫幅。Rybbit 瞄準的就是這個位置:開源、不寫 cookie、官方直接在首頁標榜不需要同意橫幅。這個專案 2025 年 1 月出現在 GitHub,到 2026 年 9 月中已累積 12,988 顆星與 742 次 fork,最新版 v2.9.0 在 2026 年 9 月 12 日發布,隔天倉庫還有程式碼推送,維護節奏相當密集。
不過 2026 年的 Rybbit 早已走過最初發表時那個輕量計數器的階段。工作階段錄影、漏斗、使用者旅程、錯誤追蹤、即時儀表板都在它的功能列表上,版圖從網站分析一路踩進產品分析。Rybbit 的訪客識別、自動捕捉與遙測實作全攤在公開原始碼裡,導入前值得先看清幾個問題:不寫 cookie 的識別機制實際怎麼運作、自動捕捉會把什麼送進資料庫、雲端與自架兩條路的落差有多大。
Rybbit 的追蹤腳本安裝起來是一行 <script> 標籤,掛在 </head> 前就完成,這點與 Google Analytics 的 gtag 標籤很像;差別在它從頭到尾不寫 cookie。那沒有 cookie 要怎麼分辨訪客?原始碼給的答案很直接:伺服器收到事件時,把訪客 IP 先做區段歸併,把瀏覽器的 user agent 剝掉版本號,兩者相加做 SHA-256 雜湊,取前 12 碼當作訪客 ID。IP 位址預設不落地到資料庫(站台設定另提供 IP 儲存選項,同樣預設關閉),地理資訊用伺服器本機的 MaxMind GeoLite2 資料庫查詢,IP 不會外送給第三方。這套機制寫在 userIdService.ts,與隱私權政策宣稱的「IP 只用來查地理、從不儲存」互相對得上。
機制成立,但隱私強度有一個關鍵開關:每日輪替的鹽值。資料庫綱要裡的 saltUserIds 欄位預設是關閉的。不開啟時,同一個人的 IP 加瀏覽器特徵算出的雜湊每天一致,訪客指紋跨日穩定,回訪與留存分析因此完整;開啟之後,雜湊每天混入新的鹽值,昨天的訪客與今天的訪客在資料上無法連結,隱私更強,跨日的行為分析也會跟著失真。Rybbit 把這個取捨交給站長,在站台設定裡開關,預設站在資料完整那一邊。打算對外宣稱「訪客無法被跨日追蹤」的網站,記得先去設定裡打開它。
原始碼裡另有一層「黏性身份」設計,名稱聽起來比實際作用可怕。它的用途很窄:只處理走資料中心出口的訪客,例如 iCloud Private Relay 或 Cloudflare WARP 的使用者,這類連線的 IP 會中途輪換,可能把同一個人拆成兩個假訪客。黏性層會在十五分鐘內把輪換後的新指紋接回原身份,而且只對資料中心流量生效,住宅網路的訪客永遠不會被跨指紋合併;開了鹽值的站台還會以日期切割候選池,避免跨日接回、抵銷鹽值的保護。這是防範幽靈訪客的修正層,與大規模跨日追蹤是兩回事。
Rybbit 有一套 autocapture,能自動記下點擊、表單送出、外站連結與指令碼錯誤,站長不用自己埋事件,官方首頁也直接寫「全部自動捕捉」。不過原始碼裡的預設值是另一回事:站台設定中,點擊、表單、錯誤與複製這幾項自動捕捉全部預設關閉,只有外站連結與頁面瀏覽預設開啟,要到自己站台的設定裡打開才生效。行銷文案與預設值之間的這段距離,往好處看是預設立場偏向保守,但要的正是官方話術那種開箱即用的人,記得先去設定裡開。其中複製捕捉值得特別看一眼:開啟之後,訪客在網頁上複製文字時,copy 事件會把被複製的內容前 500 字元,連同它來自哪種 HTML 元素,一起送回分析後端。對文件站來說,知道訪客抄了哪段教學很實用;但換個場景想,會員在帳號頁複製自己的信箱、使用者在客服頁貼上訂單號,這些字串會原封不動進你的分析資料庫。要開這項之前,先盤點自己的站有哪些頁面會被複製到敏感內容。
工作階段錄影(session replay)是另一個觸及隱私邊界的功能,Rybbit 這邊的預設值算謹慎:錄影基於 rrweb 實作,預設遮罩所有輸入欄位,密碼與信箱欄位無論如何必遮,文字輸入只保留最終值,中途的逐字過程不錄;站長還可以在敏感元素加上 rr-mask class 強制遮罩,或反過來放行特定欄位。換句話說,錄影功能本身的預設立場偏向保護訪客,責任在使用者有沒有去確認預設符合自己的站。
還有一個字面落差值得記下。隱私權政策寫「不使用 cookie 或 local storage」,基礎追蹤確實兩者都不碰;但站長若呼叫 identify() 把會員 ID 綁進分析,腳本會把這個自訂 ID 存進 localStorage 以便跨頁保持。用這個功能做會員行為分析的站,對外的隱私聲明要自己寫得更精確,不能直接照抄官方那句。
很多人挑自架版本的理由是「資料完全不出我的伺服器」,對訪客資料來說這句成立,事件全進你自己的 ClickHouse 與 Postgres。但實例本身有一條外連預設:telemetryService.ts 顯示,自架實例在啟動時與每天 UTC 午夜,會把事件表與錄影表的資料筆數、ClickHouse 資料庫大小、軟體版本,以及一組由安裝時隨機產生的應用金鑰雜湊而來的實例 ID,POST 到官方的 demo.rybbit.com/api/admin/telemetry。送出的是用量元資料,不含任何訪客資料,用途等同開源專案常見的安裝數統計;不想送的人在環境變數設 DISABLE_TELEMETRY=true 就會停。這條預設無害成分居多,但它說明了一件事:自架的「隱私」邊界要逐條核對組態,而不是假設預設值都站在你這邊。
授權方面,Rybbit 採 AGPL-3.0,倉庫附了完整條文。對把它原封不動自架、單純分析自己流量的站長來說,義務基本上只有保留版權聲明;會踩到條文的是修改原始碼之後對外提供網路服務的人,那種情況要把修改後的原始碼公開。一般內部使用不必擔心,詳細邊界放在文末授權段。
資料準確度這關,Rybbit 內建了機器人流量的過濾與偵測,判斷線之一是 ASN 是否屬於資料中心;也能把自己的流量隱藏掉,避免站長自己天天開後台把數字灌水。這類過濾在雲端與自架版都有,對剛從 GA4 搬過來的人是無感銜接的一環:GA4 會自動扣掉部分機器流量,換工具後若少了這層,數字看起來會莫名變好。
官方雲端走流量計價,2026 年 9 月的定價頁寫的是:Standard 方案年繳每月 US$13,可追 5 個網站、3 位團隊成員;Pro 方案年繳每月 US$26,網站與成員數不限,多了工作階段錄影、五年資料保留與十倍 API 速率上限;Enterprise 客製,含單一登入與地端安裝。試用期是 7 天,試用結束前不會請款。雲端主機標榜設在歐盟,不過營運主體是美國密西根州的 Tomato.gg LLC,在意跨境資料處理的站長,官方有提供 DPA 與資料處理條款可以細看。
| 方案 | 月費 | 網站數 | 工作階段錄影 | 資料保留 | 維運責任 |
|---|---|---|---|---|---|
| 雲端 Standard | US$13(年繳) | 5 個 | 無 | 3 年 | 官方 |
| 雲端 Pro | US$26(年繳) | 不限 | 有 | 5 年 | 官方 |
| 雲端 Enterprise | 客製報價 | 不限 | 有 | 無限期 | 官方 |
| 自架 | 軟體免費 | 不限 | 內建 | 自行設定 | 全部自己 |
自架路線的功能反而最完整:工作階段錄影在雲端要 Pro 才有,自架版直接內建;雲端獨有的是 Pages 檢視與電子郵件報表;Google Search Console 整合自架也支援,但要自己申請 Google OAuth 憑證。門檻在基礎設施:整套是六個容器:Caddy、ClickHouse、Postgres、Redis 四個基礎設施,加上前後端應用本體,官方建議至少 2GB 記憶體的 VPS,安裝指南以 Ubuntu 24 x86_64 實測,ARM 機器因為 ClickHouse 的支援限制,必須是 ARMv8.2-A 以上。部署本身有一鍵腳本 ./setup.sh your.domain.com,會自動產生應用金鑰與 TLS 憑證,資料庫埠也只綁本機;但 compose 檔裡 ClickHouse 與 Postgres 的預設帳號密碼都是 frog,上線前自己換掉是基本動作。地圖視覺化想要完整呈現,另外建議申請 Mapbox token,圖資由第三方 Mapbox 提供。
把成本攤開看會更清楚:年繳 Pro 的價錢,大約等於一台中型 VPS 一整年的租金。會自己顧伺服器的人,自架拿到的是全功能加資料完全自主;不想碰維運的人,雲端的價錢買的是持續更新與有人幫你備份。先前介紹過的 ezbookkeeping 記帳自架工具 與 SubsTracker 訂閱管理 走的都是同一種取捨,差別在流量分析的資料量隨站成長,ClickHouse 的磁碟用量要預留成長空間。
從機制與成本看下來,最適合的是兩種站。一種是想擺脫同意橫幅的內容站與部落格:追蹤腳本輕、基礎指標齊,Standard 價位就能涵蓋多數個人站的需求。另一種是想認真做產品分析的開發團隊:漏斗、旅程、錯誤追蹤加錄影,自架等於零授權費拿到全套,內建的 MCP 伺服器還能讓 Claude Code、Cursor 這類 AI 工具直接查你的分析資料,把「為什麼這週註冊變少」這種問題丟給 agent 查。導入方式除了那行 script 標籤,也有 npm SDK、Google Tag Manager 標籤與 Next.js、WordPress 等整合指南,官方的資料匯入工具目前支援從 Umami、Simple Analytics 與 Plausible 搬家,GA 的匯入還列在官方路線圖上。
官方 demo 值得自己開一輪再決定,它接的是真實站點的資料,不是樣本截圖。主儀表板以小時為單位畫今日訪客曲線,對照前一時期的灰線,下方直接列出引薦來源與熱門頁面;工作階段清單裡每個訪客拿到一個動物代號(例如 Scarlet Turtle)配上國旗與瀏覽器圖示,可重播的工作階段標出錄影記號,線上人數的綠點同時顯示當下有幾位訪客正在瀏覽。這些呈現細節說明「無 cookie」不等於陽春:識別層用指紋雜湊換掉 cookie,使用者視角的介面照樣組得起來。


該停下的情況也具體:想要永遠免費的雲端方案的,Rybbit 沒有免費層,7 天試用結束就要付費;需要百分之百確定免掛同意橫幅的,官方宣稱符合 GDPR 與 CCPA 是官方立場,各司法管轄區對無 cookie 指紋的認定仍有差異,這題要問自己的法務,不是問工具;以及極度要求零外連的,上一節的每日遙測與 Mapbox 依賴要先處理乾淨。另外,操作介面與文件目前以英文為主,介面術語不複雜,但團隊裡若有人需要中文後台,先到官方 demo 走一輪再決定。
AGPL 授權可以商用嗎? 可以。AGPL-3.0 不禁止商業使用,自架來分析公司網站、甚至對客戶提供分析顧問服務都沒有問題。義務觸發點是「修改 Rybbit 原始碼並對外提供網路服務」,那時必須公開你的修改;原封不動自架則無此要求。
換成 Rybbit 之後還需要同意橫幅嗎? 官方立場是不需要,因為不寫 cookie 也不做跨站追蹤,這在多數歐盟成員國的實務上站得住。但要留意兩件事:開啟 identify() 綁會員 ID 時,性質偏向使用者身分識別;以及各國對裝置指紋的認定持續在演進,高風險產業的網站建議仍諮詢法務。
從 Google Analytics 搬過去要改什麼? 把 gtag 換成 Rybbit 的 script 標籤或 SDK 即可,GTM 使用者可以在容器裡加官方標籤。歷史資料目前只有 Umami、Simple Analytics 與 Plausible 能用官方匯入工具接過來,GA 匯入還在路線圖上;GA4 的事件語意與 Rybbit 不完全對應,報表銜接要留轉換期。
Rybbit 以 AGPL-3.0 授權發布,倉庫附完整條文,商用邊界見上一節說明。專案活躍度高:2025 年 1 月建立,到 2026 年 9 月 14 日已累積 12,988 顆星、742 次 fork、201 個開啟中的 issue,v2.9.0 於 2026 年 9 月 12 日發布,撰稿期間幾乎天天有程式碼推送。安全更新目前只涵蓋 2.x 版線,漏洞回報信箱與 72 小時內回覆的承諾寫在 SECURITY.md。官方資源:正式站、文件、線上 demo(用真實站點的資料)、GitHub 倉庫。想在自家機器上先摸一遍追蹤碼與介面,demo 是最快的入口;想要分析工具箱裡多一個 SEO 檢查角度,可以搭配我們介紹過的 Detailed SEO Extension,或用 網站速度測試 對照 Web Vitals 的表現。