Claude Media
キーワードのクラスタリングをClaudeで進め、検索意図別の記事対応表にする

キーワードのクラスタリングをClaudeで進め、検索意図別の記事対応表にする

Semrush・Ubersuggest・Search ConsoleのCSVをClaudeに渡し、検索意図ごとに分けて1ページに束ねる語と分ける語を決めます。判断基準の渡し方と検算コードつきです。

キーワードCSVは「意図」と「ページ」の2列を足すと対応表になる

Semrush、Ubersuggest、Search Consoleから書き出したキーワードのCSVをClaudeに渡し、検索意図ごとに分類して、どの語を同じページで受けるかを決めた対応表に仕上げられます。Claudeはコードを書いて集計するので、ピボットテーブルや関数を組む手間は要りません。

任せられるのは分類と束ね方の下書きまでです。「この2語は同じページで答えられるか」の最終判断は、検索結果の上位ページを見て人が確かめます。この記事では、判断基準の渡し方、プロンプト、Claudeが返した表の検算までを順に扱います。

既存ページの改稿順を決めたいときは、Search ConsoleのCSVでリライト優先度を決める記事が受け持ちます。ここで扱うのは、これから書く記事にキーワードを割り振る作業です。

3つのCSVを1ファイルに揃える

ツールごとに列名も指標も違うため、そのまま3本を渡すと列の対応づけでClaudeが迷います。渡す前に、次の最小構成へ揃えます。

列中身備考
keyword中身検索語備考全角・半角の空白を統一
source中身semrush / ubersuggest / gsc備考どのツール由来かを残す
volume中身月間検索ボリューム備考GSCにはないので空欄でよい
impressions中身表示回数備考GSC由来の語だけ入る
position中身平均掲載順位備考GSC由来の語だけ入る

GSCの語は、すでに表示されている語です。自社サイトのどこかが拾っているので、新規記事に割り振る前に既存ページとの重複を疑う必要があります。この区別のためにsource列を残します。

ツール連携で外部のSEOデータを会話に引く方法は、Semrush連携とUbersuggest連携にあります。CSVで運用するなら、書き出しの段階で列を揃えるのが手早い方法です。

添付できるファイルと上限

CSVは、Claudeが読める文書形式に入っています。チャットへの添付は1ファイル500MBまで、1つのチャットに20ファイルまでです。プロジェクトのファイル欄に置く場合は1ファイル30MBまでで、テキストだけが取り込まれます。

ファイル作成機能の説明ページには「アップロードとダウンロードは1ファイル30MB」とあり、アップロードの説明ページ(チャット500MB・プロジェクト30MB)とは数字が一致しません。キーワードCSVは数MBに収まるので実害はありませんが、数十万語を渡す前に自分のアカウントで試すのが確実です。

Excel形式(XLSX)で渡すには、アカウントでコード実行とファイル作成を有効にしておく必要があります。CSVの注記にはこの条件がありません。コード実行はFree・Pro・Max・Team・Enterpriseの各プランで使えますが、TeamとEnterpriseでは組織の管理者が止めている場合があります。ファイルを作らせる処理は、通常のチャットより利用上限を多く消費します。

意図ラベルと「束ねる・分ける」の基準を先に決める

Claudeに「検索意図で分類して」とだけ頼むと、ラベルの粒度が回ごとにぶれます。ラベルの定義と、束ねる条件を先に文章で渡します。以下は作業用に決めた定義で、公式の分類ではありません。

ラベル検索する人がしたいこと語の例
情報検索する人がしたいこと仕組みや手順を知りたい語の例claude csv分析 やり方
比較検索する人がしたいこと複数の選択肢を見比べたい語の例claude gemini比較
取引検索する人がしたいこと申し込む・買う・導入する語の例claude pro申し込み
指名検索する人がしたいこと特定の製品名・サイトに行きたい語の例claudeログイン

束ねるかどうかは、次の順で決めます。

切り分け

1ページで受けるか、分けるか

  1. Q2語の意図ラベルは同じですか?
    答えが分けます。別ページにして、片方から他方へ内部リンクで送ります
    答えがはい
  2. Q読者が求める答えは同じ形(同じ手順・同じ表)ですか?
    答えが分けます。ラベルが同じでも、答えの形が違えば別ページです
    答えがはい
  3. Q自社に、すでにその語で表示されているページがありますか?
    答えが新規ページとして、新しい page_id を振ります
    答えがはい

既存ページの見出しに足す

GSC由来の語が既存ページに当たる場合は、新規記事ではなく既存記事の加筆にします。

判断の例 — 6語を実際に割り振るとどうなるか

次の6語を例に、上の基準を当てはめます。語もページ割りも説明用の仮定です。

語意図割り振り判断の理由
claude csv分析意図情報割り振りP01判断の理由手順が答え
claude csv分析 エクセル意図情報割り振りP01判断の理由同じ手順の入口違いなので見出しで拾う
claude csv分析 比較意図比較割り振りP02判断の理由答えが見比べる表で、手順と形が違う
claude csv集計 ツール おすすめ意図比較割り振りP02判断の理由上と同じ表で受けられる
claude有料csv意図取引割り振りP03判断の理由プランの違いと申込が答え
claude csv分析 ログイン意図指名割り振り記事なし判断の理由製品のログイン画面に行きたい語

「エクセル」や「集計」のように言い回しだけが違う語は束ねやすく、「比較」「おすすめ」が付くと答えの形が変わるので分けます。語尾の一語が意図を切り替える点が、人が見直すときの着眼点です。

同じ入力で2回回し、割り振りの差を見る

分類は、同じCSVでも回ごとに揺れることがあります。揺れが大きい語は、意図があいまいな語です。

  1. 同じCSVと同じプロンプトで、別々の新しい会話を2つ作り、mapping.csvを2本もらう
  2. 2本のintentとpage_idをkeywordで突き合わせ、食い違う行だけを抜き出す
  3. 食い違った語を人が検索結果で確かめ、定義の追記が要るかを判断する

食い違う語に共通点が見つかれば(「導入」「比較」付きの語など)、意図ラベルの定義にその語の扱いを1行足して、全体を回し直します。

「答えの形が同じか」は、Claudeの推定だけでは決めきれない点です。2語で検索して上位ページが同じ顔ぶれなら束ねてよい、という目安を自分で確かめ、迷う組だけ人が見る運用にすると手戻りが減ります。

Claudeに渡すプロンプトと、返してもらう表の形

CSVを添付し、次の文面を貼ります。角括弧の部分は自分の条件に置き換えます。

添付の keywords.csv は、Semrush・Ubersuggest・Search Console の
書き出しを1本にまとめたものです(列: keyword, source, volume,
impressions, position)。次の手順で分類してください。
 
1. 先に、keyword 列の重複(空白・大文字小文字の違いを除く)を
   まとめ、除いた件数を答えてください。
2. 各語に、次の4つのうち1つだけ意図ラベルを付けてください。
   情報 / 比較 / 取引 / 指名
   定義: [上の表の4行をここに貼る]
3. 同じ意図で、読者が求める答えが同じ形になる語を1つの
   page_id(P01, P02, ...)にまとめてください。
4. source が gsc で position が20以下の語は、既存ページがある
   前提で page_id を EXISTING とし、新規ページに入れないでください。
5. 出力は mapping.csv(列: keyword, intent, page_id, reason)にし、
   reason には束ねた根拠か、分けた根拠を30字以内で書いてください。
6. keywords.csv に無い語を、mapping.csv に足さないでください。
   判断に迷う語は、reason の先頭に「要確認」と付けてください。

6番を入れるのは、Claudeが「ありそうな関連語」を補って行を増やすのを避けるためです。4番の20位という線は一例です。自社の状況に合わせて変えます。

この文面に対してClaudeが返す表は、例えば次のような形になります(列構成の例であり、実際の分類結果ではありません)。

keywordintentpage_idreason
claude csv分析intent情報page_idP01reason手順の記事で受ける
claude csv分析 やり方intent情報page_idP01reason上と同じ答えの形
claude excel比較intent比較page_idP02reason見比べる表が答え
claude pro申し込みintent取引page_idP03reason申込手順が答え

対応表を検算する — 行数・創作語・意図の混在

分類の中身は読んで判断しますが、行の過不足や定義外のラベルは機械で確かめられます。次のスクリプトをClaudeに頼んでその場で走らせても、手元で動かしても構いません。標準ライブラリだけで動きます。

import csv, sys
from collections import Counter, defaultdict
 
INTENTS = {"情報", "比較", "取引", "指名"}
 
def load(path):
    with open(path, encoding="utf-8-sig", newline="") as f:
        return list(csv.DictReader(f))
 
src = [r["keyword"].strip() for r in load(sys.argv[1])]
rows = load(sys.argv[2])
mapped = [r["keyword"].strip() for r in rows]
 
print("元の語数:", len(set(src)), "/ 対応表の行数:", len(mapped))
print("対応表に無い語:", sorted(set(src) - set(mapped)))
print("元に無い語(創作の疑い):", sorted(set(mapped) - set(src)))
print("複数行に出る語:", [k for k, n in Counter(mapped).items() if n > 1])
print("定義外の意図ラベル:",
      [r["keyword"] for r in rows if r["intent"] not in INTENTS])
 
pages = defaultdict(set)
for r in rows:
    pages[r["page_id"]].add(r["intent"])
print("1ページに複数の意図が混ざる:",
      {p: sorted(v) for p, v in pages.items() if len(v) > 1})
python3 check_map.py keywords.csv mapping.csv

6語のサンプルCSVに、元に無い語「claude無料」を1行足した対応表で試すと、「元に無い語(創作の疑い): ['claude無料']」だけが出て、ほかの項目は空になりました。この出力を見たら、該当行をClaudeに削らせるか、手で消します。

最後の「1ページに複数の意図が混ざる」は、混ざったページが出たら分け直す合図です。ただし、比較を主題にしたページが冒頭で定義(情報)を少し説明するように、1ページで2つの意図を受ける設計はあり得ます。その場合は、主となる意図を決めてpage_idの割り当てを残します。

つまずきやすい点

落とし穴

語数が多いと途中で件数が合わなくなる

数千語を一度に渡すと、出力の途中で行が抜けたり、ラベルがぶれたりします。大きなファイルは小さな区間に分けるよう、アップロードの説明ページも勧めています。語を意図ラベルだけで先に仕分け、ラベルごとにpage_idを割り当てる二段にすると、1回あたりの出力が減って検算も楽です。件数が大きい分類を機械的に回す方法は、自由記述の分類をバッチAPIで回す記事が参考になります。

  • ラベルの定義を会話の途中で変えると、前に分けた分と食い違います。定義を直したら、全語を最初から分け直させます。
  • 指名の語(製品名・ログインなど)は、ほかの意図の語と束ねると記事の主題がぼやけます。公式サイトが受ける語も多いため、記事を立てるかどうかを別に判断します。
  • 月間ボリュームの大小は、束ねるかの根拠にしません。ボリュームの小さい語も、答えが同じなら同じページの見出しとして拾います。

対応表から次の作業へ渡す

mapping.csvができたら、page_idごとに「代表の語1つ(タイトルに入れる語)」と「見出しに回す語」を決めます。代表の語はボリュームが大きく、意図ラベルが明確な語を選ぶのが扱いやすい基準です。ここもClaudeに候補を出させ、人が1本ずつ採否を決めます。

分けた語の扱いも、この表に残しておきます。たとえばP01(情報)とP02(比較)が同じ話題から分かれた組なら、本文の中で互いにリンクを張る前提にします。Claudeに「page_idの組のうち、同じ話題から分けたもの」をreasonから拾わせると、内部リンクの計画表の下書きになります。分けたのにリンクが無いページ同士は、読者が行き来できず、同じ話題を別々に探すことになります。

タイトルとmeta descriptionの下書きは、titleとmeta descriptionの一括下書きと検査に続けて進められます。CSVの基本的な読ませ方はClaude CSV分析の使い方にまとめています。

まとめ

対応表の品質は、プロンプトの上手さより、意図ラベルの定義と「束ねる・分ける」の基準を先に文章で渡したかどうかで決まります。Claudeには分類と下書き、検算スクリプトを任せ、答えの形が同じかどうかは検索結果を見て人が決める。この分担なら、数百語の割り振りが1回の作業で済みます。

この記事を共有:XはてブLinkedIn