mcpField
S
seo-keyword-cluster

seo-keyword-cluster

github.com/serankingマーケティング・グロース18978 回インストール18 週間前に更新
リポジトリ

seo-keyword-cluster について

検索意図と SERP の重複に基づき、シードキーワードから優先順位付きのコンテンツクラスター計画を作成するマーケティングスキルです。SEO プランナー向けで、ピラー記事と関連記事、内部リンク、品質スコアカードをまとめます。

主な機能

  1. 01シードキーワードの拡張と絞り込み
  2. 02SERP URL の重複によるクラスタリング
  3. 03ピラー記事と関連記事の計画
  4. 04価値に基づくクラスターの優先付け
  5. 05品質基準による計画の検証

活用シーン

  1. 013~20 個のシード語を基にした企画
  2. 02検索意図に応じたテーマの分類
  3. 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)。

プロセス

  1. シードを拡張する DATA_getRelatedKeywords、DATA_getSimilarKeywords、DATA_getLongTailKeywords

    • 各シードについて、対象国の関連キーワード、類似キーワード、ロングテールキーワードのバリエーションを取得します。
    • シードごとに候補キーワードを少なくとも 100 個集め、シード間の重複を除去します。
  2. 質問ベースで拡張する DATA_getKeywordQuestions

    • 上位 5 個のシードについて、質問意図のキーワードを取得します。
    • これらは通常、PAA や強調スニペットの可能性があるスポーク記事になります。
  3. クリーニングとフィルタリング

    • 最小検索ボリュームを下回るキーワードと、最大 KD を上回るキーワードを除外します。
    • 対象が所有していないブランド関連語を除外します。
    • 検出された検索意図(情報収集型、商用型、取引型、ナビゲーション型)を各キーワードにタグ付けします。
  4. 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 を設定します。
    • 各クラスターを、ピラー向き(広範で検索ボリュームが多く、情報収集型)またはスポークのみ(範囲が狭く、具体的)に分類します。
  5. ピラーとスポークの構成

    • 各ピラークラスターについて、スポーク記事を 3~7 本選定します(それぞれサブクラスターまたは質問から 1 つ)。
    • 各スポークについて、H1 と 3~5 個の H2 を作成します。
    • 内部リンク構造を割り当てます:ピラーからすべてのスポークへリンクし、スポークからピラーへリンクし、テーマが近いスポーク同士も相互にリンクします。
  6. 優先順位を付ける

    • ステップ 4 で SERP の重複に基づいてクラスターを作成した後に適用します。数式はすでにグループ化されたクラスターを評価するものであり、どのキーワードを同じクラスターにするかには影響しません。
    • 各クラスターを、検索ボリューム(40%)+ KD の逆数(30%)+商用意図の重み付け(30%)でスコア化します。
    • 優先順位を付けた構築順を出力します。
  7. 品質スコアカード(生成後の検証)

    • 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以降を再実行してください。

コメント