2026年9月8日
2026年9月8日
WordPressのキーワードカニバリゼーション(共食い)を見つけて解消する方法
キーワードカニバリゼーション(共食い)は、同じ検索意図に答える記事がサイト内に複数あり、Googleがどれを表示すべきか迷って評価が分散している状態です。Search Consoleで「1つのクエリに複数のURLが出ていないか」を確認し、検索意図が同じなら1記事に統合して301リダイレクト、意図が違うなら内容とタイトルを差別化する、というのが基本の解決策です。この記事では、WordPressサイトで共食いを見つける手順、統合・差別化・canonical・noindexの使い分け、作業後の確認方法までを順に説明します。
カニバリゼーションとは何か、何が問題になるのか
WordPressで長くブログを運営していると、「WordPress 高速化」「WordPress 表示速度 改善」のように、言い回しは違っても読者が知りたいことは同じ記事が自然に増えていきます。この状態でGoogleは、あるクエリに対してA記事を出したりB記事を出したりと表示URLを入れ替えることがあり、どちらの記事も被リンクや内部リンクの評価を半分ずつしか受け取れません。結果として、1本にまとまっていれば狙えた順位に届かない、という形で影響が出ます。
ただし、同じキーワードで複数のページが表示されること自体は問題ではありません。たとえば「WordPress バックアップ」で、プラグイン比較記事と手動バックアップの手順記事が両方表示されるのは、Googleが別々の意図に答えるページとして扱っている状態です。対処が必要なのは次のようなケースです。
- 同じクエリで表示されるURLが日によって入れ替わり、順位が安定しない
- どちらの記事も同じ範囲を同じ深さで説明していて、片方を読めばもう片方は不要
- 新しい記事を公開した直後から、古い記事の流入が同じぶんだけ落ちた
「似たタイトルの記事がある」だけで統合を始めるのではなく、データで重なりを確かめてから判断するのが、無駄な作業や順位の取りこぼしを防ぐ近道です。
共食いを見つける3つの方法
Search Consoleでクエリごとの表示URLを見る
もっとも信頼できるのはSearch Consoleの検索パフォーマンスのデータです(画面構成は2026年10月現在のものです)。
- 「検索パフォーマンス」の「検索結果」を開き、期間を過去3か月程度にする
- 「クエリ」タブで、気になるキーワードをクリックしてフィルタをかける
- 「ページ」タブに切り替え、そのクエリで表示・クリックされたURLの一覧を見る
ここに2つ以上のURLが並び、どちらにも一定の表示回数がある場合は共食いの候補です。さらにグラフで「日付」ごとに比べると、URLが交互に入れ替わっている様子が分かることもあります。逆に、片方の表示回数がごくわずかなら、Googleはすでに主役を決めているので急いで手を入れる必要はありません。
site:検索で同じテーマの記事を洗い出す
Googleで site:example.com キーワード と検索すると、Googleがそのテーマに関連すると見ているページの一覧がざっくり分かります。件数や順序は厳密なデータではないので、Search Consoleで見つけた候補を補う程度に使ってください。
WordPress側で似た記事を一覧にする
記事数が多いサイトでは、管理画面の投稿一覧の検索や、WP-CLIで公開済み記事をキーワードで絞り込むと候補を拾いやすくなります。
# タイトルや本文に「高速化」を含む公開記事を一覧表示(読み取りのみ)
wp post list --post_type=post --post_status=publish --s="高速化" --fields=ID,post_title,post_name,post_date
見落としやすいのがタグやカテゴリーのアーカイブページです。記事とほぼ同じ名前のタグページが検索結果に出ていて、記事と競合していることがあります。
解消方法の選び方
候補が見つかったら、各ページの検索意図と役割を比べて対処を決めます。
| 状況 | 対処 | ポイント |
|---|---|---|
| 意図が同じで内容も重なっている | 1本に統合して301リダイレクト | 評価を1つのURLに集められる。最も効果が見込みやすい |
| テーマは近いが答える問いが違う | タイトル・見出し・内容を差別化 | それぞれの記事の守備範囲をはっきりさせる |
| ほぼ同じ内容を両方残す理由がある | canonicalで正規URLを指定 | 印刷用ページやパラメータ違いなど重複向け |
| サイトには必要だが検索には不要 | noindex | 薄いタグアーカイブなどに使う |
canonicalは「似た記事どうし」の整理に使いたくなりますが、Googleはcanonicalを指示ではなくヒントとして扱い、内容が大きく違うページ間の指定は無視されることがあります。内容が違う記事を片付けたいなら、統合か差別化を選ぶほうが筋が通ります。
統合して301リダイレクトする手順
統合は効果が大きい一方、URLが消える作業です。作業前にデータベースとファイルのバックアップを取ってください。
1. 残す記事を決める
Search Consoleのクリック数、外部からの被リンク、内容の充実度を見て、残すURLを1つ決めます。迷ったら、すでにクリック数が多いほう、または被リンクが多いほうを残すと評価の移行がスムーズです。URLにスラッグとして年号が入っているなど将来困る要素があれば、このタイミングで見直してもかまいません。
2. 消す記事の有用な部分を移す
消す側の記事にしかない説明、図、よくある質問を、残す記事の該当箇所に組み込みます。単に段落を後ろに足すのではなく、残す記事の見出し構成の中に自然に収めることで、1本の記事として読みやすくなります。
3. 301リダイレクトを設定する
WordPressにはスラッグ変更時に旧URLから転送する仕組みがありますが、別の記事への転送は自動では行われません。リダイレクト用のプラグイン(Redirectionなど)や、SEOプラグインのリダイレクト機能、サーバーの設定で、消す記事のURLから残す記事のURLへ301リダイレクトを設定します。設定したら、消す記事は下書きに戻すかゴミ箱に移します。リダイレクトを設定する前に記事だけ削除すると、その間は404エラーになるので順序に注意してください。
4. 内部リンクを新しいURLに張り替える
リダイレクトがあればリンク切れにはなりませんが、内部リンクは最終的なURLを直接指すほうがクローラーにも読者にも親切です。WP-CLIで一括置換する場合は、いきなり実行せず、まず --dry-run で置換される件数を確かめてから実行します。テーブル接頭辞を wp_ 以外にしている場合は、例の wp_posts を実際のテーブル名に読み替えてください。
# まずは置換件数の確認だけ(データは変更されない)
wp search-replace 'https://example.com/old-slug/' 'https://example.com/new-slug/' wp_posts --dry-run
# 件数に問題がなければ実行(事前にバックアップを取っておく)
wp search-replace 'https://example.com/old-slug/' 'https://example.com/new-slug/' wp_posts
差別化する場合の書き分け方
両方の記事を残す場合は、それぞれが答える問いを1文で言えるように整理します。たとえば「プラグインで高速化する方法」と「サーバー設定で高速化する方法」に分けるなら、タイトル、冒頭の結論、h2見出しをその切り口に合わせ、もう一方の話題は概要とリンクだけにとどめます。両記事の間には相互に内部リンクを張り、「こちらの方法は別記事で解説しています」と読者を案内すると、Googleにも役割分担が伝わりやすくなります。
タグアーカイブが記事と競合している場合は、タグページ自体をnoindexにするか、タグの数を整理して記事と同じ名前のタグを作らない運用にします。Yoast SEOやRank Mathなど主要なSEOプラグインには、タクソノミーごとにnoindexを設定する項目があります。
作業後の確認と予防策
リダイレクトを設定したら、旧URLにブラウザでアクセスして新URLへ転送されるか、curl -I でステータスが301になっているかを確認します。
curl -I https://example.com/old-slug/
# HTTP/1.1 301 Moved Permanently と Location: に新URLが出ればOK
そのうえで、Search ConsoleのURL検査で残した記事のインデックス登録をリクエストし、数週間から数か月の単位で同じクエリの「ページ」タブを見直します。表示URLが1つにまとまり、クリック数が安定していれば整理は成功です。統合によって順位が上がるかどうかは競合状況にも左右されるため、変化がない場合も含めて記録を残しておくと次の判断材料になります。
予防策としては、新しい記事を書く前に、狙うキーワードでサイト内検索とSearch Consoleの確認を行い、既存記事の追記で済まないかを先に検討することです。「キーワード → 担当URL」を一覧にした管理表を作っておくと、複数人で執筆するサイトでも重複を防ぎやすくなります。
まとめ
- 共食いは、同じ検索意図の記事が複数あり、表示URLが入れ替わって評価が分散している状態
- 発見はSearch Consoleでクエリを絞り込み、「ページ」タブで複数URLが出ていないかを見るのが確実性の高い方法
- 意図が同じなら統合して301リダイレクト、違うなら差別化。canonicalは重複ページ向けで、内容の違う記事には向かない
- 統合はバックアップを取ってから、リダイレクト設定 → 記事の非公開化 → 内部リンクの張り替えの順で進める
- 効果は数週間から数か月単位でSearch Consoleで確認し、新規記事の前に既存記事との重なりを確かめる習慣をつける