Community研究與資料分析github.com

ChaoticSurfer/seo-suite

搜尋成效分析、流量下降診斷與 SEO 報告。適用於分析流量為何下降、自然搜尋流量下滑、排名流失、Search Console 匯出分析、尋找快速改善機會等情境。

seo-suite 是什麼?

此技能專為 SEO 專業人士與開發者打造,提供以第一方資料(Search Console、Bing Webmaster、GA4、伺服器記錄)為基礎的深入分析、診斷與報告功能。它能透過固定決策樹診斷流量下降原因,避免猜測,並誠實衡量 SEO 變更的效果。支援的平台包括 Google Search Console、Bing Webmaster、GA4 與 Looker Studio(免費)。其運作方式依賴於多個 Python 腳本,例如 `gsc_analyze.py` 進行機會分析與期間比較、`log_analyze.py` 分析爬蟲記錄、以及 `robots_check.py` 與 `sitemap_check.py` 等技術檢查工具。此技能特別擅長處理流量下降診斷、排名機會分析、關鍵字蠶食、品牌與非品牌流量拆分、以及實驗效果衡量。它還明確說明何時應考慮付費工具(如 Semrush 或 Ahrefs)進行排名追蹤,並提供 Looker Studio 儀表板規格。此技能不適用於網站技術缺陷檢測、新內容關鍵字探索或競爭對手研究,但會在其決策樹指向這些需求時調用對應的專業技能。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ChaoticSurfer/seo-suite/tree/HEAD/skills/seo-analytics

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

分析:衡量、診斷、報告

將第一方資料(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 匯出)

  1. 執行分析:

    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。

  2. 閱讀 striking_distance(排名 4-20,按 est_extra_clicks_at_pos3 [估計值] 排序)。這些是應優先改善的頁面。將每個頁面及其查詢交給 seo-onpage / seo-content。

  3. 閱讀 ctr_underperformers。前十個查詢,其 CTR 低於該網站自身在該排名位置的中位數 CTR 的一半(ctr_curve_used;當資料不足時,會回退至預設值)。

    • 原因:標題/摘要太弱、結果上方出現 SERP 功能或 AI Overview、或意圖不符。
    • 在重寫前,使用 WebSearch 檢視即時 SERP。
  4. question_queries:適合 FAQ 區段與「答案優先」段落的素材(請使用 seo-content、seo-ai-search)。

  5. brand_split:分別報告非品牌點擊次數。品牌需求不應計入 SEO 成效。

  6. cannibalization:一個查詢,其中有 2 個以上的頁面各佔 ≥10% 的曝光次數。針對每個情況決定:合併並設定 301 重定向、區分意圖、或將內部連結指向主要頁面。並非所有拆分都是問題:如果兩個頁面都排名良好,則保留原狀。

B. 期間比較與流量下降診斷

  1. 執行比較:

    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 下降)

    這些是啟發式判斷:應以「與……一致」的方式表述。

  2. 按順序走訪下降決策樹,並在找到證據支持的第一個分支停止。記錄每個分支的證據:

    1. 下降是真實的嗎?

      • GSC 點擊次數與 GA4 自然搜尋工作階段相比,比較趨勢方向(預期有 10-20% 的數據差異)。
      • 僅 GA4 下降 → 追蹤/同意/標籤問題,而非 SEO 問題。
      • 檢查年同比,以排除季節性因素。
    2. 技術問題。 平行執行:

      • robots_check.py
      • sitemap_check.py
      • page_audit.py(針對排名下降最嚴重的網址)
      • crawl.py(針對受影響的區段)

      檢查:

      • noindex、canonical 變更、5xx/429 狀態碼、robots 封鎖、重新導向變更、機器人驗證挑戰(bot-challenge)。
      • 下降日期當天的部署。
      • Search Console 的「網頁索引」報告中「已排除」項目的跳升(請使用 seo-technical)。
    3. 演算法更新。 將下降日期與 Google 搜尋狀態儀表板(https://status.search.google.com/ → 排名事件)進行比對。變化模式很重要:

      • 在更新日期發生的全站性階梯式變化,可能代表系統重新評估(實用內容/核心/垃圾內容)。參見 google-rules §4。
      • 特定區段的變化則指向頁面層級的問題。
      • 除非 Search Console 顯示人工手動行動,否則切勿說「被懲罰」。
    4. 季節性 / 需求。 在 GSC 中檢查年同比(最多 16 個月資料;參見 google-rules §11),並對核心詞使用 Google Trends。在排名穩定的情況下曝光下降 = 需求減少。

    5. SERP 排擠。 排名穩定但 CTR 下降。使用 WebSearch 搜尋這些查詢:

      • 出現 AI Overview?新的 SERP 功能(影片、PAA、購物、論壇)?廣告?
      • Search Console 中是否有「搜尋生成式 AI 成效」報告可用?(參見 google-rules §10)
    6. 競爭者。 特定網址的排名被超越 → 使用 seo-competitors(對勝出的頁面進行 compare_pages)。檢查 Wayback CDX 查看它們的頁面何時變更。

  3. 當日誌可用時,使用日誌資料:

    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 變更是否有效

  1. 預先註冊。 在變更之前,在工作日誌中記錄:
    • 已變更的網址。
    • 對照組網址(相似且未變更的網址)。
    • 衡量指標(目標查詢的點擊次數/曝光次數/CTR/排名)。
    • 預期的變化方向。
    • 觀察窗口:重新索引後至少 4 週;在「網址檢查」工具中檢查重新爬取日期。
  2. 分別為兩組匯出變更前後的等長窗口,然後對每組執行 gsc_analyze.py after.csv --compare before.csv。
  3. 報告處理組的變化 減去 對照組的變化。如果頁面數太少或點擊次數過低,則報告「結果不明確」。切勿根據單次前後對比推斷因果關係。

排名追蹤

  • 免費: 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 已免費涵蓋核心問題。

標記第三方流量數字為 [廠商資料] / [估計值]。這些是模型推估數據,非實際測量值。

輸出

  1. seo-work/gsc.json 等檔案,以及一份簡短的發現摘要:
    • 前十個觸手可及的機會:查詢、頁面、估計額外點擊次數 [估計值]。
    • 主要的 CTR 改善項目。
    • 關鍵字蠶食的處理決策。
  2. 下降診斷報告:使用 ✅/❌ 顯示決策樹與各分支的證據、最可能的解釋(以「與……一致」的措辭表達),以及應交由哪個技能處理的下一步行動。
  3. KPI/儀表板規格(Looker Studio 資料來源、欄位、篩選器),或一份月度報告草稿。
  4. 實驗記錄(預先註冊 + 結果)。

陷阱與迷思

  • 平均排名 是所有查詢/地點按其曝光次數加權的結果。一個新的第 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")。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

ChaoticSurfer/seo-suite

Use for visibility in AI answers (AEO, GEO, "LLM SEO") — "get cited by ChatGPT / Perplexity / Google AI Overviews / AI Mode / Copilot / Claude / Gemini", "why doesn't ChatGPT mention us", "should we block GPTBot or ClaudeBot", "AI crawler access", "do we need llms.txt", "track our AI visibility", "brand in AI answers", "opt out of AI Overviews". Covers eligibility, crawler policy by purpose (search vs user-fetch vs training), Bing indexing for ChatGPT and Copilot, consistent entity facts, citable content, off-site sources, and repeatable measurement with confidence intervals. Not for: classic keyword and ranking work (seo-keywords, seo-content), schema validation (seo-schema), Business Profile and maps (seo-local), traffic-drop forensics (seo-analytics).

ChaoticSurfer/seo-suite

Competitor and SERP analysis. Use for "who are my SEO competitors", "why does X outrank me", "compare my page with the top results", "competitor content gap", "keyword gap vs competitors", "what is ranking for <keyword>", "SERP features for <keyword>", "competitor backlinks", "how much traffic does competitor get", "what did competitor change on their page", "monitor competitor sites". Finds real SERP competitors (not just business rivals), compares pages with compare_pages.py, inventories SERP features and intent, tracks competitor page changes via the Wayback Machine, and states exactly when Semrush/Ahrefs/Similarweb are worth paying for. Not for keyword discovery from seeds (seo-keywords), link building execution (seo-links), or your own traffic analysis (seo-analytics).

相關技能