キーワード&ファンアウトマップ
5ステップ中ステップ1。後のすべてのスキルが読み込むキーワードマップを生成するため、情報を重複して記述する必要はありません。
開始前の準備
必須:DataForSEOコネクタ。 これがないと実際の検索ボリュームが取得できず、このスキルは推測に頼ることになります。推測はデータのように見えるため、役に立たないどころか有害です。
DataForSEOツールがあるか確認してください。ない場合は、処理を停止して次のように伝えてください:
このスキルには実際の検索データが必要です。最初にDataForSEOを接続してください: カスタマイズ → コネクタ → カスタムコネクタを追加 →
https://mcp.dataforseo.com/mcp→ 接続 → 承認。約1分かかります。その後、再度実行してください。
また、プロジェクトから site-brief.md を読んでください。 SEARCH_COUNTRY、SEARCH_LANGUAGE、サービスエリア、サービスリスト、競合他社を取得します。これがない場合は、その旨を伝え、site-brief-builder を最初に実行することを提案してください。site-brief.md なしでも進められますが、その場合は国と言語を明示的に尋ね、指定された値に対してのみボリュームが正しいことを警告する必要があります。
入力
シードキーワード、またはビジネスタイプと場所、あるいは単なるトピック。ユーザーが何も指定しない場合は、ブリーフのサービスリストから3つのシードを提案してください。
プロセス
ステップ1:拡張
DataForSEOコネクタを使用します。APIパスごとに必要なエンドポイントは次のとおりです:
dataforseo_labs/google/keyword_ideas:メインの拡張dataforseo_labs/google/related_keywords:意味的に近いキーワードkeywords_data/google_ads/search_volume:ボリューム、CPC、競合ai_optimization/ai_keyword_data/keyword_data:AI検索ボリューム(人々が検索ボックスではなくLLMに入力する頻度)serp/google/organic:現在のランキング(オプションですが、レポートの品質が向上します)
コネクタ内のツール名はこれらのパスにマッピングされています。正確な名前を想定するのではなく、説明に基づいて適切なツールを選択してください。
常にブリーフのロケーションと言語を渡してください。便利だからといって米国をデフォルトにしないでください。
ステップ2:フィルタリングとクラスタリング
以下のキーワードを破棄します:ボリュームとAIボリュームが両方ともゼロのもの、明らかなスペルミス、競合他社のブランド用語。
残ったものをトピッククラスターにグループ化します。すべてのキーワードに1つの意図タグを付けます:
informational(情報):理解したい(「とは」、「どのように機能するか」)commercial(商業):購入前に比較(「ベスト」、「vs」、「レビュー」)transactional(トランザクション):行動準備完了(「近く」、「予約」、「購入」、「価格」)navigational(ナビゲーション):特定のブランドを探している
次に、各キーワードに役割を割り当てます:
primary(プライマリ):正確に1つ。H1の主題。secondary(セカンダリ):独自のH2を持つ。support(サポート):本文で自然に使用。skip(スキップ):トピックは正しいが、このページには意図が合わない。ユーザーが見逃したのではなく検討して却下されたことを確認できるように、表示したままにします。
プライマリはボリュームだけでなく意図の一致で選んでください。 月間2,400回の情報系キーワードはサービスページのプライマリとして不適切であり、これを選ぶことは最も一般的なキーワードリサーチの間違いです。
ステップ3:ファンアウト質問
AIエンジンがこのトピックを展開するフォローアップクエリを取得します:
ai_optimization/llm_mentions:トピックに関連するファンアウトクエリ- SERPエンドポイントの「People Also Ask」ブロック
dataforseo_labs/google/related_keywords:質問形式の結果
1ページで実際に回答できるものだけを保持します。それぞれをH2とし、その直下に2文の回答を付けます。別のページに属するものは削除し、その旨を伝えてください。
出力
2つのファイルを書き出します。
01-keyword-map.csv、列は正確に次のとおり:
cluster,keyword,intent,role,search_volume,ai_search_volume,competition,cpc
役順(primary、secondary、support、skip)で並べ、次にボリューム降順で並べます。このファイルは seo-content-writer が読み込むため、列名が重要です。
01-keyword-map.html、templates/keyword-map.html.template を埋めます。
data.json を構築してレンダリングします:
python3 scripts/render.py templates/keyword-map.html.template data.json 01-keyword-map.html
data.json の構造:
{
"tokens": { "SUBJECT": "...", "KW_TOTAL": 42, "...": "..." },
"rows": {
"KEYWORD_ROW": [{ "ROW_CLUSTER": "...", "ROW_KEYWORD": "...", "...": "..." }],
"FANOUT_ROW": [{ "ROW_QUESTION": "...", "ROW_QUESTION_NOTE": "..." }],
"SERP_ROW": [{ "ROW_POSITION": 1, "ROW_DOMAIN": "...", "...": "..." }]
}
}
トークンに関する注意事項:
ROW_INTENT_CLASSはinfo、comm、trans、navのいずれかである必要があります。- SERPチェックをスキップした場合は、
SERP_TABLE_DISPLAYをnoneに、SERP_EMPTY_DISPLAYをblockに設定します。それ以外の場合はblockとnoneにします。 DATA_WINDOWはボリュームウィンドウで、通常は「過去12か月の平均」です。DATA_NOTESは使用されたロケーションと言語を記載する必要があります。これにより、ユーザーが間違った市場で実行されたことを把握できます。
テンプレートのスタイルを変更しないでください。フォント、色、チャートを追加しないでください。
正直さのルール
- APIから取得していないボリュームを決して記述しないでください。キーワードにボリュームが返されなかった場合は、「データなし」と表示し、0や推定値を表示しないでください。
- AI検索ボリュームはGoogleボリュームよりも新しいデータであり、データ範囲が狭いです。欠落している場合は、欠落していると明記し、ゼロの需要があると暗示しないでください。
- ニッチが小さいためにキーワード総数が少ない場合は、その旨を伝えてください。短くても正直なマップは、水増しされたものよりも優れています。
引き継ぎ
最後にユーザーに次のように伝えてください:
次:
seo-content-writerを実行してください。このツールは01-keyword-map.csvを自動的に読み込むため、キーワードを再度指定する必要はありません。3つの質問がありますが、そのうち1つはあなただけが答えられます。