この記事のまとめ
キーワードカニバリゼーションとは、同じ検索意図の語に自サイトの複数ページが当たり、表示機会と評価が分散している状態です。確認は Search Console の「検索パフォーマンス」で、クエリを1つ選んでフィルタをかけ、「ページ」タブに切り替えて内訳を見ます。 ⚠️ 画面から落とす「ページ」CSVだけでは判定できません(クエリとページをつなぐ列が無いため)。見つけにくいのは、Search Console の掲載順位が1つのクエリにつき最上位1件しか記録しないからで、負けている側のURLはサイト全体の数字から消えます。症状は「2つのURLが入れ替わりで出る」「どちらも中位で止まる」「表示は出ているのにクリックが割れる」の3つ。打ち手は何もしない・片方を差別化する・片方をnoindexにする・統合するを戻しやすい順に検討します(統合だけがURLを1つ消す不可逆な作業です)。検索意図が本当に違うなら食い合っていません。
「似た記事を書きすぎたかもしれない」と思ったとき、それを確かめる場所は Search Console の「クエリ」タブです。記事を並べて読み比べる作業から始めると、たいてい判断がつきません。
やることは、疑わしい検索語を1つ選んでフィルタをかけ、「ページ」タブに切り替えるだけです。そこに自サイトのURLが2つ以上並んでいれば、候補が見つかったことになります。 ⚠️ ただし画面から落とす「ページ」CSVを手元でこねても、この確認はできません。画面上の絞り込みか、Search Console API / BigQuery での取得が要ります。画面上の絞り込みが必要です(理由は後で書きます)。
「そもそも直す価値のあるページはどれか」を先に機械に絞らせる手も ありますが、まずカニバリの確認方法そのものを書きます。ここを飛ばすと、食い合っていないページを統合してしまいます。
Search ConsoleのZIPを読み込むと、候補の判定と1記事分の診断カードを無料で確認できます。登録は不要です。ZIPが無い場合は、診断カードの見本を確認できます。
キーワードカニバリゼーションとは何か

キーワードカニバリゼーションとは、同じ検索意図の語に対して自サイトの複数のページが当たり、本来1本に集まるはずだった表示機会と評価が分散している状態です。
ここで大事なのは「同じキーワードを含む記事が2本ある」ことではないという点です。同じ語を含んでいても、答えている問いが違えば、それは分業です。
- 食い合っている — 同じ検索語に両方のURLが出ていて、どちらも上位に届いていない
- 食い合っていない — 出ている検索語が別々で、それぞれに表示回数が付いている
- すでに決着している — 同じ語に両方出ているが、片方だけが上位で片方は下位
判定に使うのは、記事の読み比べではなく、実際にどの語で出ているかの記録です。自分の記憶では「似ている」と思っていた2本が、まったく別の語で拾われていることは普通に起きます。
Search Console での確認方法
使うのは「検索パフォーマンス」の画面だけです。順番はこうなります。
- 期間を長めに取る — 直近28日だと1クエリあたりの数が少なく、偶然の揺れと区別できません。3か月以上が扱いやすいです
- 「クエリ」タブで、疑わしい語を探す — 表示回数はあるのにクリックが少ない語、または自分が複数本書いた覚えのある語です
- その語の行をクリックする — クリックすると、そのクエリで絞り込んだ状態になります
- 絞り込んだまま「ページ」タブに切り替える —その検索語で表示されたURLの内訳が出ます
- 自サイトのURLが2つ以上並んでいたら候補 — それぞれの表示回数・クリック数・掲載順位も、この画面で並んで出ます
逆向きにも辿れます。先に「ページ」タブで気になる1本を選び、そのままクエリタブに切り替えると、そのページが拾っている語が出ます。狙った語と拾っている語がズレていれば、別の記事とぶつかっている可能性が見えます。
⚠️ 画面から落とす「ページ」CSVだけでは分かりません
エクスポートした「ページ」のCSVには、そのURLがどの検索語で出ているかの列が入っていません。だからカニバリの確認は、画面から落とす「ページ」CSVだけでは終わりません。画面上の絞り込みか、API / BigQuery での取得が要ります。
なぜ2つのファイルがつながらないのか、API や BigQuery なら何が取れるのかは サーチコンソールのクエリとページの違いに書きました。この記事は「画面でどう探すか」、あちらは「なぜCSVでは辿れないか」という分担です。
なぜ、起きているのに気づけないのか
カニバリの厄介さは、起きることそのものではありません。起きても、いつも見ている数字には症状が出ないことです。理由が3つ重なっています。
① 掲載順位は、1クエリにつき最上位1件しか記録されない
Google公式ヘルプは、パフォーマンスレポートの掲載順位を「最上位の掲載順位であり、そのプロパティが表示されるすべてのクエリでの平均」と定義しています。1つのクエリで2位・4位・6位に出た場合、そのクエリでは「2位」として数えられます。
つまり7位と18位に割れている2本があっても、サイト全体を見ているかぎり「7位」としか出ません。負けている側は、数字の上では存在しないのと同じです。ページ単位まで下りて初めて、18位のほうが見えます。
平均掲載順位が何の平均で、何を隠しているかは 平均掲載順位とはにまとめています。
② 上位の椅子は、もともと限られている
Google は「サイト多様性システム」について、1つのサイトが上位を独占しないよう、上位の結果に同じサイトのページを通常2件までに抑えると説明しています(特に関連性が高いとシステムが判断した場合は例外があるとも書かれています)。
2本目のページが争っている相手には、自分の1本目も含まれるということです。競合サイトを押しのけて取った椅子を、身内で分け合う形になります。
⚠️ 出典は Google のランキング システムのガイドです。英語原文は「generally won't show more than two web page listings from the same site」で、2件までは出るという意味です。日本語版の訳文は「2 つ以上のウェブページが表示されないように」となっており、件数の読み方が少しずれます。ここでは英語原文の意味で書いています。
③ 割れているのは表示機会だけではない
同じテーマの記事が2本あるとき、分かれているのは検索結果の枠だけではありません。外部からのリンクも、サイト内からのリンクも、本文の情報量も2つに分かれています。
結果として症状は「片方が壊滅的に悪い」という分かりやすい形ではなく、「どちらも中くらい」という形で出ます。そして中くらいのページは、直す優先順位の上位に来ません。見つからないのではなく、見つけても後回しにされるのが実際のところです。
症状の見分け方
| 症状 | どこで見えるか |
|---|---|
| 2つのURLが入れ替わりで出る | クエリで絞ってページタブ。日付で見ると、片方が上がった時期にもう片方が下がる |
| どちらも中位で止まる | どちらも1ページ目の下〜2ページ目。期待CTR(AI Overview補正後)は 8位で1.52%、14位で0.90% |
| 表示は出ているのにクリックが割れる | 同じ検索語で両方のURLに表示回数が付き、クリックがどちらにも少しずつ入る |
3つめは数字の作られ方も関係します。公式ヘルプによると、表示回数はページ単位では各URLに1回ずつ付き、プロパティ単位では1回にまとめられます。クエリ側の合計とページ側の合計が合わないのは、これが理由の1つで、壊れているわけではありません。
見つけたあとの選択肢は4つ
カニバリを見つけると、すぐ統合したくなります。ですが最初に検討すべきなのは「何もしない」です。統合はURLを1つ減らす作業で、元に戻すのに手間がかかります。
| 選択肢 | 選ぶ条件 | 気をつけること |
|---|---|---|
| 何もしない | 出ている検索語が別々。または片方だけ上位で決着している | 「テーマが似ている」だけでは食い合いの証拠になりません |
| 片方を差別化する | 答えている問いは違うのに、タイトルと見出しが同じ語を取り合っている | 消す作業がないので、いちばん軽い。まずここを試す価値があります |
| 片方を noindex にする | 読者には残したいが、検索結果には出したくない(タグページ、古い告知など) | 読者からは見えたままで、外せば戻せます。消すより穏やかな手です |
| 統合する | 読み比べて内容がかなり重なっていて、どちらも上位に届いていない | 本文を移してから301リダイレクト。サイト内リンクの張り替えも要ります |
この順番は「戻しやすい順」です。いちばん下の統合だけがURLを1つ消す作業で、元に戻すのに手間がかかります。上から順に検討して、当てはまらないときに次へ下りるという使い方をしてください。
統合すると決めたあと、どちらのURLを残すか、リダイレクトで何に注意するかは 伸びない記事はリライトか、統合か、削除かに書きました。この記事は「食い合っているかどうかの確認」までで、統合の判断と手順はあちらの領分です。
カニバリの前に「そもそも数字で判断できるページはどれか」を絞りたいなら、 その部分を自動でやるツールも作りました。できること・できないことは記事の最後に書きます。
Search ConsoleのZIPを読み込むと、候補の判定と1記事分の診断カードを無料で確認できます。登録は不要です。ZIPが無い場合は、診断カードの見本を確認できます。
実例: このブログで、公開前に見つけた1件
2026年8月16日、このブログで実際にあった話です。公開前の検証で、2本の記事が同じ形になりかけているのを見つけました。
この2本が、どちらも「掲載順位 × 表示回数」という同じ2軸で帯を切り、帯ごとに同じ打ち手を出す構造になっていました。ほぼ同文の段落が2つ含まれていました。順位別の期待CTRの表と、平均掲載順位についての注意書きです。
直し方は統合ではありませんでした。役割を分けました。
- 「検索順位を上げる方法」= 帯ごとの打ち手(何をするか)
- 「順位が上がらない理由」= 層の切り分け(なぜそうなっているか)
そのうえで、後者から期待CTRの表を削り、前者へリンクで渡しました。重複していた平均掲載順位の注意書きは、専門の記事へ委譲しました。削った側は短くなりましたが、担当している問いは1つに絞られました。
⚠️ 正直に書くと、これは公開前の話なので Search Console の数字はありません。「実際にカニバっていた」ことを数字で証明することはできません。確認できるのは同じ2軸で切った同型の記事を2本作りかけたという事実だけです。
それでもこの経験から言えることが1つあります。カニバリは、公開後に Search Console で見つけるより、書く前に「この記事は何を担当するのか」を1文で言えるか確かめるほうが安いということです。
公開前なら、直すのは段落を移すだけです。公開後に見つかったものは、統合すればURLが1つ減り、リダイレクトと内部リンクの張り替えが付いてきます。同じ問題でも、見つけるのが遅いほど作業が重くなります。
よくある質問
同じキーワードで2記事書いたら、カニバリになりますか
必ずなるとは限りません。判定は記事の読み比べではなく、Search Console で同じ検索語に両方のURLが出ているかどうかで行います。クエリを1つ選んでフィルタをかけ、「ページ」タブに切り替えてください。そこに片方しか出ていなければ、その語では食い合っていません。別々の検索語でそれぞれに表示回数が付いているなら、それは分散ではなく分業です。
エクスポートしたCSVでカニバリを確認できますか
画面から落とす「ページ」CSVだけでは確認できません。そのURLがどの検索語で出ているかの列が入っていないためです。 ⚠️ ただしSearch Console API や BigQuery の一括エクスポートなら、 URLごとのクエリを取得できます(どちらもGoogleアカウントの連携が必要です)。 CSVだけで進めるなら、ページ側で候補を絞り、その数本について画面でクエリを確かめるという2段階になります。
統合すれば順位は上がりますか
上がるとは断定できません。統合して確実に起きるのは、URLが1つ減ることだけです。分散していた内部リンクや情報量が1本に集まるので改善の余地はありますが、そこから先は保証できる話ではありません。だから先に「何もしない」と「差別化する」を検討することをすすめています。戻しやすい手から順に試すほうが、損が小さくなります。
まとめ
- キーワードカニバリゼーションとは、同じ検索意図の語に自サイトの複数ページが当たり、表示機会と評価が分散している状態
- 確認方法はSearch Console でクエリを1つ選んでフィルタをかけ、「ページ」タブに切り替えてURLの内訳を見る。逆にページから入ってクエリを見てもよい
- ⚠️ 画面から落とす「ページ」CSVだけでは判定できない。クエリとページをつなぐ列が入っていないため
- 見つけにくいのは掲載順位が1クエリにつき最上位1件しか記録されないから。負けている側のURLはサイト全体の数字から消える
- 症状は入れ替わりで出る / どちらも中位で止まる / クリックが割れるの3つ。「どちらも中くらい」なので後回しにされやすい
- 打ち手は何もしない・差別化する・noindexにする・統合するの4択。戻しやすい手から試す
探しに行かないと見つからない種類の問題です。クエリを1つ選んでページタブを開く、という数クリックが、いちばん確実な確認方法になります。
ここから先は、私が作ったツールの話です。
Search Console のエクスポートをZIPのまま落とすだけで、クリックを取りこぼしている記事を(期待CTR − 実CTR)× 表示回数の大きい順に並べるツールを作りました。判定に載せるのは掲載順位4.0〜20.5位、かつ表示回数100回以上のページです。解凍もファイル選びも要りません。判定と候補3記事の改善余地スコアの確認、そのうち1記事分の診断カードまでは無料で、残りの診断カードが2,980円(税込)の買い切りです。月額課金や自動更新はありません。ログインも不要です。 CSVファイルそのものはブラウザの外に出ません(診断カードを出すときに選んだ1ページのURL・数値・入力したキーワードを、「ページタイトルを取得する」を押したときに判定に出たページのURLを最大10件送ります)。
⚠️ ただし、このツールはカニバリを検出しません。判定に使っているのは掲載順位と表示回数の2つだけで、クエリ単位の内訳を見ていないからです。この記事に書いたとおり、画面から落とすページCSVにその列が無いためです。できるのは「どちらも中位で止まっている」候補を上に持ってくるところまでで、そこからクエリを見に行くのは手作業です。
カニバリの検出そのものを自動でやりたいなら、 Googleアカウントを連携してクエリとページを同時に取れるツールのほうが向いています。こちらは連携せずに、直す対象を決めるところだけを速くする道具です。表示回数が100回に届かないブログでは0件になりますので、まだ記事を増やす段階なら向きません。
Search ConsoleのZIPを読み込むと、候補の判定と1記事分の診断カードを無料で確認できます。登録は不要です。ZIPが無い場合は、診断カードの見本を確認できます。

