AIを使うSEOキーワード調査では、検索数をAIに考えさせるのではなく、Search ConsoleやKeyword Plannerから得た実データを、表記揺れ・検索意図・記事候補へ整理させます。
AIは大量のqueryの分類や仮ラベルに向きますが、月間検索数、競合、現在の検索結果、既存URLの役割を知っているとは限りません。元データを保持し、人がSERPとサイト内重複を確認します。
この記事では、収集、正規化、cluster、1URL1主キーワード、既存記事との照合までを解説します。
情報確認日:2026年7月17日(日本時間)
結論:AIはデータ生成ではなく分類に使う
- Search Consoleなどから実queryを集める
- 原文を残して表記だけ正規化する
- 同じ検索意図の候補をcluster化する
- clusterごとに主キーワードを1つ決める
- 既存URLへ割り当て、新規・改稿・統合を判断する
- 実SERPで意図を確認する
禁止:AIが作った「月間1,000回」などの数値を調査結果として使わないでください。数値には必ずsource、期間、地域、device、取得日を付けます。
キーワード候補を収集する
Search Console
Performance reportからquery、page、click、impression、CTR、positionを取得します。期間、国、device、検索typeを固定し、queryだけでなくpageも一緒に持つと、既存URLとの競合を確認できます。
Keyword Planner
seedとなる語やURL、language、location、networkを指定し、候補とhistorical metricsを得ます。Search Consoleにまだ出ていない新規テーマの補助に使います。
サイト内データ
- サイト内検索語
- 問い合わせ・チャット・営業メモ
- 既存記事のタイトル・見出し
- サポートFAQと失敗事例
- 関連検索・検索候補を人が確認した記録
Search ConsoleのexportやAPIは、すべてのquery行が必ず得られるわけではありません。データの制約を記録し、「ゼロ」と「取得できない」を区別します。
入力データの列を固定する
query,page,clicks,impressions,ctr,position,period,country,device,source
"ai api 使い方","/ai-api-basics/",12,450,0.0267,8.4,"2026-06","JPN","MOBILE","GSC"
AIへ渡す前に、個人情報や極端に少ないqueryの扱いを決めます。元のqueryは変更せず、別列へ正規化結果と分類理由を追加します。
表記揺れを正規化する
| 原query | normalized | 変更 |
|---|---|---|
| Open AI API 使い方 | openai api 使い方 | ブランド表記 |
| OpenAIAPI 料金 | openai api 料金 | 空白 |
| chat gpt api | chatgpt api | 表記揺れ |
| Gemini API JS | gemini api javascript | 略語展開 |
誤字を直すことと、意味を統合することは別です。「料金」と「使い方」は同じ製品名でも検索意図が違うため、1clusterへまとめません。
AIへ検索意図を分類させるprompt
次のquery一覧を分類してください。
ルール:
- 入力のqueryと数値を変更しない
- 数値を推測・補完しない
- intentは「意味理解・使い方・実装・比較・料金・トラブル・購入」に限定
- 同じ回答と同じURLで満たせる候補だけ同じcluster_idにする
- 判断できない場合はunknown
- 各行にreasonを20文字以内で付ける
出力列:
query, normalized, intent, cluster_id, reason, confidence
AIのclusterは仮説です。検索結果上位のページtype、見出し、製品ページ・解説記事・動画などの形式を人が確認します。
実データからquery clusterを作る例
次の表は、このサイトで2026年7月16日に記録したSearch Console基準値から、ChatGPT Work関連の4queryを抽出したものです。数値はAIが生成したものではありません。
| query | impression | position | intent | cluster | 割当 |
|---|---|---|---|---|---|
| chatgpt work | 157 | 12.71 | 意味・使い方 | CW01 | 親記事 |
| chatgpt work 使い方 | 8 | 19.25 | 使い方 | CW01 | 親記事内の手順 |
| chatgpt work とは | 4 | 16.50 | 意味理解 | CW01 | 親記事の冒頭 |
| chatgpt chat work 違い | 4 | 12.00 | 比較 | CW02 | 比較見出し、増加時は別URLを再検討 |
最初の3queryは、ChatGPT Workを理解して使い始める同じ完了条件へまとめられます。「Chatとの違い」は比較意図なので別clusterにし、現時点では親記事の比較見出しで対応し、データが増えたら別URLの必要性を再評価します。
query cluster表を作る
次は説明用の架空データです。実運用では自分のexport値へ置き換えます。
| cluster | query例 | intent | 主KW候補 | URL判断 |
|---|---|---|---|---|
| C01 | OpenAI API 使い方、JavaScript | 実装 | openai api javascript | 実装記事1本 |
| C02 | OpenAI API 料金、無料枠 | 料金 | openai api 料金 | 料金記事へ分離 |
| C03 | OpenAI API 401、キー エラー | トラブル | openai api 401 | トラブル記事またはFAQ |
| C04 | OpenAIとGemini API 比較 | 比較 | ai api 比較 | 比較記事へ分離 |
1URL1主キーワードへ割り当てる
| URL | primary keyword | secondary | 読了後 |
|---|---|---|---|
| /openai-api-javascript/ | openai api javascript | node.js、使い方 | 最初の応答を取得 |
| /openai-api-pricing/ | openai api 料金 | token、見積もり | 費用を計算 |
| /openai-api-errors/ | openai api エラー | 401、429 | 原因を切り分け |
1URL1主キーワードは、1語しか使わないという意味ではありません。1つのURLで満たす中心意図を1つに決め、同じ意図の言い換えをsecondaryとして扱います。
既存URLと照合する
- 主KW候補を既存title・H1・slugから検索する
- Search Consoleで同じqueryに出るpageを確認する
- 各pageの読者・完了条件・成果物を比較する
- 同じ意図なら強いURLへ統合・改稿を検討する
- 違う意図ならtitle・内部リンク・本文境界を明確にする
- 新規URLは既存URLで満たせない場合だけ作る
| 状態 | 対応 |
|---|---|
| 既存URLが意図を満たす | 改稿し、別URLを作らない |
| 同じqueryで2URLが継続競合 | 意図差を強化、または統合を検討 |
| 別の完了条件がある | 別URLを維持し相互リンク |
| データが少ない | 断定せずwatchとして蓄積 |
調査結果の保存形式
source_checked_at:
period:
country:
device:
source:
cluster_id:
primary_keyword:
intent:
reader:
completion_goal:
assigned_url:
decision: keep / rewrite / create / merge / watch
evidence:
serp_checked_at:
owner:
よくある失敗
- AIに検索数を推測させる
- query原文を上書きして証拠を失う
- 製品名が同じだけで全queryを統合する
- Search Consoleのpage dimensionを見ない
- 既存記事を確認せず新規URLを増やす
- 一度の複数表示だけでカニバリと断定する
- cluster理由と確認日を残さない
AIへ分類条件を正確に伝える基本はプロンプトの書き方も参考になります。
まとめ
AIでSEOキーワード調査を行うときは、Search Console、Keyword Planner、サイト内データを先に集めます。AIは表記揺れと検索意図の仮分類に使い、数値は生成させません。
clusterごとに1つの中心意図と主キーワードを決め、既存URLへ割り当てます。新規記事は既存URLで読者の完了条件を満たせない場合だけ作り、実SERPとquery-pageデータで確認してください。