AIでカニバリ記事を見つけて整理する方法

同じキーワードを含む記事が複数あっても、検索結果で競合しているとは限りません。検索語ごとに複数URLが表示され、同じ検索意図と読者の目的にほぼ同じ答えを返しているか確認します。

AIものさし編集部

同じキーワードを含む記事が複数あるだけでは、SEOのカニバリとは言い切れません。確認したいのは、同じQueryで複数URLが競合し、しかもそれぞれがほぼ同じReader Job・結論・次Actionを返しているかです。テーマが近くても役割が違えば共存できます。

この記事では、Search ConsoleのQuery→Pagesを起点に、記事の役割を比較し、統合・役割分離・Parent/Child・保留のどれにするか判断する方法を整理します。削除やURL変更は最後です。まずEvidenceを集めて、実際に競合しているかを見ます。

最初に「カニバリ候補」と「単なる類似記事」を分ける

候補抽出では、同じQueryで複数URLにimpressionやclickが出ているページを見ます。ただし、これだけではカニバリ確定ではありません。

たとえば「ChatGPT 料金」で、料金記事と比較記事の両方が表示されても、料金記事は契約判断、比較記事は他サービスとの選定を担っているなら役割が違います。逆に両方が同じ料金表・同じ結論・同じCTAを持つなら重複度が高いと言えます。

Cannibalization Triage Matrixを使う

まず次の4分類で整理します。

表は横にスクロールできます

状態判断次Action
Query・Intent・結論・次Actionが近い重複候補Intent Ownerを決め統合検討
Queryは近いがReader Jobが違う共存候補導入・見出し・内部リンクで役割明確化
Generic / Specificの関係Parent / Child親から詳細へ導線
URL入替があるが役割不明要調査GSC期間比較・SERP確認

このMatrixへ入らないうちに、片方を削除しません。

Search ConsoleでQuery→Pagesを確認する

対象QueryごとにPagesを確認し、少なくともimpression、click、CTR、position、期間ごとのURL入替を記録します。

見るポイントは「複数URLが存在する」ことより、どのURLがどの時期に表示され、どのQuery群を拾っているかです。同じQueryでも、1ページはgeneric query、もう1ページはlong-tail中心なら役割が分かれている可能性があります。

短期のposition変動だけで結論を出さず、十分な期間を比較します。季節性や公開直後の揺れもあるため、検索データはEvidenceの一部として扱います。

Page Role Matrixで記事の意味を比較する

対象ページごとに、Target QueryだけでなくReader Jobと主結論を並べます。

表は横にスクロールできます

Page主QueryReader JobDirect Answer固有ValueNext Action
AAI料金自分に必要なPlanを判断無料/有料の境界Plan制限・費用契約判断
BAI比較候補を絞る条件別にA/B比較Matrix候補を選ぶ
CAI無料無料で足りるか確認上限で判断Free制限無料で試す

Queryが近くても、このRoleが明確に違えば統合しなくてよい可能性があります。

AIには見出し類似ではなく意味の重なりを見させる

記事全文または主要sectionをAIへ渡し、TitleやH2の単語一致ではなく、Reader Job、Direct Answer、Decision Factors、Next Actionの重複を比較させます。

依頼例:

以下の複数記事を比較してください。

各記事について:

  • Target Query

  • Reader Job

  • Direct Answer

  • 主な判断材料

  • 固有Value

  • Next Action

判定:

  1. Same Intent / Same Answer

  2. Same Topic / Different Intent

  3. Parent / Child

  4. Partial Overlap

  5. Insufficient Evidence

単語が似ているだけでSame Intentにしないでください。

同じQueryでも結論が違えば要確認

同じQueryで2記事が表示され、片方は「無料で十分」、片方は「有料がおすすめ」と結論が違う場合、すぐに片方を消すのではなく、条件差があるかを確認します。

対象ユーザー、利用量、時点、Plan、Evidenceが違うなら、条件付きで共存できる可能性があります。条件が同じなのに結論が矛盾するならFactまたは編集判断の不整合として優先的に修正します。

統合する条件を明確にする

統合候補は、Reader Job、Direct Answer、主要Evidence、Next Actionがほぼ同じで、片方を残しても読者の目的を失わない場合です。

統合時は単純に本文を足し合わせません。どちらをIntent Ownerにするか決め、重複説明を削り、固有Valueだけ移します。残すURLの選定では、現行Performance、外部リンク、内部リンク、履歴、URLの役割なども確認します。

URL変更やredirectはSEO構造に影響するため、実行は別Gateで扱います。

役割分離で共存できるケース

同テーマでも、Pricing / Comparison / How-to / TroubleshootingのようにReader Jobが違うなら、役割を明確にします。

導入で「この記事は何を決めるページか」を示し、H2、内部リンク、CTAもその役割に合わせます。比較記事から料金詳細へ、概要記事から操作手順へつなぐことで、ページ同士が競合するのではなく役割分担できます。

Parent / ChildはQueryの粒度で整理する

広いQueryを扱う親ページと、特定条件を深掘りする子ページは共存しやすい構造です。

たとえば親が「AI PDF活用」、子が「スキャンPDFの読み取り」「契約PDFの条件抽出」なら、親は選択肢と導線を提供し、子は具体Taskを完了します。親が子と同じ詳細まで書きすぎると重複が増えるため、Depthを分けます。

内部リンクでIntent Ownerを伝える

役割分離したら、関連ページ同士を自然なAnchorでつなぎます。

親から子へ「スキャンPDFの読み取り条件はこちら」、比較から料金へ「各Planの現行料金を確認」のように、リンク先で何が分かるかを示します。単に同じKeywordのAnchorを大量に揃えることが目的ではありません。

タイトル変更だけで解決しないケースもある

Titleが似ているからTitleだけ変える、という対応では本文のReader Jobが同じままです。検索者が受け取る答えが重複しているなら、本文・構成・Next Actionまで役割を変える必要があります。

逆に本文役割が明確なら、Titleの表現が近いだけで大きな問題とは限りません。Title変更は役割分離の結果として行います。

削除・noindex・redirectは最後に判断する

カニバリ候補を見つけても、すぐに削除しません。対象ページが別Queryで流入している、外部リンクを持つ、既存ユーザーが参照している場合があります。

統合・redirect・noindexなどはURL構造やIndex設計へ影響するため、Performanceと役割を確認したうえで別Gateを置きます。まずContent側でIntent Ownerを決めるのが先です。

修正前にBefore Snapshotを残す

変更前のQuery→Pages、impression、click、position、対象期間、記事Roleを記録します。

これがないと、修正後に良くなったのか、単なる検索変動なのか判断しにくくなります。統合・役割分離をした理由もChange Logへ残します。

修正後は同じQueryで再計測する

修正後もQuery→Pagesを同じ条件で確認します。

Intent OwnerのURLに表示が集約されたか、Childが固有Queryを維持しているか、clickやimpressionがどう変わったかを見ます。短期で結論を出さず、変更内容と検索状況に応じた期間を取ります。

よくある誤診

避けたいのは次です。

  1. 同じKeywordがTitleにあるだけでカニバリ判定。

  2. 複数URL表示だけで片方を削除。

  3. Reader Jobを見ずに検索量の大きいURLへ統合。

  4. Generic / Specificを同じIntentとして扱う。

  5. GSCを見ずにSERPの1回観測だけで判断。

  6. URL変更後の再計測をしない。

  7. Performanceが弱い=重複と決めつける。

カニバリは「似た記事がある」問題ではなく、検索Intentとページ役割の衝突として扱うと整理しやすくなります。

最終判断表

最終的には、各ページペアごとにActionを一つ選びます。

KEEP:役割が違う。

DIFFERENTIATE:Intentは近いが固有Jobを強められる。

PARENT/CHILD:粒度で分離できる。

MERGE CANDIDATE:Job・Answer・Actionがほぼ同じ。

HOLD:Data不足。

MERGE CANDIDATEになっても、redirectなどの実行はSEO構造の確認後です。

AIものさしの判断

カニバリ記事を整理するときは、Keyword重複ではなく「Query → 表示Pages → Reader Job → Direct Answer → Next Action」の順で確認します。テーマが近いだけなら削除しません。

まずSearch Consoleで候補を出し、Page Role Matrixを作ってください。Same Intent / Same Answerなら統合候補、Jobが違えば役割分離、generic/specificならParent/Child、Evidence不足ならHOLDです。この順なら、検索流入を失う可能性がある破壊的な変更を急がずに整理できます。

次に読む・使う

この記事の次に必要な情報へ進めます。