seo-keyword-cluster について
検索意図と SERP の重複に基づき、シードキーワードから優先順位付きのコンテンツクラスター計画を作成するマーケティングスキルです。SEO プランナー向けで、ピラー記事と関連記事、内部リンク、品質スコアカードをまとめます。
主な機能
- 01シードキーワードの拡張と絞り込み
- 02SERP URL の重複によるクラスタリング
- 03ピラー記事と関連記事の計画
- 04価値に基づくクラスターの優先付け
- 05品質基準による計画の検証
活用シーン
- 013~20 個のシード語を基にした企画
- 02検索意図に応じたテーマの分類
- 03クラスターの網羅性と内部リンクの確認
MCP 対応
接続済みの SE Ranking MCP サーバーが必要です。キーワードと SERP のデータツールを使って、キーワードを拡張・分類します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ seranking/ seo-skills --skill seo-keyword-clusterインストール後、Claude Code で/seo-keyword-clusterを入力して読み込まれたか確認します。
同梱ファイルreferences/serp-overlap-methodology.md
詳細
出力例:examples/seo-keyword-cluster-headless-cms-20260514/PLAN.md
キーワードクラスター
シードキーワードから優先順位付きのクラスター計画を作成します。各クラスターは検索意図とテーマごとにグループ化され、検索ボリュームの合計、ピラーのコンセプト、スポーク記事、各スポークに推奨される H1/H2 を含みます。
前提条件
- SE Ranking MCP サーバーに接続されていること。
- ユーザーから次の情報が提供されること:(a)シードキーワード 3~20 個、(b)対象市場の国(デフォルト:
us)、任意で(c)最小検索ボリュームのしきい値(デフォルト:100/月)、(d)最大 KD(デフォルト:60)。
プロセス
-
シードを拡張する
DATA_getRelatedKeywords、DATA_getSimilarKeywords、DATA_getLongTailKeywords- 各シードについて、対象国の関連キーワード、類似キーワード、ロングテールキーワードのバリエーションを取得します。
- シードごとに候補キーワードを少なくとも 100 個集め、シード間の重複を除去します。
-
質問ベースで拡張する
DATA_getKeywordQuestions- 上位 5 個のシードについて、質問意図のキーワードを取得します。
- これらは通常、PAA や強調スニペットの可能性があるスポーク記事になります。
-
クリーニングとフィルタリング
- 最小検索ボリュームを下回るキーワードと、最大 KD を上回るキーワードを除外します。
- 対象が所有していないブランド関連語を除外します。
- 検出された検索意図(情報収集型、商用型、取引型、ナビゲーション型)を各キーワードにタグ付けします。
-
SERP の重複に基づいてクラスター化する
DATA_getSerpResults(またはDATA_getSerpTaskAdvancedResults)- テキストの類似性ではなく、Google が実際にどのようにランク付けしているか(上位 10 件のオーガニック URL の共通性)に基づいてキーワードをグループ化します。トークン重複によるクラスター化はカニバリゼーションを引き起こします。アルゴリズムの全容とアンチパターンの説明は
references/serp-overlap-methodology.mdを参照してください。 - 実行前に予算を確認します。
estimated_credits = num_candidate_keywords × per_keyword_costを計算します。per_keyword_costは3(SERP-standard、デフォルト)または10(SERP-advanced、後続の処理で AIO/PAA が必要な場合のみ)です。クラスター化には SERP-standard で十分です。estimated_credits > 500の場合は、ユーザーに数値を提示し、次の 2 つの方法を提案します:(a)SERP-standard で続行する、(b)ステップ 3 で最小検索ボリュームのしきい値を上げるか、最大 KD を下げて候補セットを絞り込み、再実行する。ユーザーがすでに SERP-advanced を指定しており、見積もりが 500 を超える場合は、より低コストな代替案として SERP-standard も提示します。 - SERP を取得します(候補キーワードごとに 1 回呼び出し、セッション中はキャッシュされます)。
references/serp-overlap-methodology.mdの §「Caching」を参照してください。SERP の取得回数はキーワード数と同じであり、ペア数ではありません。 - ペアごとの重複スコアを算出します。 意図ごとの事前グループ内の各ペアについて(O(N²) の総当たりを避ける最適化については
references/serp-overlap-methodology.mdの §「Pre-Grouping」を参照)、上位 10 件のオーガニック結果に含まれる共通 URL を数えます。しきい値を適用します:共通 URL が 7~10 件なら同じ投稿(キーワードを統合)、4~6 件なら同じクラスター、2~3 件ならクラスター間で相互リンク、0~1 件なら別クラスターにするか除外します。 - 4~6 件以上の重複グラフの連結成分からクラスターを作成します。目標は 5~12 クラスターです。各クラスターに名前、主要キーワード、副次キーワード、検索ボリュームの合計、加重 KD を設定します。
- 各クラスターを、ピラー向き(広範で検索ボリュームが多く、情報収集型)またはスポークのみ(範囲が狭く、具体的)に分類します。
- テキストの類似性ではなく、Google が実際にどのようにランク付けしているか(上位 10 件のオーガニック URL の共通性)に基づいてキーワードをグループ化します。トークン重複によるクラスター化はカニバリゼーションを引き起こします。アルゴリズムの全容とアンチパターンの説明は
-
ピラーとスポークの構成
- 各ピラークラスターについて、スポーク記事を 3~7 本選定します(それぞれサブクラスターまたは質問から 1 つ)。
- 各スポークについて、H1 と 3~5 個の H2 を作成します。
- 内部リンク構造を割り当てます:ピラーからすべてのスポークへリンクし、スポークからピラーへリンクし、テーマが近いスポーク同士も相互にリンクします。
-
優先順位を付ける
- ステップ 4 で SERP の重複に基づいてクラスターを作成した後に適用します。数式はすでにグループ化されたクラスターを評価するものであり、どのキーワードを同じクラスターにするかには影響しません。
- 各クラスターを、検索ボリューム(40%)+ KD の逆数(30%)+商用意図の重み付け(30%)でスコア化します。
- 優先順位を付けた構築順を出力します。
-
品質スコアカード(生成後の検証)
PLAN.mdの作成後、作成したプランに対して4つの指標による品質スコアカードを実行し、いずれかの指標が不合格の場合はユーザーに警告します。これは、先方の実行後スコアカードモデルを参考に、クラスター計画の出力に合わせて調整したものです。seo-keyword-clusterはアーキテクチャの作成までを対象とするため、生成コンテンツではなくプランを評価します。- カニバリゼーション(許容なし)。 プラン内のどの2つのクラスターも、相互に40%以上のSERP重複率を共有してはなりません(ステップ4でキャッシュしたSERPマトリックスから算出)。この基準に抵触するクラスターが2つある場合は、再統合し、ステップ5以降を再実行します。
- 孤立記事(許容なし)。 プラン内のすべてのスポーク記事は、ステップ5で作成した内部リンクマップでピラーページからリンクされている必要があります。ピラーページからの被リンクがないスポーク記事は孤立記事です。
- カバレッジ。 各クラスターのピラーページは、クラスターの検索ボリューム上位半分にあたる高ボリュームキーワードの70%以上を、プライマリキーワードとセカンダリキーワードのセット、またはステップ5で作成したH2見出しでカバーする必要があります。70%未満の場合、ピラーページが対象クラスターを代表するには範囲が狭すぎます。
- アンカーの多様性。 クラスター内のすべての内部リンク(ピラーページ↔スポーク記事、スポーク記事↔スポーク記事)を通じて、同じアンカーテキストが使われる割合は40%以下にしてください。40%を超えると、過剰最適化の兆候です。
- 出力。 4つすべての指標に合格した場合は、
PLAN.mdの「## Quality scorecard」の下に、次の1行を追記します。All gates passed (cannibalisation/orphan/coverage/anchor-diversity).いずれかの指標が不合格の場合は、各指標の赤・黄・緑の行(赤=不合格、黄=しきい値まで10%以内、緑=合格)を含む「## Quality scorecard」セクションをPLAN.mdに追記し、PLAN.mdの先頭にある判定見出しに(needs review — N quality-gate failures)を付記します。また、同じスコアカードをそのまま出力フォルダー内の06-quality-scorecard.mdにも書き込み、個別に監査できるようにします。
出力形式
seo-keyword-cluster-{target-slug}-{YYYYMMDD}/ フォルダーを作成し、次を格納します。
seo-keyword-cluster-{target-slug}-{YYYYMMDD}/
├── 01-seed-expansion.md
├── 02-filtered-keywords.md
├── 03-cluster-assignment.md (SERP overlap matrix + cluster groupings)
├── 06-quality-scorecard.md (evidence) — 4-metric gate result; written every run
├── keywords.csv
└── PLAN.md
PLAN.md は次の形式にします。
# Cluster Plan: {topic} {(needs review — N quality-gate failures) if step 7 flagged any}
Market: {country}
Seeds: {seed list}
## Summary
- Keywords analysed: {n}
- Clusters formed: {n}
- Estimated combined monthly volume: {n}
- Pillars: {n}, spokes: {n}
- Clustering method: SERP-overlap top-10 (mode: {standard | advanced}, ~{credits} credits)
## Build order
### Cluster 1: {cluster name} [PILLAR]
- Primary keyword: {kw} ({volume}/mo, KD {kd})
- Secondary: {list}
- Total volume: {n}/mo
- Priority score: {n}
#### Pillar page
- H1: {H1}
- H2s: {list}
#### Spoke articles
1. **{spoke title}**
- H1: {H1}
- H2s: {list}
- Target keyword: {kw} ({volume})
2. **{spoke title}** ...
### Cluster 2: {cluster name} [SPOKE-ONLY]
...
## Internal linking map
- Pillar A links to: spokes A1, A2, A3
- Spoke A1 links back to: pillar A, and cross-links to spoke B2 (topical overlap)
...
## Quality scorecard
{If all four gates pass:}
All gates passed (cannibalisation/orphan/coverage/anchor-diversity).
{If any fail, render this table instead:}
| Gate | Status | Detail |
|---|---|---|
| Cannibalisation (no two clusters ≥40% SERP overlap) | RED / YELLOW / GREEN | {detail} |
| Orphan (every spoke linked from its pillar) | RED / YELLOW / GREEN | {detail} |
| Coverage (pillar covers ≥70% of cluster's high-volume keywords) | RED / YELLOW / GREEN | {detail} |
| Anchor diversity (no anchor used >40% of internal links per cluster) | RED / YELLOW / GREEN | {detail} |
## Raw data
- keywords.csv: full enriched keyword list
- 03-cluster-assignment.md: every keyword and its cluster (incl. SERP overlap matrix)
- 06-quality-scorecard.md: standalone copy of the scorecard above (evidence)
keywords.csv の列:
keyword,volume,kd,cpc,intent,cluster,role_in_cluster
ヒント
- Data API のレート制限(1秒あたり10リクエスト)を守ってください。20個のシードと3つの拡張エンドポイントでは約60回の呼び出しになるため、順次実行してください。
- 実行前に
DATA_getCreditBalanceを呼び出してください。現在、主なコスト要因はステップ4のSERP重複率チェックです。SERP-standard モード(デフォルト)では候補キーワード1件あたり約3クレジット、SERP-advanced では約10クレジットです。候補が通常の40件の場合、standard で約120クレジット、advanced で約400クレジットです。ステップ4の予算チェックでは、SERPを取得する前にこの見積もりをユーザーに提示し、見積もりが500クレジットを超える場合は、より安価な代替方法を提案します。 - キーワードの意味が似ていても、検索意図の異なるものを同じクラスターにまとめないでください。「Best X」(商用)と「What is X」(情報収集)は、別々のコンテンツにする必要があります。
- ピラーページは、対象とするクエリの範囲が狭すぎると、上位表示できません。ピラークラスターのプライマリキーワードは月間検索ボリュームが1,000を超え、3,000語以上の記事を作成するにふさわしい広さを持つ必要があります。
- 優先度スコアは出発点であり、必ず従うべきものではありません。コンテンツ制作に四半期分のリソースを投入する前に、上位3つのクラスターを確認するようユーザーに依頼してください。
- クラスターの統合は、テキストではなくSERPを基準に行います。 2つのクラスターのSERP重複率が相互に40%以上の場合、ステップ7のカニバリゼーション判定で検出されます。そのクラスターを再統合し、ステップ5以降を再実行してください。