mcpField
K
keyword-research

keyword-research

github.com/every-appマーケティング・グロース25.5k6.9k 回インストール2 日前に更新
リポジトリ

keyword-research について

OpenSEO Keyword Researchは、OpenSEOのデータを使い、シードトピックから優先度付きのキーワード候補を作るスキルです。調査、評価、レポート作成を支援し、キーワードの保存にはユーザーの確認を求めます。

主な機能

  1. 01シードトピックから候補を発見
  2. 02検索量、難易度、意図、CPCを評価
  3. 03Search Consoleと順位データを活用
  4. 04ビジネスとの適合性で優先順位付け
  5. 05結果をレポートとして作成

活用シーン

  1. 01製品やトピックの対策語を探す
  2. 02ローカル検索の候補を見つける
  3. 03表示回数を得ている検索語を特定
  4. 04順位語と検索結果の意図を比較

MCP 対応

OpenSEO MCPツールでキーワードを発見し、指標や検索結果を取得してプロジェクトデータを参照します。選択したキーワードは、ユーザーが明示的に確認した後にのみ保存します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/every-app/open-seo --skill keyword-research

インストール後、Claude Code で/keyword-researchを入力して読み込まれたか確認します。

詳細

OpenSEO キーワード調査

目標

OpenSEO MCP のデータを使用して、シードトピックから優先順位を付けたキーワード機会の候補を作成します。出力をもとに、ユーザーがターゲットにするキーワード、保存するキーワード、次に調査する内容を判断できるようにします。

必要な入力

  • projectId
  • 1 つ以上のシードトピック、製品、ページ、競合他社、またはオーディエンスの課題
  • 任意の市場/地域/言語

projectId がない場合は、まず list_projects を使用します。ターゲット市場/地域/言語が不明で、キーワード指標に大きく影響する場合はユーザーに確認してください。それ以外の場合は、MCP ツールのデフォルトを使用します。

プロジェクトのコンテキスト

プロジェクトのコンテキストツールは無料で、アプリや他のエージェントと共有されています。

  1. まず get_project_context を呼び出し、事業、目標、市場、すでに保存されている競合他社や重要なページをもとに調査を進めます。
  2. このスキルでは business_overview と current_goal が必要です。どちらかが空の場合は、必要最小限の設定をインラインで行います。ユーザーに質問するか、サイトから推測して確認し、これらの項目を埋めるのに必要な情報だけを収集して、update_project_context で書き戻してから調査を続けます。最初に完全なヒアリングを行わないでください。残りの設定には、最後に seo-project-setup を提案します。
  3. クレジットを消費する前に、調査ログを確認します。同じ調査が過去 30 日以内に実施されている場合は、その結果を再利用し、再購入せずにその旨を伝えます。
  4. 完了時には、長期的に役立つ情報を書き戻します。内容には、精緻化した business_overview または current_goal、SERP で繰り返し表示された競合他社(addCompetitors を使用)、キーワードの誘導先とするページ(addKeyPages を使用)を含めます。また、調査ログに次のエントリーを追加します。{ appendResearchLog: { summary: "Keyword research: <seeds/market>. Verdict: <conclusion>" } }

レポートとして納品

seo-report スキルを使って納品し、skill: "keyword-research" として保存します。そのスキルが利用できない場合は、その旨を伝え、HTML の作成前に停止します。

OpenSEO MCP ツール

  • research_keywords:主要なキーワード発見ツールです。1 回の呼び出しでシードは 1~5 個使用し、ユーザーが網羅的な調査を求めない限り、150 件の結果を優先します。1 つの都市、郡、または地域での需要を調べる場合は、search_serp_locations を呼び出し、返された locationName をシードに渡します。検索ボリューム、CPC、競合状況は地域別になり、キーワード候補、KD、検索意図は全国規模のままです。
  • get_keyword_metrics:既知のキーワードを最大 700 件まで、検索ボリューム、キーワード難易度(KD)、検索意図、CPC、月別トレンドとともに 1 回の呼び出しで取得します。候補キーワードや既知のキーワードのスコア付けに使用します。手順 1 で見つかった Search Console の、検索順位があと一歩のクエリも対象です。
  • get_ranked_keywords:調査依頼に対象ドメインまたはページが含まれている場合、正確なランキングキーワードの行を取得します。
  • get_search_console_performance:Search Console が接続されている場合は、プロジェクトで実際に発生しているファーストパーティの需要、つまりすでに表示回数を獲得しているクエリと、検索順位があと一歩のキーワードから調査を開始します。minPosition: 5, maxPosition: 20, minImpressions: 50 を渡すと、サーバーが検索順位があと一歩の行を絞り込みます(Google はクリック数順に並べ替えますが、検索順位による絞り込みはできません)。次に get_keyword_metrics を使って、これらのクエリに難易度と検索意図を追加します。
  • get_serp_results:特に検索意図が曖昧な場合に、有力な候補キーワードの SERP を調べます。1 つの都市、郡、または地域の SERP を調べる場合は、同じ locationName を渡します。
  • search_local_businesses、get_local_serp_results、get_google_business_questions:事業や地域の範囲が重要となるローカル SEO のトピックに使用します。
  • list_saved_keywords:すでに保存した作業の重複を避けるため、または既存のタグをコンテキストとして使うために使用します。
  • save_keywords:ユーザーが明示的に確認した後にのみ、選定したキーワードを保存します。

ワークフロー

  1. シードを、異なる調査の切り口からなる小さなセットに整理します。プロジェクトで Search Console が接続されている場合は、まず get_search_console_performance を minPosition: 5, maxPosition: 20, minImpressions: 50(デフォルトの遡及期間)で呼び出し、抽出したクエリに get_keyword_metrics を使って KD と検索意図を付与します。この順位付きで情報が補完されたリストが、最も早く取り組める機会の一覧です。幅広い探索に進む前に、まずこのリストに取り組んでください。
  2. ローカル SEO の依頼の場合は、ビジネス、所在地/座標またはサービス提供エリア、ローカルカテゴリを特定します。research_keywords と locationName を使って、その市または郡のローカル検索ボリュームを調査します。最も重要な所在地/キーワードのセットには search_local_businesses と get_local_serp_results を使い、全国規模のキーワード/SERP データだけに頼らないようにします。
  3. 探索用のシードについて research_keywords を呼び出します。可能な場合は一括で呼び出します。
  4. 優先順位を決める前に、固定キーワードリスト、または手順 1 の上位表示圏内のクエリに対して get_keyword_metrics を使い、検索ボリューム、KD、検索意図を補います。
  5. ユーザーがドメイン/ページを提示し、現在の順位、上位表示圏内の機会、または競合が獲得している語句に基づく機会を求めている場合は、get_ranked_keywords を使います。
  6. 関連性がない語句、重複語句、ブランド名のみの語句、検索意図が合わない語句を除外します。
  7. 検索ボリュームだけでなく、実用的な機会を基準に優先順位を決めます。
    • ユーザーの製品/ページ/トピックとの適合性が高い
    • 検索意図が明確
    • 難易度が妥当
    • 参考になる検索ボリューム/CPC のシグナルがある
    • ユーザーが現実的に競争できる SERP である
    • ローカル SEO の場合は、ローカルパック/Maps での視認性と近接性が合っている
  8. 検索結果ページの検索意図によって推奨内容が変わる可能性がある場合は、有望度の高いキーワードや意図が曖昧なキーワードに get_serp_results を使います。デフォルトの確認件数は少なめにします。
  9. 候補の絞り込みリストと、より長い機会リストを提示します。
  10. キーワードの保存前にユーザーに確認します。保存する際は、topic:<topic>、intent:<intent>、page:<slug> のような簡潔なタグを提案します。

出力形式

h1:サイトまたはトピック。

レポートのテンプレートが適用される場合(seo-report を参照)、そのセクションとトーンをこのリストより優先します。

以下の順にセクションを配置します。

  1. この機会 — 最適なテーマと、今このサイトがそのテーマで成果を上げられる理由を述べる、冒頭の 1〜2 文。
  2. 今すぐ狙うキーワード — キーワード、検索意図、検索ボリューム、KD、CPC、作成するページを列にした表。候補の検索ボリュームを比較する棒グラフを追加します。
  3. 選定理由 — 根拠の説明が必要なキーワードごとに、1 つの調査結果を記載します。SERP または指標の根拠に続けて、作成するページを示します。
  4. より幅広い機会リスト — 同じ列構成の 2 つ目の表。
  5. リスクと注意事項 — 推奨内容が変わる可能性のある SERP の検索意図、unknown と記載した不足指標、複数ではなく 1 つのバケットとして扱われる類似バリエーションの検索ボリュームについて記載します。
  6. 次のステップ — キーワードクラスタリングの実施、コンテンツブリーフの作成、選定したキーワードの保存のいずれを行うかを含む順序付きリスト。
  7. このレポートの作成方法 — seo-report のスキルリンク行(https://openseo.so/docs/skills/keyword-research を指す「OpenSEO Keyword Research skill」)から始め、その後、どのツールが何を返したかを記載します。

ガードレール

  • 指標を捏造しないでください。OpenSEO が値を返さない場合は unknown と記載します。
  • 明示的な確認なしに save_keywords を呼び出さないでください。
  • 最大の検索ボリュームの語句を追うよりも、ビジネスとの適合性と検索意図との適合性を優先してください。

コメント