分析:衡量、診斷、報告
將第一方資料(Search Console、Bing Webmaster、GA4、伺服器記錄)轉化為決策。使用固定的決策樹診斷流量下降,避免猜測,並誠實衡量變更效果。
使用時機 / 不使用時機
適用於:
- Search Console、Bing Webmaster 與 GA4 匯出。
- 流量下降與演算法更新相關問題。
- CTR(點擊率)優化目標。
- 關鍵字蠶食。
- 爬蟲記錄分析。
- KPI 儀表板。
- 前後對比測試。
不適用於:
- 尋找站內缺陷 → 請使用 seo-technical、seo-audit。當下降決策樹指向此類問題時,本技能會呼叫它們。
- 為新頁面尋找關鍵字點子 → 請使用 seo-keywords。
- 競爭者能見度分析 → 請使用 seo-competitors。
需收集的輸入資料
- Search Console 成效匯出(多個)。
- 介面匯出:
Queries.csv/Pages.csv(僅限前 1,000 行)。 - 包含查詢與頁面維度的 API 或 Looker Studio 匯出:用於關鍵字蠶食分析。API 限制:每次請求 25,000 行,每天每種類型約 50,000 行(依據 google-rules §11)。
- 用於比較:兩個長度相等、對齊工作日的時間窗口,並排除最後 2-3 天(GSC 資料有延遲)。
- 介面匯出:
- 品牌正則表達式。 品牌名稱及其常見拼寫錯誤,例如
acme|acme ?corp|აკმე。 - 可選:
- Bing Webmaster 匯出(格式相同;可與 gsc_analyze 搭配使用)。
- GA4 自然搜尋到達頁面報告。
- 伺服器存取記錄(
.log/.gz)。 - 網站變更、部署與遷移的日期。
- 針對流量下降: 開始時間、受影響的區段/國家/裝置,以及轉換是否也下降。
工作流程
A. 機會分析(GSC/Bing 匯出)
-
執行分析:
mkdir -p seo-work python3 "${CLAUDE_PLUGIN_ROOT}/scripts/gsc_analyze.py" Queries.csv --brand "品牌|品牌別寫" --min-impressions 50 > seo-work/gsc.json python3 "${CLAUDE_PLUGIN_ROOT}/scripts/gsc_analyze.py" query_page.csv --brand "品牌" > seo-work/gsc-qp.json # 關鍵字蠶食旗標:
--striking-from 4 --striking-to 20(預設值);大型網站可提高--min-impressions。 -
閱讀
striking_distance(排名 4-20,按est_extra_clicks_at_pos3[估計值]排序)。這些是應優先改善的頁面。將每個頁面及其查詢交給 seo-onpage / seo-content。 -
閱讀
ctr_underperformers。前十個查詢,其 CTR 低於該網站自身在該排名位置的中位數 CTR 的一半(ctr_curve_used;當資料不足時,會回退至預設值)。- 原因:標題/摘要太弱、結果上方出現 SERP 功能或 AI Overview、或意圖不符。
- 在重寫前,使用 WebSearch 檢視即時 SERP。
-
question_queries:適合 FAQ 區段與「答案優先」段落的素材(請使用 seo-content、seo-ai-search)。 -
brand_split:分別報告非品牌點擊次數。品牌需求不應計入 SEO 成效。 -
cannibalization:一個查詢,其中有 2 個以上的頁面各佔 ≥10% 的曝光次數。針對每個情況決定:合併並設定 301 重定向、區分意圖、或將內部連結指向主要頁面。並非所有拆分都是問題:如果兩個頁面都排名良好,則保留原狀。
B. 期間比較與流量下降診斷
-
執行比較:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/gsc_analyze.py" last_28d.csv --compare prev_28d.csv > seo-work/gsc-compare.json每個下降項目都會獲得一個
likely_cause(可能原因):- "rankings dropped"(排名下降)
- "fewer impressions at similar rank"(排名相似但曝光減少,可能因需求下降或 SERP 功能影響)
- "CTR fell at similar rank"(排名相似但 CTR 下降)
這些是啟發式判斷:應以「與……一致」的方式表述。
-
按順序走訪下降決策樹,並在找到證據支持的第一個分支停止。記錄每個分支的證據:
-
下降是真實的嗎?
- GSC 點擊次數與 GA4 自然搜尋工作階段相比,比較趨勢方向(預期有 10-20% 的數據差異)。
- 僅 GA4 下降 → 追蹤/同意/標籤問題,而非 SEO 問題。
- 檢查年同比,以排除季節性因素。
-
技術問題。 平行執行:
robots_check.pysitemap_check.pypage_audit.py(針對排名下降最嚴重的網址)crawl.py(針對受影響的區段)
檢查:
- noindex、canonical 變更、5xx/429 狀態碼、robots 封鎖、重新導向變更、機器人驗證挑戰(
bot-challenge)。 - 下降日期當天的部署。
- Search Console 的「網頁索引」報告中「已排除」項目的跳升(請使用 seo-technical)。
-
演算法更新。 將下降日期與 Google 搜尋狀態儀表板(
https://status.search.google.com/→ 排名事件)進行比對。變化模式很重要:- 在更新日期發生的全站性階梯式變化,可能代表系統重新評估(實用內容/核心/垃圾內容)。參見 google-rules §4。
- 特定區段的變化則指向頁面層級的問題。
- 除非 Search Console 顯示人工手動行動,否則切勿說「被懲罰」。
-
季節性 / 需求。 在 GSC 中檢查年同比(最多 16 個月資料;參見 google-rules §11),並對核心詞使用 Google Trends。在排名穩定的情況下曝光下降 = 需求減少。
-
SERP 排擠。 排名穩定但 CTR 下降。使用 WebSearch 搜尋這些查詢:
- 出現 AI Overview?新的 SERP 功能(影片、PAA、購物、論壇)?廣告?
- Search Console 中是否有「搜尋生成式 AI 成效」報告可用?(參見 google-rules §10)
-
競爭者。 特定網址的排名被超越 → 使用 seo-competitors(對勝出的頁面進行 compare_pages)。檢查 Wayback CDX 查看它們的頁面何時變更。
-
-
當日誌可用時,使用日誌資料:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/log_analyze.py" access.log access.log.1.gz --verify-dns --sitemap-urls seo-work/urls.txt > seo-work/logs.json檢查:
- Googlebot 每日命中次數驟降(爬取容量問題:5xx/429 或伺服器緩慢;參見 google-rules §1)。
- 提供給爬蟲的錯誤。
- 參數化網址佔比(浪費爬取資源)。
- 從未爬取的 Sitemap 路徑。
- 偽造的 "Googlebot" IP(
unverified_ips)。 - AI 爬蟲(OAI-SearchBot、Claude-SearchBot、PerplexityBot)是否能到達網站。
C. 報告與儀表板
- KPI。 區分領先指標與落後指標:
- 領先:已索引頁面數(GSC)、曝光次數、目標群組的平均排名、CWV 通過率、爬取錯誤。
- 落後:非品牌點擊次數、自然搜尋轉換/營收(GA4)、AI 引用率(seo-ai-search)。
- 免費儀表板: 使用原生 Search Console 連接器(網站 + 網址曝光資料表)與 GA4 連接器的 Looker Studio。頁面包含:
- 總覽。
- 非品牌趨勢(透過正則表達式篩選)。
- 群組(按網址路徑分組)。
- 機會(排名 4-20)。
- CWV(使用 CrUX 連接器,或 psi.py 快照)。
- 月度報告: 變更了什麼、原因(附證據標籤)、我們做了什麼(來自 SEO-WORKLOG.md)、下一步計劃。
D. 衡量 SEO 變更是否有效
- 預先註冊。 在變更之前,在工作日誌中記錄:
- 已變更的網址。
- 對照組網址(相似且未變更的網址)。
- 衡量指標(目標查詢的點擊次數/曝光次數/CTR/排名)。
- 預期的變化方向。
- 觀察窗口:重新索引後至少 4 週;在「網址檢查」工具中檢查重新爬取日期。
- 分別為兩組匯出變更前後的等長窗口,然後對每組執行
gsc_analyze.py after.csv --compare before.csv。 - 報告處理組的變化 減去 對照組的變化。如果頁面數太少或點擊次數過低,則報告「結果不明確」。切勿根據單次前後對比推斷因果關係。
排名追蹤
-
免費: Search Console 中每個查詢的平均排名(按曝光加權,所有地點)。適合觀察趨勢;但非「我現在排在哪裡」的即時檢視。
-
付費: 固定關鍵字清單的每日排名,可按地點/裝置劃分,並包含 SERP 功能。在以下情況值得付費:
- 本地或多城市排名很重要,
- 客戶合約需要排名報告,或
- 您需要追蹤尚無曝光次數的關鍵字。
選項:Semrush Position Tracking、Ahrefs Rank Tracker、SE Ranking,或使用 DataForSEO SERP API 進行腳本化檢查(工具列表請參見 tools.md)。
檢查事項
| 檢查項目 | 規則 | 來源 |
|---|---|---|
| 比較窗口長度相等、對齊工作日、排除最後 2-3 天 | GSC 資料延遲 2-3 天 | google-rules §11 [Google 文件] |
| GSC 資料保留期限 | 16 個月 | google-rules §11 [Google 文件] |
| 「懲罰」說法 | 僅在有「人工手動行動」報告項目時使用 | google-rules §4 [Google 文件] |
| AI Overviews/AI 模式流量 | 計入「網頁」成效內;無單獨點擊次數 | google-rules §10 [Google 文件] |
| Googlebot 爬取率下降 | 與 5xx/429/慢速回應同時發生 | google-rules §1 [Google 文件] |
| CTR 期望值 | 優先使用網站自身的曲線;預設值為啟發式 | 啟發式 |
| 關鍵字蠶食門檻 | ≥2 個頁面各佔 ≥10% 曝光,且曝光 ≥100 次 | 啟發式 |
資料來源:免費 vs 付費
免費涵蓋了這裡的大部分需求。 包括 Search Console(+API)、Bing Webmaster(+其 AI 成效報告,若可用;參見 google-rules §10)、GA4、Looker Studio、伺服器記錄、Google 搜尋狀態儀表板、Google Trends。
付費工具可額外提供(參見 ${CLAUDE_PLUGIN_ROOT}/references/tools.md):
- Semrush / Ahrefs。
- 競爭者能見度歷史與關鍵字變動(您自己的資料在 GSC 中更佳)。
- 它們的演算法波動感測器(Semrush Sensor),用於判斷下降是否為業界普遍現象。
- 在更新期間回答「只有我們受影響嗎?」這個問題時值得使用。
- 省錢策略:查看免費的 Sensor 頁面和單一競爭者的「有機研究」歷史,而無需建立完整專案。
- 排名追蹤器: 如上所述。僅追蹤能產生營收的關鍵字,並將地點/裝置限制在真正重要的範圍。多數工具按關鍵字 × 地點 × 裝置 × 頻率計費,因此對於非波動性關鍵字,建議使用每週頻率而非每日。
- Screaming Frog 日誌檔案分析器(
## Screaming Frog)。當日誌檔案極大且使用者偏好圖形介面時很有用。log_analyze.py已免費涵蓋核心問題。
標記第三方流量數字為 [廠商資料] / [估計值]。這些是模型推估數據,非實際測量值。
輸出
seo-work/gsc.json等檔案,以及一份簡短的發現摘要:- 前十個觸手可及的機會:查詢、頁面、估計額外點擊次數
[估計值]。 - 主要的 CTR 改善項目。
- 關鍵字蠶食的處理決策。
- 前十個觸手可及的機會:查詢、頁面、估計額外點擊次數
- 下降診斷報告:使用 ✅/❌ 顯示決策樹與各分支的證據、最可能的解釋(以「與……一致」的措辭表達),以及應交由哪個技能處理的下一步行動。
- KPI/儀表板規格(Looker Studio 資料來源、欄位、篩選器),或一份月度報告草稿。
- 實驗記錄(預先註冊 + 結果)。
陷阱與迷思
- 平均排名 是所有查詢/地點按其曝光次數加權的結果。一個新的第 2 頁排名可能降低平均排名,但流量卻上升。
- 介面匯出上限為 1,000 行,且會隱藏匿名查詢,因此總計數字與圖表不符。
- 在更新日期發生的下降,並非就是該更新導致的證據。 應先排除技術與追蹤方面的原因。
- 對於季節性業務,年同比比月環比更可靠。
- 點擊次數下降但曝光次數不變,通常是由 AI Overviews 或其他 SERP 功能造成,而非排名損失。
- GA4 的「自然搜尋」 取決於同意模式與管道分組,因此請在下降日期檢查設定變更。
- 不要為了優化 CTR 而使用點擊誘餌標題。 Google 可能會改寫它們(參見 google-rules §3)。
記錄工作
附加至 SEO-WORKLOG.md(${CLAUDE_PLUGIN_ROOT}/references/worklog.md):
- 使用的匯出檔案(日期範圍)。
- 執行的腳本。
- 發現與證據標籤。
- 診斷結論。
- 預先註冊的實驗。
- 付費工具使用情況。
- 預計重新檢查的日期(例如 "re-pull GSC on 2026-11-21 for the title test")。