competitor-gap について
competitor-gapは、SEO担当者が検索上の競合と事業上の競合を比較し、根拠に基づく施策へつなげるスキルです。キーワード、コンテンツ、被リンク、トラフィックを扱い、データソースと分析上の判断を区別します。
主な機能
- 01検索競合と事業競合の区別
- 02キーワードとコンテンツのギャップ発見
- 03参照ドメインの機会比較
- 04トラフィックと有料検索推定の確認
- 05証拠とデータ制約の明示
活用シーン
- 01SEO分析に適した競合の選定
- 02キーワードとコンテンツ施策の優先順位付け
- 03被リンクの重なりと流入経路の評価
MCP 対応
Semrush MCPでレポートを発見し、スキーマを取得してから、競合、オーガニック検索、被リンク、トラフィック、有料検索のレポートを実行する手順を案内します。利用できないデータやアクセス権の明示、代替データ源も定めています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ semrush/ skills --skill competitor-gapインストール後、Claude Code で/competitor-gapを入力して読み込まれたか確認します。
詳細
競合ギャップ分析
ドメインを関連する検索競合と比較し、根拠をユーザーが実行できる施策に結び付けます。以下の競合タイプは明確に区別してください。
- 検索競合: 同じオーガニック検索クエリで競合するドメインです。
- 直接的なビジネス競合: 同じ顧客層に類似の製品やサービスを提供する企業です。
- 間接的なビジネス競合: 異なる、または代替となる商品やサービスで、類似した対象者のニーズに応える企業です。
- ブランド競合: ユーザーがベンチマーク対象とする可能性のある、確立されたブランドです。
4つのグループが同一だと決めつけないでください。出版社、マーケットプレイス、ソーシャルネットワーク、ユーザー生成コンテンツサイトも、同じクエリを繰り返し満たしている場合は、正当な検索競合となり得ます。自動的に除外するのではなく、タイプと関連性を明記してください。
ルールの出典
重要なルールは、以下のラベルを使って解釈してください。
- Semrushが裏付けるガイダンス: 引用されたSemrushの記事に記載された方法論です。適用される状況と注意事項をそのまま保持してください。
- MCPの契約要件: 公式ドキュメントまたはライブスキーマの確認で裏付けられた制限、フィールド、操作、アクセス条件です。
- 業界のヒューリスティック: 根拠の優先順位付けに役立つことのある、アナリストの判断です。公式なSemrushルールではありません。
- 設定可能なデフォルト: ユーザーが変更できるワークフローまたは出力の選択肢です。
ルールの出典とエビデンスの出典は分けてください。Semrushの推定値、ファーストパーティデータ、提供されたエクスポート、手動による観察、モデルによる判断は、すべての出力でそれぞれ明確に区別してください。
入力
ユーザーからまだ提供されていない情報のみを収集してください。
- ユーザーのドメイン。
- 既知のビジネス競合。
- 市場と地域データベース。設定可能なデフォルト: 地理的な情報がユーザーから提供されていない場合に限り、米国を使用します。
- 目標:キーワードの発見、コンテンツ計画、バックリンクの機会、チャネルのベンチマーキング、または包括的な比較。
ユーザーの目標に応じて、必要なモジュールのみを実行してください。設定可能なデフォルト: 包括的な比較では、5つすべてを使用します。
Semrush 公式 MCP ワークフロー
MCP の各分岐では、検出ツール → get_report_schema → execute_report の順に進めてください。記憶に頼らず、検出結果とスキーマ結果から現在のレポート名とパラメーターをコピーしてください。
以下の検証済みルートを使用してください。
| モジュール | 検出ツール | レポート | 目的 |
|---|---|---|---|
| 検索競合他社 | competitors_research | domain_organic_organic | オーガニック競合他社、関連性、共通キーワード、トラフィックの推定値 |
| キーワードギャップ | competitors_research | domain_domains | 合計最大 5 ドメインにおける共通キーワード、欠落キーワード、未開拓キーワード、弱いキーワードの根拠 |
| コンテンツギャップ | organic_research | resource_organic_unique | オーガニック上位ページ、キーワード数、トラフィック、トラフィックシェア |
| ページの情報拡充 | organic_research | resource_organic | 絞り込んだドメイン、サブフォルダー、または URL のキーワードとランキング |
| バックリンクギャップ | competitors_research | backlinks_matrix | 複数のターゲットに共通する参照ドメイン |
| バックリンク詳細 | backlinks_research | backlinks_refdomains | 1 つのターゲットの Authority Score、バックリンク数、初回/最終確認の根拠 |
| バックリンクのコンテキスト | backlinks_research | backlinks | 絞り込んだ参照ドメインのソースページ、ターゲットページ、アンカー、レスポンスコード、リンク属性 |
| トラフィック比較 | traffic_overview | summary と必要に応じて sources | ドメイン間のトラフィックとチャネルの推定値 |
| 有料検索 | paid_search_research | resource_adwords | 有料キーワード、掲載順位、CPC、トラフィックの推定値 |
最初の execute_report 呼び出しの前に、Semrush MCP のクエリでは API ユニットが消費されることをユーザーに伝えてください。設定可能なデフォルト: 判断に必要なフィールドと 30~50 行の上限で開始します。最初の結果セットで不十分な場合に限り、範囲を広げるかページネーションを行ってください。
traffic_overview には、対応する Trends サブスクリプションが必要です。アクセスできない場合は、提供された Semrush Trends のエクスポートを使用するか、トラフィック比較を利用できないと明記してください。総トラフィックやチャネルデータの代わりに、オーガニック検索の推定値を使用しないでください。
認証、アクセス、ユニット、レポート、または必須フィールドを利用できない場合は、その分岐を停止し、不足しているものを明記してください。代替指標を決して捏造しないでください。
フォールバック
設定可能なデフォルト: 利用可能な情報源を次の順で使用し、その情報源を明記してください。ユーザーが提供した、より信頼性の高いファーストパーティの根拠がある場合は、そちらを優先してください。
- Semrush 公式 MCP レポート。
- ユーザーが提供した Semrush のエクスポート。
- ユーザー自身のサイトについて、接続済みの Google Search Console データまたはエクスポートに加え、競合他社の SERP を手動で確認した情報。
- ユーザーが提供した競合他社の URL またはバックリンクのエクスポート。
最終出力では、Semrush の推定値、ファーストパーティデータ、手動で確認した事実、モデルによる判断を区別できるようにしてください。
データ品質の保護策
返された行はソースの根拠として保持し、分析済みの候補リストは別に作成します。クエリ、URL、ドメイン、指標、レポートの値を書き換える場合は、必ず明示します。
- キーワードの行を推奨する前に、
inurl:などの明示的な検索演算子、エンコードの破損、重複、明らかなスペルミス、トピックから外れたクエリがないか確認します。ユーザーの目標に関連しない場合に限り、その行を除外します。スクリーニングのルールと除外件数を記録します。削除した行の指標を修正後のスペルに引き継いではいけません。 - 競合ページをコンテンツの機会と見なす前に、URL、トピック、ページの種類、ユーザーのオーディエンスとの関係を確認します。自動生成されたページ、トピックから外れたページ、安全でないページ、ブランドにふさわしくないページは、分析から除外したことを記録したうえで、アクションリストから除外します。
- レポートのスキーマで見つかった有効なフィールドまたは操作が実行時に拒否された場合、再試行を続けたり、サーバー側でフィルタリングが適用されたと主張したりしてはいけません。可能であれば、必要最小限の結果セットを取得し、同等のフィルタリングを透明性のある形でクライアント側で行います。それができない場合は、その分岐が未完了であると明記します。
- 生のレポート行と、モデルの支援による関連性、クラスタリング、安全性、優先順位付けの判断は、別々に保持します。
モジュール 1:検索競合を発見して選定する
Semrush がサポートするガイダンス: 共通のランキングからオーガニック検索の競合を特定し、直感だけに頼らず、ユーザーの直接的・間接的な競合やブランド競合と比較します。
ユーザーのドメインに対して competitors_research → domain_organic_organic を実行します。競合との関連性、共通キーワード数、オーガニックトラフィックの推定値を確認します。
結果をユーザーが把握している競合と比較し、次の項目を明確にします。
- オーガニック検索での重複が少ないビジネス上の競合。
- ユーザーが挙げていない検索競合。
- ターゲット市場で特に重複が多いドメイン。
ユーザーに希望がある場合は、競合を選んでもらいます。希望がない場合は、質問への回答に必要な、関連性のある最小限の比較対象を選びます。設定可能なデフォルト: 分析を扱いやすくするため、まず 3 件から始めます。追加のドメインが、他とは大きく異なる競合を表す場合や結論を変える場合は、4 件に増やします。
共通するクエリ、ターゲットオーディエンス、市場、検索意図、ページの種類を用いて、候補の関連性を評価します。ユーザーが競合として挙げたドメインが、任意のトップ 10 リストに含まれることを必須にしてはいけません。ビジネス上の競合が検索であまり重複しない場合は、黙って除外するのではなく、その違いを説明します。
モジュール 2:キーワードのギャップを見つける
competitors_research → domain_domains を実行します。MCP コントラクト要件: レポートで指定できるドメインは合計 5 件までです。そのため、1 回のリクエストで比較する競合は、ユーザーのドメインに加えて最大 4 件にしてください。
現在のスキーマ操作を使用して、リクエストする対象を構成します。
- 選択したすべての競合に存在しないキーワード: 競合ドメインを先に列挙して交差(
*)記号を付け、最後にユーザーのドメインを差分(-)記号付きで指定します。 - 選択したいずれかの競合で未開拓のキーワード: まず競合を 1 件、交差(
*)記号付きで指定し、ほかの競合を和集合(+)記号付きで追加して、ユーザーのドメインを差分(-)記号で除外します。 - 共通: 比較するすべてのドメインに交差(
*)を使用します。 - 弱いキーワード: 共通キーワードを取得し、返された順位の列を比較します。ユーザーが順位を獲得しており、選択した競合のほうが上位にランクインしている場合に限り、そのキーワードを弱いと判定します。
「存在しない」は、常にそのリクエストに含めたすべての競合を指します。「3 社すべて」と固定してはいけません。各順位列がどのドメインに対応するか分かるよう、ドメインの順序を維持してください。
ユーザーの目標達成に必要なフィルターのみを使用します。レポートで利用できるデータには、順位、検索ボリューム、CPC、競合密度、トレンド、一般的なキーワード難易度が含まれます。テスト済みの公開 MCP は、このレポートでパーソナルキーワード難易度を返しません。
検出された domain_domains スキーマに表示フィルターが存在するように見えても、サーバー側でフィルターが機能しない場合は、必要最小限の行のみを取得し、上記のデータ品質保護策に従ってクライアント側で絞り込みます。取得後にクリーニングを適用したことを明記し、元の値を保持してください。
Semrush がサポートする指針: 知名度が低い、または権威性が十分に確立されていないサイトでは、開始時のプリセットとして KD 0–49 を提示できます。このシナリオを維持し、範囲は調整可能であることを明記してください。Authority Score から別のしきい値を推測してはいけません。検索ボリュームの範囲は任意のユーザーフィルターとして扱い、価値の定義にしてはいけません。関連性、検索意図、ビジネス価値、実現可能性、ファーストパーティの需要を総合的に優先してください。
判断に必要なだけ、関連する行を返します。機会の数をあらかじめ約束してはいけません。候補として絞り込んだキーワードは、共通する検索意図と SERP の重複に基づいてクラスタリングし、レポートのフィールドではなく、モデル支援による分析としてそのクラスタリングを明記してください。
モジュール 3:コンテンツのギャップを見つける
選択した各競合とユーザーのドメインについて、organic_research → resource_organic_unique を実行します。設定可能なデフォルト: トラフィック順に並べた少数のページから始め、次の点を比較します。
- 競合には強いページがある一方で、ユーザーには関連ページがないトピック。
- 双方にページがあるものの、ユーザーのページの成果が劣っているトピック。
- 競合が、より幅広いトピックを扱っていることを示している分野。
上位 20 ページや、固定数の推奨が常に適切だと決めつけてはいけません。最初のページ群で競合の関連コンテンツを十分に把握できない場合にのみ、対象を広げてください。
候補として絞り込んだページについて、キーワードレベルの情報を補う必要がある場合は、正確な URL を指定して resource_organic を使用します。ページ形式とトピックの深さの分類は、手作業またはモデルによる判断として扱ってください。
競合ページを推奨する前に、データ品質保護策を適用してください。トラフィックや順位が高くても、自動生成、トピックとの無関係、またはブランドにそぐわない URL は、生のレポートに含まれていることを示すだけであり、自動的に有用なコンテンツギャップになるわけではありません。
観測されたページとトピックの根拠に基づいて、網羅の深さを説明してください。クラスタのギャップを判定する際に、「競合ページが 5 件でユーザーのページが 1 件」といった固定ルールを使用してはいけません。
モジュール 4:バックリンクのギャップを見つける
ユーザーと選択した競合他社をターゲットとして、competitors_research → backlinks_matrix を実行します。ターゲットの順序を維持し、フィルタリングの前に、返されたすべてのバックリンクバケットをドメインに対応付けます。
真のギャップと判断するには、ユーザーのバックリンクバケットがゼロで、選択した競合他社のバケットが少なくとも1つゼロより大きいことを条件とします。現在の実行コントラクトで確実にサポートされるのが等価フィルターのみの場合は、ユーザーのバケットを equals 0 でフィルタリングした後、全競合他社との共通部分を求めるなら各競合他社のバケットから equals 0 を除外するか、クライアント側で競合他社のバケットのいずれかがゼロより大きい行を選択します。マッチ数だけを根拠にギャップを推測してはいけません。また、現在のスキーマと小規模な実行テストの両方で受け入れられることを確認できない限り、greater_than 演算に依存してはいけません。
候補に絞り込んだドメインについて、Authority Score、バックリンク数、初回/最終確認日など、単一ターゲットの集計詳細が必要な場合は、backlinks_research → backlinks_refdomains を使用します。行を直接的な見込み先と呼ぶ前に、現在のスキーマが参照ドメインフィルターをサポートしている場合は、リンク元ドメインでフィルタリングし、少なくとも1社のリンク先競合他社について backlinks_research → backlinks を使用します。返されたソース URL、ソースタイトル、ターゲット URL、アンカー、レスポンスコード、リンク属性を確認します。関連する編集上の文脈がないマトリックスの行は、候補にすぎず、アウトリーチの推奨先ではありません。
Semrush の方法論を参考にした業界ヒューリスティック: 次の点を使って見込み先を評価します。
- トピックとオーディエンスとの関連性。
- 競合他社がリンクされたページと編集上の文脈。
- ソースが正当で、現在も活動していることを示す証拠。
- ユーザーが同じリンクに値するアセットを持っているかどうか。
- Authority Score は品質を測る1つのシグナルとして扱い、自動的な合否判定基準にはしません。
Authority Score が 30 以上であること、過去12か月以内であること、または一定数の競合他社へのリンクを必須条件にしてはいけません。見込み先に価値があるかどうかは、証拠とニッチに基づいて判断します。
出力は次のように分けます。
- 直接的な見込み先: ユーザーのアセットを信頼できる形で追加できる、関連性の高いページまたはドメイン。
- 関係性のパターン: 理解を深める価値のある、繰り返し登場する著者、出版社、ジャーナリスト、コミュニティ。
モジュール 5:トラフィックとチャネル戦略を比較する
Semrush がサポートする指針: 競合他社が同じオーディエンスにリーチするために利用しているチャネルを比較します。ただし、ユーザーの意思決定に関連するチャネルのみを測定します。
最大5つのドメインについて、トラフィックとチャネルの推定値を並べて比較するには、traffic_overview → summary を実行します。チャネルの詳細なソース分析が必要な場合に限り、sources を使用します。
Semrush の有料検索の推定値には、paid_search_research → resource_adwords を使用します。手動で確認した検索結果をレポートの補足として使用してもかまいませんが、個別の観察結果であり、場所や時間に左右されることを明記します。
ニュースレター、ソーシャルアカウント、コミュニティ、ポッドキャスト、動画チャネルについては、可能な限りファーストパーティのページを確認します。検索結果のスニペット、フォロワー数、登録者数を、Semrush MCP のデータとして提示してはいけません。
ユーザーが競合他社のすべてのチャネルを模倣すべきだと決めつけず、重要なチャネルの違いを示します。
共通の優先順位付けレイヤー
設定可能な優先順位付けフレームワーク: 選択したモジュールの調査結果を組み合わせ、次の基準で順位付けします。
- 関連性: ユーザーのオーディエンス、市場、目標、検索意図との適合度。
- 証拠の強さ: ファーストパーティの直接的な証拠、Semrush のデータ、手動での観察、モデルによる推論。
- 実現可能性: コンテンツ、技術、関係構築、運用上の要件。
- 期待価値: Semrush のトラフィックまたはトラフィック価値の推定値、ファーストパーティのコンバージョンに関する証拠、戦略的価値。
効果が出るまでの期間を固定した範囲で約束してはいけません。Semrush の推定トラフィックやトラフィック価値を、収益として説明してはいけません。収益を推定するのは、ユーザーがコンバージョン率と顧客単価または取引額を提示した場合に限ります。その際は、計算方法と前提条件を示します。
出力
デフォルトの出力設定: 優先順位を付けたアクションリストを提示し、その後に使用したモジュールの簡潔なエビデンステーブルを続けます。
| 優先度 | ギャップの種類 | エビデンス | 競合他社の参照先 | 推奨アクション | 実現可能性 | 期待される価値 | 確信度 |
|---|---|---|---|---|---|---|---|
| 1 | コンテンツの更新 | 競合他社のページが共通クラスターでランクインしている一方、ユーザーの既存ページの順位は低い | 競合他社の正確な URL | 実証された検索意図と不足しているエビデンスに沿って既存ページを更新します | 中 | Semrush による推定機会として明記 | 高 |
推奨事項ごとに、以下を記載します。
- 根拠となる競合ドメイン、URL、参照ドメイン、またはチャネルのアセットを明記します。
- 取得された実際の値を、利用可能な場合は出典と日付またはデータベースとともに報告します。
- パフォーマンスが低い既存アセットと、本当に欠けているアセットを区別します。
- 利用できない項目は、暗黙に推定せず、その旨を明記します。
- モデルが推定したクラスター、ページタイプ、関連性、優先順位は判断として説明します。
- ノイズ、安全性、関連性に関する主要なフィルターと、除外した行数および理由を要約します。
出典
方法論:
技術仕様:
特定のしきい値や推奨事項を Semrush の見解に基づくものとして示す場合は、それを明記している記事を引用し、関連するシナリオや条件もそのまま記載してください。