基於SERP的語意主題聚類,用於內容架構規劃。根據實際Google SERP重疊(而非文字相似度)對關鍵字進行分組,設計樞紐與輻條式內容集群及內部連結矩陣,並生成互動式視覺化圖表。若已安裝claude-blog,可選擇執行內容創作。當使用者提及「主題集群」、「內容集群」、「語意聚類」、「支柱頁面」、「樞紐與輻條」、「內容架構」、「關鍵字分組」或「集群規劃」時使用。
語意主題聚類
基於SERP重疊的關鍵字聚類,用於內容架構規劃。根據Google實際排名(共享前10名結果)對關鍵字進行分組,而非文字相似度。設計樞紐與輻條式內容集群及內部連結矩陣,並生成互動式集群地圖視覺化。
腳本: 位於插件根目錄的 scripts/ 目錄中。
快速參考
| 指令 | 功能 |
|---|---|
/seo cluster plan <seed-keyword> |
完整規劃流程:擴展、聚類、架構、視覺化 |
/seo cluster plan --from strategy |
從現有 /seo plan 輸出匯入 |
/seo cluster execute |
執行規劃:透過 claude-blog 建立內容或輸出簡報 |
/seo cluster map |
重新產生互動式集群視覺化 |
規劃流程
步驟 1:種子關鍵字擴展
使用 WebSearch 將種子關鍵字擴展為 30-50 個變體:
- 相關搜尋:搜尋種子關鍵字,提取「相關搜尋」和「其他人也搜尋」
- People Also Ask (PAA):從 SERP 結果中提取所有 PAA 問題
- 長尾修飾詞:附加常見修飾詞:「最佳」、「如何」、「vs」、「入門」、「工具」、「範例」、「指南」、「模板」、「常見錯誤」、「檢查清單」
- 問題挖掘:產生誰/什麼/何時/哪裡/為什麼/如何的變體
- 意圖修飾詞:加入商業修飾詞:「價格」、「評價」、「替代方案」、「比較」、「免費」、「頂尖」
去重: 標準化變體(小寫、移除冠詞),移除完全重複項。
目標:30-50 個獨特關鍵字變體。若少於 30 個,以頂尖 PAA 問題作為種子進行第二輪擴展。
步驟 2:SERP 重疊聚類
這是核心差異點。載入 references/serp-overlap-methodology.md 以取得完整演算法。
流程:
- 根據初始意圖猜測對關鍵字分組(減少兩兩比較)
- 對於組內的每個候選配對,使用 WebSearch 搜尋兩個關鍵字
- 計算前 10 名自然結果中共享的 URL 數量(忽略廣告、精選摘要、PAA)
- 應用閾值:
| 共享結果 | 關係 | 動作 |
|---|---|---|
| 7-10 | 同一篇文章 | 合併為單一目標頁面 |
| 4-6 | 同一集群 | 歸入同一輻條集群 |
| 2-3 | 相互連結 | 置於相鄰集群,加入交叉連結 |
| 0-1 | 分離 | 分配到不同集群或排除 |
優化: 40 個關鍵字時,完整兩兩比較 = 780 次。改為:
- 按意圖預先分組(4 組約 10 個 = 4 x 45 = 180 次比較)
- 僅交叉檢查組邊界關鍵字
- 跳過兩個皆為相同主詞長尾變體的配對(假設為同一集群)
DataForSEO 整合: 若 DataForSEO MCP 可用,使用 serp_organic_live_advanced 取代 WebSearch 取得 SERP 資料。每次批次前執行 claude-seo run dataforseo_costs.py check serp_organic_live_advanced --count N。若 "status": "needs_approval",顯示成本估算並詢問使用者。若 "status": "blocked",回退至 WebSearch。
步驟 3:意圖分類
將每個關鍵字分類為四種意圖類別之一:
| 意圖 | 訊號 | 納入集群? |
|---|---|---|
| 資訊型 | 如何、什麼、為什麼、指南、教學、學習 | 是 |
| 商業型 | 最佳、頂尖、評價、比較、vs、替代方案 | 是 |
| 交易型 | 購買、價格、折扣、優惠券、訂購、註冊 | 是 |
| 導航型 | 品牌名稱、特定產品名稱、登入 | 否(排除) |
從聚類中移除導航型關鍵字。標記邊界案例供人工審查。關鍵字可具有混合意圖(例如「最佳 CRM 軟體」既是商業型也是資訊型)——依主導意圖分類。
步驟 4:樞紐與輻條架構
載入 references/hub-spoke-architecture.md 以取得完整規格。
設計集群結構:
- 選擇支柱關鍵字:最高搜尋量、最廣泛意圖、與其他關鍵字最多 SERP 重疊
- 將輻條分組為集群:每個集群是一個子主題領域(每個支柱 2-5 個集群)
- 為集群分配文章:每個集群獲得 2-4 篇輻條文章
- 為每篇文章選擇模板:根據意圖分類:
| 意圖模式 | 模板選項 |
|---|---|
| 資訊型(廣泛) | ultimate-guide |
| 資訊型(如何) | how-to |
| 資訊型(列表) | listicle |
| 資訊型(概念) | explainer |
| 商業型(比較) | comparison |
| 商業型(評估) | review |
| 商業型(排名) | best-of |
| 交易型 | landing-page |
-
設定字數目標:
- 支柱頁面:2500-4000 字
- 輻條文章:1200-1800 字
-
關鍵字自相殘殺檢查:沒有兩篇文章共享相同的主要關鍵字。若 SERP 重疊為 7+,將這些關鍵字合併為一篇同時定位兩者的文章。
步驟 5:內部連結矩陣
設計雙向連結結構:
| 連結類型 | 方向 | 要求 |
|---|---|---|
| 輻條到支柱 | 輻條 -> 支柱 | 強制(每個輻條) |
| 支柱到輻條 | 支柱 -> 輻條 | 強制(每個輻條) |
| 輻條到輻條(集群內) | 輻條 <-> 輻條 | 每篇文章 2-3 個連結 |
| 跨集群 | 輻條 -> 輻條(其他集群) | 每篇文章 0-1 個連結 |
規則:
- 每篇文章必須至少有 3 個傳入內部連結
- 無孤兒頁面(每篇文章可在 2 次點擊內從支柱到達)
- 連結錨點文字必須使用目標關鍵字或接近變體(無「點擊這裡」)
- 連結位置:位於正文內容中,而非僅導航/側邊欄
將連結矩陣產生為 JSON 鄰接列表:
{
"links": [
{ "from": "pillar", "to": "cluster-0-post-0", "type": "mandatory", "anchor": "keyword" },
{ "from": "cluster-0-post-0", "to": "pillar", "type": "mandatory", "anchor": "keyword" }
]
}
步驟 6:互動式集群地圖
使用 templates/cluster-map.html 中的模板產生 cluster-map.html。
- 讀取模板檔案
- 從集群規劃建立
CLUSTER_DATAJSON 物件:{ pillar: { title, keyword, volume, template, wordCount, url }, clusters: [{ name, color, posts: [{ title, keyword, volume, template, wordCount, url, status }] }], links: [{ from, to, type }], meta: { totalPosts, totalClusters, totalLinks, estimatedWords } } - 將模板中的
CLUSTER_DATA佔位符替換為實際 JSON - 將完成的 HTML 檔案寫入輸出目錄
- 通知使用者:「在瀏覽器中開啟
cluster-map.html以探索互動式集群地圖。」
策略匯入
當使用 --from strategy 呼叫時:
- 在目前目錄中尋找最近的
/seo plan輸出(搜尋符合*SEO*Plan*、*strategy*、*content-strategy*的檔案) - 解析 Markdown 表格以取得:關鍵字、頁面類型、內容支柱、URL 結構
- 驗證提取的資料:檢查重複項、遺失關鍵字、不完整條目
- 使用 SERP 資料豐富:對提取的關鍵字執行 SERP 重疊分析
- 使用匯入的關鍵字作為起始集合建立集群規劃(跳過步驟 1)
若未找到策略檔案,提示使用者:「目前目錄中未找到現有 SEO 規劃。請先執行 /seo plan,或提供種子關鍵字以進行全新聚類。」
執行流程
當呼叫 /seo cluster execute 時:
檢查 claude-blog
測試:~/.claude/skills/blog/SKILL.md 是否存在?
若 claude-blog 已安裝:
- 載入
references/execution-workflow.md以取得完整演算法 - 從目前目錄讀取
cluster-plan.json - 檢查恢復狀態:掃描輸出目錄以尋找已撰寫的文章
- 按優先順序執行:支柱優先,然後按搜尋量(最高優先)排列的輻條
- 對於每篇文章,使用集群上下文呼叫
blog-write技能:- 集群角色(支柱或輻條)
- 在集群中的位置(集群索引、文章索引)
- 目標關鍵字和次要關鍵字
- 模板類型和字數目標
- 要包含的內部連結(含錨點)
- 將從未來文章接收的連結(佔位符標記)
- 每篇文章撰寫完成後,掃描先前文章以尋找反向連結佔位符,並注入新文章的 URL
- 所有文章撰寫完成後,產生集群評分卡
若 claude-blog 未安裝:
- 為集群規劃中的每篇文章產生詳細內容簡報
- 每個簡報包含:
- 標題和 Meta 描述
- 主要關鍵字和次要關鍵字
- 模板類型和建議結構(H2/H3 大綱)
- 字數目標
- 要包含的內部連結(含錨點文字)
- 要涵蓋的要點
- 要區別的競爭頁面
- 將簡報寫入
cluster-briefs/目錄,作為個別 Markdown 檔案 - 通知使用者:「安裝 claude-blog 以自動建立內容。簡報已儲存至
cluster-briefs/。」
集群評分卡
執行後品質報告。在 /seo cluster execute 後自動執行,或透過分析輸出目錄按需執行。
| 指標 | 目標 | 測量方式 |
|---|---|---|
| 覆蓋率 | 100% | 已撰寫文章 / 已規劃文章 |
| 連結密度 | 每篇文章 3+ | 計算每篇文章的內部連結數 |
| 孤兒頁面 | 0 | 傳入連結少於 1 的文章 |
| 關鍵字自相殘殺 | 0 衝突 | 檢查重複的主要關鍵字 |
| 圖片數量 | 每篇文章 1+ | 至少包含一張圖片的文章 |
| 支柱連結 | 100% | 所有輻條連結到支柱,反之亦然 |
| 交叉連結 | 80%+ | 建議的輻條到輻條連結已實作 |
| 內容缺口 | 0 | 已規劃但跳過或不完整的文章 |
地圖重新產生
當呼叫 /seo cluster map 時:
- 從目前目錄讀取
cluster-plan.json - 掃描輸出目錄並更新文章狀態(已規劃 vs 已撰寫)
- 使用更新後的狀態重新產生
cluster-map.html - 報告:已撰寫 vs 已規劃的文章數、連結完成百分比
輸出檔案
所有輸出寫入目前工作目錄:
| 檔案 | 說明 |
|---|---|
cluster-plan.json |
機器可讀的集群規劃(完整資料) |
cluster-plan.md |
人類可讀的集群規劃摘要 |
cluster-map.html |
互動式 SVG 視覺化 |
cluster-briefs/ |
內容簡報(若無 claude-blog) |
cluster-scorecard.md |
執行後品質報告 |
跨技能整合
| 技能 | 關係 |
|---|---|
seo-plan |
匯入來源:策略匯入讀取 seo-plan 輸出 |
seo-content |
品質檢查:對產生內容進行 E-E-A-T 驗證 |
seo-schema |
Schema 標記:為集群頁面加入 Article、BreadcrumbList、ItemList |
seo-dataforseo |
資料來源:DataForSEO MCP 可用時的 SERP 資料 |
seo-google |
報告:產生集群規劃和評分卡的 PDF 報告 |
集群規劃或執行完成後,提供:「產生 PDF 報告?請使用 /seo google report」
錯誤處理
| 錯誤 | 原因 | 解決方案 |
|---|---|---|
| 「未提供種子關鍵字」 | 缺少引數 | 提示使用者提供種子關鍵字或 URL |
| 「關鍵字變體不足」 | 擴展產生少於 15 個關鍵字 | 使用 PAA 問題執行第二輪擴展 |
| 「SERP 資料不可用」 | WebSearch 和 DataForSEO 皆失敗 | 30 秒後重試;若持續失敗,使用僅意圖聚類並發出警告 |
| 「未找到策略檔案」 | --from strategy 但無規劃存在 |
提示使用者先執行 /seo plan |
| 「找不到 cluster-plan.json」 | 未規劃即執行 | 提示使用者先執行 /seo cluster plan |
| 「claude-blog 未安裝」 | 嘗試執行但無部落格技能 | 改為產生內容簡報;建議安裝 |
| 「DataForSEO 預算超支」 | 成本檢查回傳「blocked」 | 回退至 WebSearch;通知使用者 |
| 「重複的主要關鍵字」 | 偵測到關鍵字自相殘殺 | 合併受影響的文章或重新分配關鍵字 |
| 「偵測到孤兒頁面」 | 文章缺少傳入連結 | 從最近的集群同級加入連結 |
| 「恢復狀態損毀」 | 規劃與輸出不匹配 | 從輸出目錄掃描重建狀態 |
安全性
- 所有 URL 透過
claude-seo run render_page.py <url> --mode auto擷取(透過url_safety的 SPA 感知 SSRF 保護) - 不儲存或傳輸任何憑證
- 輸出檔案不含 PII 或 API 金鑰
- 每次 API 呼叫前執行 DataForSEO 成本檢查
FLOW 框架整合
對於提示引導的關鍵字研究和缺口分析,請使用 /seo flow find [url|topic]:FLOW 的 5 個發現階段提示透過結構化發現提示補充 SERP 重疊聚類方法。






