3482 字
9 分鐘
GeoScore 2.4.5:一個站長用來查自己網站到底缺什麼的工具
2026-07-16
Amiya_desi

GeoScore 2.4.5:一個站長用來查自己網站到底缺什麼的工具#

先說製作原因#

之前舊版本的geoscore是別人已經開發好的項目,https://geoscoreapp.pages.dev/,這裏也可以體驗一下,我也嘗試用這個不斷優化我的網站的seo,甚至加了wiki列表的Amiya’s DeskAmiya_desi來增強geo和seo之類的

不過呢,這個項目到後面也展示出侷限性了,我的個人博客經常會收到加 FAQ、價格表或 Service schema 的建議,可我的站既沒有套餐,也不接項目

正好反正我也不缺AI額度,既然自己有需求,那就二開繼續開發試試看吧,這次就肯定要把分類做好了,作爲一個個人博客站點,感覺這種FAQ價格表和Service schema確實是沒必要的

GeoScore 就是在原作者的基礎上二次開發出來的,https://github.com/sprawf/geoscore,原版的GeoScore是Mit協議,所以我也選擇繼承了這個

它是 MIT 協議的開源 SEO 與 GEO 審計工具,入口和源碼都在這裏

https://geo.sayori.org

https://github.com/Amiyadesi/geoscore

完整的中英文使用文檔在這裏

https://geo.sayori.org/docs

它的工作是把已經發現的問題、還不知道的問題和根本不適用的問題分開,再把能複驗的修改路徑留給站長,把修改結論能夠生成md文檔餵給AI進行鍼對性增強

2.4.5 的核心還是先分清結論和猜測#

每條事實檢查只有五種狀態

狀態含義
pass已經從頁面或響應裏確認通過
fail有明確證據說明需要處理
not_applicable這項規則不適合當前站點或頁面
unknown現在沒有足夠證據判斷
error抓取或外部服務出了問題

只有確認適用並且有結論的 passfail 會進入事實分

unknownerror 不會被偷換成失敗項,但它們會降低 coverage 與 confidence

證據太少時,GeoScore 寧可顯示證據不足,其實也就能看出來這方面是有很多不足了

2.4 增加了嚴重失敗封頂機制

一個 critical 失敗會把對應類別的最高分壓到 49,額外每多一個 critical 再降 10,最低到 19

一個 major 失敗會把上限壓到 79,額外每多一個 major 再降 10,最低到 49

minor 失敗的影響更輕,但也不能完全被忽略

這條規則是爲了防止一個被 noindex、無法抓取或正文不可提取的問題站,因爲圖片 alt 和 Open Graph 做得不錯就拿到一張看似安全的高分報告

所以我現在看結果的順序很死板:先看嚴重失敗和證據,再看 coverage 與 confidence,最後纔看總分

73 個真實站點是怎麼參與校準的#

我不想只拿自己的博客證明分類準確,所以現在維護了一份 73 站類型校準矩陣

裏面有新聞媒體、個人博客、作品集、文檔站、開源項目、電商、社區、SaaS、專業服務、本地業務、非營利組織、政府和大學站點

每個站點先寫出可以接受的類型範圍,再讓當前代碼獨立抓取和判斷

最近兩次運行分別得到 48 個匹配、0 個需要人工複覈、25 個不可用,以及 47 個匹配、0 個需要人工複覈、26 個不可用

兩次結果相差一個站點,變化來自真實網絡可用性,而不是新增了一例分類衝突

所有成功抓取並完成判斷的樣本都落在預先允許的類型範圍內

不可用通常來自 WAF、地區限制、網絡錯誤或驗證頁,它不代表分類通過,也不代表分類失敗

這 25 個站點會保留在矩陣裏,因爲審計工具真正需要面對的就是這些不配合的頁面

評分本身另外使用黃金 HTML fixture 校準

個人博客、SaaS、電商、本地業務、媒體和未知站點都有固定證據與分數區間,嚴重失敗封頂也有獨立迴歸測試

真實站點矩陣負責發現分類偏差,黃金 fixture 負責讓分數變化可重複,這兩件事不能混成一個好看的成功率

站點模式和單 URL 模式#

GeoScore 有兩種用法

填域名會進入站點模式,它最多抽取五個有代表性的 HTML 頁面

首頁會先被讀取,能發現 About 頁面時會一起加入,再從 sitemap 或首頁內部鏈接裏按路徑類型選出其他樣本

五頁不是全站爬蟲,它只是把一次審計控制在可解釋、可復跑的範圍裏

所以報告裏的樣本列表值得看,它告訴你這一次結論到底來自哪幾頁

如果我只想檢查一篇新文章、剛改完的落地頁或某個專題頁,可以粘貼完整 URL

這會進入單 URL 模式,重點審目標頁

目標頁不是首頁時,工具仍會在需要時讀取首頁建立上下文,避免僅憑一篇寫 AI 的文章就把整站當成 SaaS

我一般先跑域名,確認全站公共配置和站點畫像,再對真正要改的頁面跑一遍單 URL

先確認它把你認成了什麼#

審計完成後,不要馬上盯總分

先看站點畫像

Pasted image 20260720112010.png

這裏會顯示站點類型、實體、語言、根域名、抽樣頁面、識別置信度和分類證據

畫像優先依據 JSON-LD、canonical、標題、導航和頁面結構,正文關鍵詞只能當弱信號

這是爲了避免個人博客被判成 SaaS,文檔站被判成電商,文章站被強塞商業 schema

類型確實不對時,可以只爲這一次審計給出類型提示,點擊糾正類型選擇正確的類型

它不等於給整個系統寫一條永久規則,也不會影響其他網站

頁面抓不到時,爲什麼不能繼續硬算#

真實網站經常不會直接返回正文

有些站會返回 Cloudflare challenge,有些會返回登錄或同意頁面,SiteGround 還可能用 HTTP 202 返回 /.well-known/sgcaptcha/ 驗證頁

這些頁面看起來也是 HTML,但拿它們做 SEO 審計只會得到一份關於驗證頁的假報告

2.4.5 會先識別這些中間頁,不再把 HTTP 202 或空驗證頁當成抓取成功

普通 HTTP 確認遇到 challenge、可重試網絡錯誤或 JavaScript 空殼時,首頁可以使用一次 Cloudflare Browser Run 兜底

這次嘗試有明確的 20 秒預算

頁面導航最多使用 16.5 秒,load 事件後再給 1.5 秒完成普通 hydration,最後保留 2 秒抓取 HTML

之前使用 networkidle2 時,分析腳本和持續請求可能讓頁面一直等不到網絡空閒,最後把整次預算耗完

現在不再等待後臺網絡完全安靜,但仍會檢查渲染結果是不是 challenge、錯誤頁或沒有正文的 JavaScript 空殼

兜底仍然失敗時,GeoScore 會把頁面留在 unknownerror,總分可以直接變成證據不足

2.4.5 同時把審計緩存提升到 v24

這樣部署後不會繼續命中舊版本留下的超時或驗證頁結果,舊緩存會按原來的 TTL 自然過期

自定義 API 要怎麼用#

首頁輸入框下面有一個默認收起的自定義 API 面板

這是可選功能,只在事實審計完成後,爲 Evidence Map 做一次回答觀察時使用

填入 API Key、HTTPS Base URL 和 model 後,可以拉取模型列表,也可以直接手動填寫一個已知 model

Base URL 不需要手動拼 /v1/models

如果我填的是 https://api.example.com,GeoScore 會自動補成 https://api.example.com/v1

誤把 /models/chat/completions 一起粘貼進去時,它也會先退回對應 API 根路徑再發請求

三個字段需要一起填寫,缺一個就不能發出請求

開始審計前,瀏覽器會清空它們,它們不會寫入瀏覽器存儲、URL 或下載報告

服務端也只把它們當作一次請求的配置,審計結束後不會持久化

這不意味着可以在錄屏或直播裏展示真實 Key,敏感信息還是應該遮掉

請求完成後,最新 API 回答會直接顯示在 Evidence Map 頂部

這裏能看到查詢、模型、狀態、時間、耗時、回答正文和引用數量,完整回答與引用可以繼續展開

自定義 API 成功或失敗,都不會改動事實評分

我會把它留到事實問題已經處理過一輪以後再用

先看頁面本身的問題,再看外部搜索和回答觀察,順序反過來很容易被一段生成文本帶偏

監控 Token 到底有什麼用#

創建監控項目後會拿到兩樣東西:project ID 和 management token

project ID 用來標識項目,Token 用來證明你有權讀取項目、修改查詢、運行快照、查看歷史、輪換 Token 或刪除項目

服務端只保存經過保護的哈希,原始 Token 只會在創建或輪換時顯示一次

所以第一次拿到後應該先複製到自己的密碼管理器

換瀏覽器或換設備時,可以在“連接已有監控項目”裏填入 project ID 和 Token,把查詢、歷史與項目狀態重新加載回來

頁面默認不會保存 Token

只有明確點擊保存到本設備後,它纔會進入當前瀏覽器的本地存儲,也可以隨時點忘記本設備

如果 Token 出現在截圖、聊天記錄或公開日誌裏,直接輪換,舊 Token 會立即失效

Docs 頁面給出了可以直接複製的 curl 請求和公開 API 說明

郵件監控怎樣工作#

監控項目可以填寫郵箱並完成驗證

只有建立過可比較的基線、評分版本相同、coverage 足夠並且分數真的發生變化時,系統纔會嘗試發送提醒

第一次運行、評分版本變化或證據不足時只保存快照,不製造漲跌告警

當前郵件適配器優先使用主發信通道,鑑權、限流、網絡或上游故障時可以切到站長自己的固定發件服務

無論郵件是否成功,已經完成的審計快照都會先保存下來

下載完整 Markdown 修復報告#

跑完審計後,可以一次下載完整 Markdown 修復報告,不需要逐項生成文件

報告會帶上站點畫像、抽樣頁面、評分與封頂原因、全部失敗證據、未知與外部錯誤、可選模塊狀態、分組修復任務和複驗步驟

報告最後還有一段給開發 AI 的 handoff prompt

它可以交給 Codex、Claude 或其他編程助手,但會要求模型只使用已有證據,不能編出不存在的價格、服務、地址、實體、作者或統計來源

我通常把這份 Markdown 放在網站代碼倉庫旁邊,讓編程助手先定位生成對應 URL 的源文件,再自己審查 diff

一套實際使用順序#

  1. 打開 https://geo.sayori.org,先用站點模式審首頁域名
  2. 確認站點畫像和抽樣頁面沒有跑偏
  3. 如果首屏顯示抓取失敗,先看頁面獲取證據,不要繼續解釋一個不存在的分數
  4. 看 coverage、confidence 與三個優先行動,再決定總分有沒有參考價值
  5. 先處理 critical 與 major 失敗,回到對應頁面的源文件或 CMS 模板改
  6. 性能問題單獨確認移動端和桌面端都有真實 PageSpeed 數據
  7. 事實問題處理完,再按需運行 Evidence Map 或填一次自定義 API
  8. 下載 Markdown 報告,交給開發 AI 做第二輪定位,自己審覈改動後部署
  9. 需要持續觀察時再創建監控項目,並把 project ID 和 Token 保存到密碼管理器
  10. 不清楚某個按鈕或接口時打開 https://geo.sayori.org/docs
  11. 部署後重新審計同一 URL,確認失敗證據真的消失

它做不到什麼#

GeoScore 不是無限深度爬蟲,五頁樣本不能代表每一個 URL

它也不會替代 Search Console、服務器日誌、真實用戶數據或人工內容判斷

被 WAF、登錄牆、驗證頁或地區限制擋住的頁面,報告可能只能給出 unknownerror

這時不應該爲了追分關閉安全策略

它更不可能憑空確認某個消費者 AI 產品真的引用了你的站

對我來說,這些邊界反而讓報告更能用

一個審計工具應該把知道什麼、不知道什麼說清楚,剩下的事情再交給站點維護者去驗證

打賞
0
打賞
分享
# 教程 # SEO # GEO # 開源工具 # 網站優化
最後編輯 2026-09-11
GeoScore 2.4.5:一個站長用來查自己網站到底缺什麼的工具
https://blog.sayori.org/zh-hant/posts/geoscore-2-4-guide/
作者
Amiya_desi
發布於
2026-07-16
許可協議
CC BY-NC-SA 4.0

部分資訊可能已經過時

Riseup 的“激進服務器”列表:公益組織在提供什麼,我能做什麼
又來做一次自我介紹了(2026 年 7 月)