競合:実際にSERPで勝っているのは誰か、そしてなぜか
あなたのターゲットクエリでランクインしているドメインとページを特定し、それらがあなたのものとどう違うかを測定し、その違いを具体的な修正策に変換します。トラフィックや権威の数値を捏造することはありません。
使用するタイミング / 使用しないタイミング
使用する場合:
- SERP競合の特定。
- ページ対ページの比較。
- SERP機能と検索意図の分析。
- コンテンツ/キーワードギャップ。
- 被リンクギャップ(有料)。
- トラフィック推定(有料、ラベル付き)。
- 変更監視。
使用しない場合:
- シードからのキーワードリスト生成 → seo-keywords。
- アウトリーチの実行 → seo-links。
- 自社のGSCパフォーマンス分析 → seo-analytics。
収集する入力情報
- あなたのドメイン、およびターゲットキーワードセット(10~100語)。seo-keywordsの出力またはGSCの「目前」リストから取得するか、質問してください。
- 市場: 国 + 言語(検索の
--gl/--hl相当)、デバイスフォーカス。 - ユーザーがすでに知っているビジネス上の競合。参考にはなりますが、SERPと照らし合わせて検証してください。
- オプション: 有料ツールへのアクセス(Semrush/Ahrefs/Similarweb)とクレジット予算。
ワークフロー
-
SERPを収集する(並列).
- キーワードセットを約10個のバッチに分割し、バッチごとに1つの
seo-serp-researcherエージェントを並列で起動します。 - 各エージェントは、キーワードごとに、上位10件のオーガニックURL、ページタイプ(ガイド / カテゴリ / 商品 / ツール / フォーラム / 動画 / ローカルパック)、SERP機能(AI Overview、注目スニペット、PAA、動画、画像、ショッピング、ローカルパック、フォーラム/「ディスカッション」)、および支配的な検索意図を返します。
- WebSearchの結果はSERPの近似値であり、パーソナライズされた位置情報に基づく正確なGoogle SERPではありません。
[measured: WebSearch sample]とタグ付けしてください。
- キーワードセットを約10個のバッチに分割し、バッチごとに1つの
-
SERP競合を特定する.
- すべてのキーワードにわたるドメインの出現回数をカウントします。上位10位の枠におけるシェアが高いトップ5~10のドメインが、あなたの本当の競合です。
- 以下のように分類します:
- 直接的なビジネス競合。
- コンテンツパブリッシャー/アグリゲーター。
- マーケットプレイス/UGC(Reddit、YouTube、Wikipedia)。
- パブリッシャーとはクリックを競合しますが、顧客を競合するわけではありません。戦略が異なります:上位表示を目指す vs. 掲載/言及を獲得する。
-
検索意図とフォーマットの確認. 上位10件のうち7件以上があなたのページタイプと異なる場合(例:あなたの商品ページ vs リスト形式)、修正すべきは最適化ではなくフォーマットです(ヒューリスティック)。これを最初に報告してください。
-
ページレベルの比較. 優先キーワードごとに:
mkdir -p seo-work python3 "${CLAUDE_PLUGIN_ROOT}/scripts/compare_pages.py" https://you.com/page https://rival1.com/a https://rival2.com/b https://rival3.com/c \ --keyword "target keyword" > seo-work/compare-<slug>.json以下を読み取ります:
- 単語数 vs
median_competitor_words(コンテキストのみ:長さはランキング要素ではありません; google-rules §4)。 - 見出しと質問形式の見出し。
- リスト/テーブル。
- スキーマタイプ。
- 信頼シグナル(著者、日付、引用)。
- キーワードの配置。
content_gap_phrases(2社以上の競合がカバーしているが、あなたがカバーしていないサブトピック)。
異なるキーワードの比較を並列で実行します。
- 単語数 vs
-
技術/エクスペリエンスギャップ(オプション):
- あなたのURLとトップ2の競合に対して
psi.pyを実行:フィールドCWV[measured: CrUX]。 - 競合に対して
page_audit.pyを実行し、スキーマとインデックス可能性の設定を確認します。
- あなたのURLとトップ2の競合に対して
-
コンテンツ/キーワードギャップ.
- 無料: 競合のメイントピックとSERPバッチに対して
keyword_ideas.pyを実行します。競合がトップ10にランクインし、あなたが表示されないキーワードはすべてギャップです[measured: WebSearch sample]。 - 有料: 次のセクションを参照してください。
- 無料: 競合のメイントピックとSERPバッチに対して
-
被リンクギャップ(有料のみ)。2社以上の競合にリンクしているが、あなたにはリンクしていない参照ドメイン → seo-linksに渡します。
-
変更監視. 競合が突然あなたを上回った場合:
- Wayback Machine CDX APIを取得:
https://web.archive.org/cdx/search/cdx?url=rival.com/page&output=json&limit=20&from=2025&fl=timestamp,statuscode,digest。 digestの値が変更されていれば、ページコンテンツが変更されたタイミングを示します。https://web.archive.org/web/<timestamp>/rival.com/pageを取得して、新旧を差分比較します(タイトル、見出し、追加されたセクション)。- 報告:「ランキング上昇は、<日付>のページ更新と同時期です」。
- Wayback Machine CDX APIを取得:
-
統合.
- キーワードごとに:なぜ彼らが勝っているのか(フォーマット、深さ、新しさ、権威、UX、SERP機能)、エビデンスタグ付き。
- seo-content / seo-onpage / seo-schema / seo-links / seo-technical にルーティングされるアクションの短いリスト。
チェック項目
| チェック | ルール | ソース |
|---|---|---|
| SERP多数派との意図/フォーマット一致 | ≥7/10が同じタイプ → 一致させる | ヒューリスティック |
| 長さ | 推奨語数なし;検索者が求めるものをカバーする | google-rules §4 [Googleドキュメント] |
| 競合を要約するのではなく独自の価値を提供 | 「他よりも価値を付加する」はヘルプフルコンテンツの質問 | google-rules §4 [Googleドキュメント] |
| 獲得可能なSERP機能 | 注目スニペット / PAA:回答第一のパッセージ;動画:視聴ページ;画像 | google-rules §3, §8 [Googleドキュメント] |
| AI Overviewの存在 | 対象となる条件 = インデックス済み + スニペット対象;特別なマークアップは不要 | google-rules §10 [Googleドキュメント] |
| 競合のリッチリザルト | 有効でサポートされているタイプのみ(FAQ/HowToは非表示) | google-rules §5 [Googleドキュメント] |
| 競合コンテンツのスクレイピング/コピー | スクレイピングおよび大規模コンテンツポリシーに違反 | google-rules §4 [Googleドキュメント] |
データ:無料 vs 有料
無料:
- WebSearch SERPサンプル。
compare_pages.py、keyword_ideas.py、page_audit.py、psi.py(競合のURL/オリジンに対するCrUXフィールドデータ)。- Wayback CDX。
- Googleトレンド(需要比較用)。
- 競合の公開サイトマップ(
sitemap_check.py https://rival.com --sample 0 --urls-out rival-urls.txtで、lastmodから彼らのインベントリと公開頻度を取得)。
有料(${CLAUDE_PLUGIN_ROOT}/references/tools.md):
- Semrush(
## Semrush)。- オーガニックリサーチ:競合のランキングキーワードと推定トラフィック
[vendor data]。 - キーワードギャップ(最大5ドメイン):不足/弱い/未開拓のキーワード。
- アップデート日付前後のポジション履歴。
- サンプルではなく競合の全キーワードリストが必要な場合に正当化されます。
- コスト対策:四半期に1回のキーワードギャップエクスポート。エクスポート前にポジション1~20とあなたのトピックでフィルタリング。正しい国別データベースのみを使用。
- オーガニックリサーチ:競合のランキングキーワードと推定トラフィック
- Ahrefs(
## Ahrefs)。- Site Explorer(オーガニックキーワード、トップページ)。
- コンテンツギャップ、リンクインターセクト。
- コンテンツと被リンクギャップを同時に分析する場合に正当化されます。
- コスト対策:トラフィック別トップページ + コンテンツギャップ。競合のトップ50ページに限定。繰り返しのフルエクスポートは避ける。
- Similarweb(
## Other paid tools)。マーケット規模測定のための総トラフィックとチャネルミックス(オーガニック vs 有料 vs 参照)の推定。 - DataForSEO SERP API(
## DataForSEO)。SERP機能のパースを伴う、正確でロケーション固有のSERPを、スケールと従量課金制で提供。WebSearchサンプルでは正確性が不十分な場合(ローカル、複数都市、毎日)に正当化されます。
ベンダーのトラフィックやキーワードの数値を実測値として提示しないでください。これらは [vendor data]/[estimate] であり、特に小規模サイトでは桁違いに誤差が生じることがあります。
出力
- 競合マップ: ドメイン、タイプ(ビジネス / パブリッシャー / UGC)、キーワードセット全体のトップ10枠シェア、主要な重複キーワード。
- キーワードごとのSERPテーブル: 検索意図、支配的なフォーマット、存在する機能、獲得可能か(はい/いいえ/どのように)。
- 優先キーワードごとのページ比較サマリー: あなたの指標 vs 中央値の競合、カバーする価値のあるギャップフレーズ、不足しているスキーマ/信頼シグナル、ルーティングされたアクション。
- ギャップリスト: 競合はランクインしているがあなたはランクインしていないキーワード(無料サンプルまたは有料エクスポート)。クラスタリングしてseo-keywords/seo-strategyに渡します。
- 急上昇した競合の変更ログ(Waybackエビデンス)。
落とし穴と神話
- あなたのビジネス上の競合は、必ずしもSERP上の競合ではありません。 SERPを利用してください。
- 「彼らがランクインしているのは、ページが長いからだ。」 相関関係であって原因ではありません。意図に一致させ、パディングではなく新しい何かを追加してください。
- 競合の見出しをそのままコピーする と、コモディティコンテンツが生まれます。ギャップトピックをより良くカバーしてください(一次データ、ツール、例)。
- ベンダーのDR/DA/トラフィック はモデルです。「低DA」のサイトがあなたより上位にランクインすることは普通です。
- WebSearch ≠ ユーザーの実際のGoogle SERP(ロケーション、パーソナライゼーション、AI Overviewは異なります)。重要なSERPは、ブラウザで再確認してください。
- 競合を積極的にスクレイピングしないでください。 数ページを取得し、robots.txtを尊重し、CAPTCHAが発生したら停止してください。
作業の記録
SEO-WORKLOG.md(${CLAUDE_PLUGIN_ROOT}/references/worklog.md)に追記:
- キーワードセットと市場。
- 競合リスト。
- 比較ファイル。
- ギャップに関する決定。
- 使用した有料ツールのユニット/クレジット。
- 再実行のタイミング(四半期ごと、または次のコアアップデート後)。