模板修復後,兩條標題告警消失了,是否就算通過?如果同一版本讓中文頁的相關連結跳到英文,或有一個請求失敗的 URL 悄悄從報表消失,答案仍然是否定的。
修復後真正要問的是:原本每個 URL 在同一項檢查下,究竟改變了甚麼? 先按照批量審計分組指南確認修復批次,再把每個原始 URL 留在比較中。告警總數減少只是線索,逐項配對才能解釋原因。
改動前先固定比較條件
保存原始輸入清單、原始回應與檢查定義,記錄擷取時間、請求設定、環境、規則版本及完成數。若審計服務不能匯出原始資料列,就保存畫面上的發現與完成狀態,另列出可自行重現的檢查。不要把本地腳本說成重現了服務的評分。
用同一個 URL、語言及規則作配對鍵。在證實對本項檢查等效之前,保留查詢參數與結尾斜線。發生跳轉的輸入 URL 與最終目的地要分開記錄,否則兩個輸入可能被壓成一條看似成功的結果。重定向排障實例說明如何定位這一層的交付行為。
每條記錄可以保留這些欄位:
input_url, locale, rule_id, rule_version, captured_at
http_status, final_url, raw_evidence_path, observed_value
環境或規則改變時,先註明差異並建立可比較的基準,再判斷結果是否由修復造成。校驗值能協助確認輸入清單相同,不能證明兩次請求看到等效內容。
重現一個「修好了,仍不應通過」的版本
這個範例於 2026 年 11 月 4 日使用 Node v26.4.0 與專案已安裝的 node-html-parser 執行。它是刻意建構的本地 HTTP 實驗,不是 Fennec App 審計匯出、客戶案例或正式網站實驗。檢查器讀取回應 HTML,不執行 JavaScript,也不檢查 Google 索引。
實驗依次請求三種狀態下的五個路徑。兩個英文頁最初在標題重複 | Demo;中文頁、例外頁與重試樣本起初正常。每個成功的 HTML 回應都執行兩項精確檢查:標題是否以 | Demo | Demo 結尾,以及相關連結是否指向另一語言的路徑前綴。這些是本實驗專用的規則,並非通用 SEO 規範或標題寫作建議。
mkdir seo-retest-lab
cd seo-retest-lab
npm init -y
npm install [email protected]
# 將上方連結的腳本另存為 capture.mjs。
node capture.mjs
使用支援內建 fetch 的 Node.js(18 或以上版本)。在新資料夾安裝本範例使用的解析器版本,執行最後一行前先將連結的腳本另存為 capture.mjs。腳本在可用連接埠啟動回環伺服器,發出真實 HTTP 請求,保存各回應及 observations.json,然後關閉伺服器;不需要憑證或遠端網站。執行前先閱讀腳本;重新執行會覆寫產生的擷取檔案。
| 輸入路徑 | 基準 | 候選修復 | 修正後重跑 |
|---|---|---|---|
/en/a/ | 標題後綴重複 | 標題已修復 | 標題已修復 |
/en/b/ | 標題後綴重複 | 標題已修復 | 標題已修復 |
/zh/a/ | 語言連結正確 | 連到 /en/a/ | 保持 /zh/a/ |
/en/exception/ | 兩項均通過 | 兩項均通過 | 兩項均通過 |
/en/retry/ | 兩項均通過 | HTTP 503;無法判定 | HTTP 200;兩項均通過 |
候選版本修好兩項標題問題,卻新增一條跨語言錯鏈,另有一個回應無法讀取,因此不符合這個批次的驗收條件。修正後重跑恢復中文目的地及失敗回應,同時保留兩項標題修復。
先配對資料列,再計算結果
以穩定鍵連接前後兩次擷取,保留未匹配的資料,不要用內連接默默丟掉它們。對每個原始 URL 與規則分類:
| 修復前 | 修復後 | 解讀 |
|---|---|---|
| 失敗 | 通過 | 本項已修復 |
| 失敗 | 失敗 | 仍然失敗 |
| 通過 | 失敗 | 新增回歸 |
| 通過 | 通過 | 維持通過 |
| 缺失或無法讀取 | 任意狀態,或反過來 | 無法判定;檢查覆蓋情況 |
本實驗五個 URL 乘兩項規則,得到十條比較資料。候選版本有 2 項已修復、1 項回歸、2 項無法判定、5 項維持通過。修正後重跑有 2 項已修復、8 項維持通過,沒有回歸或無法判定項。兩條無法判定資料對應同一個失敗 URL,不是兩次失敗請求;它的 503 回應無法判定任何一項檢查。
不要把 null 當成「沒有問題」。先確認請求成功並取得預期文件;即使狀態為 200,驗證挑戰頁或登入頁也可能不能用作證據。重新請求缺失樣本,同時保留先前的失敗,不要把它從紀錄中抹去。真實網站還需記錄渲染模式、跳轉及內容差異,這個小型實驗並未涵蓋它們。
用對照樣本找出連帶影響
兩個標題樣本回答原定缺陷是否消失;中文樣本檢查相鄰語言邊界;例外頁檢查未受影響路徑是否仍然正常;重試樣本揭示覆蓋不完整。
按實際改動邊界選對照,例如另一個模板、語言、分頁狀態或刻意保留的覆寫。五個本地樣本不能證明整個正式網站正確。較大的批次應對固定 URL 集合重跑同一規則,並在模板不同處擴大人工檢查。修復優先級工作流可協助判斷哪一項已證實回歸應先處理。
除了可見文字,也要檢查錨點實際目的地。Google 連結指引說明可抓取錨點與有用的連結文字。同語言路徑前綴只是本實驗的預期,真實多語言網站可以有其他 URL 結構或刻意的語言切換。執行連結檢查,並核對真實使用流程的預期目的地。
技術驗收與 Google 端觀察分開記錄
本地批次的通過條件是:所有輸入均返回預期文件、兩項標題修復仍然存在、中文連結正確、對照樣本維持通過。把原始證據與規則版本連同結論保存。描述正式網站行為之前,還要檢查實際版本的建置、渲染、連結及索引指令。
使用 SEO 審計工作表保存改動及對應證據。如果修復涉及 canonical,應按 Google canonical 指引檢查相關訊號;這個標題與連結實驗沒有測試 canonical 選擇。
Google 是否處理改動,是另一項觀察。網址審查說明區分索引紀錄與即時測試。本地檢查通過,不能證明 Google 已重新抓取、選定 canonical、收錄頁面或提升排名。技術修復的結論只涵蓋證據支持的範圍,搜尋結果另行觀察。