mcpField
S
semrush-research

semrush-research

github.com/openclaudiaマーケティング・グロース722491 回インストール1 週間前に更新
リポジトリ

semrush-research について

SemRush APIからSEOと競合調査のデータを取得するリサーチ用スキルです。ドメイン、キーワード、被リンク、競合、トラフィックの調査と比較分析を扱います。

主な機能

  1. 01ドメインの検索実績を確認
  2. 02キーワードの検索量と難易度を調査
  3. 03関連語と順位獲得キーワードの検索
  4. 04被リンクプロフィールの要約
  5. 05自然検索の競合を特定
  6. 06トラフィックとエンゲージメントの推定

活用シーン

  1. 01ドメインと競合サイトの比較
  2. 02コンテンツ企画向けのキーワード機会の発見
  3. 03ドメインの自然検索順位の確認
  4. 04複数サイトの被リンクプロフィールの評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/openclaudia/openclaudia-skills --skill semrush-research

インストール後、Claude Code で/semrush-researchを入力して読み込まれたか確認します。

詳細

SemRush リサーチ

SemRush API から、最新の SEO および競合分析データを取得します。

前提条件

.env、.env.local、または ~/.claude/.env.global に SEMRUSH_API_KEY が設定されている必要があります。

# Verify the key is available
echo "SEMRUSH_API_KEY is ${SEMRUSH_API_KEY:+set}"

キーが設定されていない場合は、ユーザーに次のように案内してください。

SemRush API キーが必要です。https://www.semrush.com/api/ から取得してください。 その後、.env ファイルに SEMRUSH_API_KEY=your_key を追加してください。

API ベース

すべてのリクエストは https://api.semrush.com/ に送信し、API キーを &key={SEMRUSH_API_KEY} として渡します。

レスポンスはセミコロン区切りの CSV です。1 行目がヘッダー行です。それに従って解析してください。


1. ドメインの概要

任意のドメインのオーガニック検索と有料検索のパフォーマンスを、大まかに把握します。

エンドポイント
https://api.semrush.com/?type=domain_ranks&key={KEY}&export_columns=Dn,Rk,Or,Ot,Oc,Ad,At,Ac&domain={domain}
エクスポート列
列意味
Dnドメイン
RkSemRush ランク
Orオーガニックキーワード数
Otオーガニックトラフィックの推定値
Ocオーガニックトラフィックのコスト($)
Ad有料キーワード数
At有料トラフィックの推定値
Ac有料トラフィックのコスト($)
curl の例
curl -s "https://api.semrush.com/?type=domain_ranks&key=${SEMRUSH_API_KEY}&export_columns=Dn,Rk,Or,Ot,Oc,Ad,At,Ac&domain=example.com"
レスポンスの解析
# Response format (semicolon-delimited):
# Dn;Rk;Or;Ot;Oc;Ad;At;Ac
# example.com;12345;8234;145000;234500;120;3400;5600

# Parse with awk
curl -s "..." | awk -F';' 'NR==2 {
  printf "Domain: %s\nSemRush Rank: %s\nOrganic Keywords: %s\nOrganic Traffic: %s\nOrganic Traffic Cost: $%s\nPaid Keywords: %s\nPaid Traffic: %s\nPaid Traffic Cost: $%s\n",
  $1,$2,$3,$4,$5,$6,$7,$8
}'

2. キーワードの概要

キーワードの検索ボリューム、CPC、競合状況、SERP 機能を取得します。

エンドポイント
https://api.semrush.com/?type=phrase_all&key={KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td
エクスポート列
列意味
Phキーワードフレーズ
Nq検索ボリューム(月間)
CpCPC(USD)
Co競合状況(0-1)
Nr検索結果数
Tdトレンド(12 か月分、カンマ区切り)
curl の例
curl -s "https://api.semrush.com/?type=phrase_all&key=${SEMRUSH_API_KEY}&phrase=content+marketing&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td"
対応データベース

&database=XX を使用します。XX に指定できる値は、us、uk、ca、au、de、fr、es、it、br、in、jp です。


3. 関連キーワード

コンテンツ計画とギャップ分析のために、意味的に関連するキーワードを見つけます。

エンドポイント
https://api.semrush.com/?type=phrase_related&key={KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td&display_limit=20
curl の例
curl -s "https://api.semrush.com/?type=phrase_related&key=${SEMRUSH_API_KEY}&phrase=project+management&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td&display_limit=20"
複数行の解析
curl -s "..." | awk -F';' 'NR>1 { printf "%-40s Vol: %-8s CPC: $%-6s Comp: %s\n", $1, $2, $3, $4 }'

4. キーワード難易度

キーワードで上位表示する難易度を推定します。

エンドポイント
https://api.semrush.com/?type=phrase_kdi&key={KEY}&phrase={keyword}&database=us&export_columns=Ph,Kd
列意味
Phキーワード
Kdキーワード難易度(0-100)

解釈:

  • 0-29:簡単 — 質の高いコンテンツで達成可能です
  • 30-49:中程度 — 充実したコンテンツと、ある程度のバックリンクが必要です
  • 50-69:難しい — 強いドメインオーソリティとバックリンクが必要です
  • 70-84:非常に難しい — 確立されたオーソリティが必要です
  • 85-100:極めて難しい — 最上位のドメインが上位を占めています

5. ドメインのオーガニックキーワード

あるドメインがオーガニック検索でランクインしているキーワードを確認します。

エンドポイント
https://api.semrush.com/?type=domain_organic&key={KEY}&domain={domain}&database=us&export_columns=Ph,Po,Nq,Cp,Url,Tr,Tc&display_limit=50&display_sort=tr_desc
列意味
Phキーワード
Po順位
Nq検索ボリューム
CpCPC
Urlランクインしている URL
Trトラフィック(%)
Tcトラフィックコスト
curl の例
curl -s "https://api.semrush.com/?type=domain_organic&key=${SEMRUSH_API_KEY}&domain=hubspot.com&database=us&export_columns=Ph,Po,Nq,Cp,Url,Tr,Tc&display_limit=20&display_sort=tr_desc"

6. バックリンクの概要

ドメインのバックリンクプロファイルの概要を取得します。

エンドポイント
https://api.semrush.com/analytics/v1/?key={KEY}&type=backlinks_overview&target={domain}&target_type=root_domain&export_columns=total,domains_num,urls_num,ips_num,follows_num,nofollows_num,texts_num,images_num
curl の例
curl -s "https://api.semrush.com/analytics/v1/?key=${SEMRUSH_API_KEY}&type=backlinks_overview&target=example.com&target_type=root_domain&export_columns=total,domains_num,urls_num,ips_num,follows_num,nofollows_num,texts_num,images_num"

7. 競合の特定

同じオーガニックキーワードで競合するドメインを見つけます。

エンドポイント
https://api.semrush.com/?type=domain_organic_organic&key={KEY}&domain={domain}&database=us&export_columns=Dn,Cr,Np,Or,Ot,Oc,Ad&display_limit=10
列意味
Dn競合ドメイン
Cr競合レベル
Np共通キーワード
Orオーガニックキーワード
Otオーガニックトラフィック
Ocオーガニックトラフィックコスト
Ad有料キーワード
curl の例
curl -s "https://api.semrush.com/?type=domain_organic_organic&key=${SEMRUSH_API_KEY}&domain=notion.so&database=us&export_columns=Dn,Cr,Np,Or,Ot,Oc,Ad&display_limit=10"

8. トラフィック分析(推定値)

ドメイン全体のトラフィックソースとエンゲージメントを推定します。

エンドポイント
https://api.semrush.com/analytics/ta/api/v3/summary?key={KEY}&targets={domain}&display_date=2024-01-01&country=us&export_columns=target,visits,users,bounce_rate,pages_per_visit,avg_visit_duration

ワークフロー:競合分析の全手順

ユーザーから競合分析全体を依頼された場合は、次の手順を順番に実行します。

  1. ドメインの概要 - 対象ドメインの指標を取得します
  2. 競合の特定 - 上位 5~10 件の競合を見つけます
  3. 各競合のドメインの概要 - 指標を比較します
  4. 各ドメインの上位キーワード - キーワードのギャップを見つけます
  5. 各ドメインのバックリンクの概要 - リンクプロファイルを比較します
出力形式

結果を比較表として提示します:

| Metric              | target.com | competitor1.com | competitor2.com |
|---------------------|-----------|-----------------|-----------------|
| SemRush Rank        | ...       | ...             | ...             |
| Organic Keywords    | ...       | ...             | ...             |
| Organic Traffic     | ...       | ...             | ...             |
| Traffic Cost        | ...       | ...             | ...             |
| Backlinks           | ...       | ...             | ...             |
| Referring Domains   | ...       | ...             | ...             |

次に、以下を強調します:

  • キーワードのギャップ:競合他社は上位表示されているものの、対象サイトは上位表示されていないキーワード
  • クイックウィン:対象サイトが5〜20位にランクインしているキーワード(改善の機会)
  • コンテンツのギャップ:競合他社は取り上げているものの、対象サイトは取り上げていないトピック
  • 被リンクの機会:対象サイトにはリンクしていないものの、競合他社にはリンクしているサイト

レート制限と費用

  • API 呼び出しごとに API ユニットを消費します(ご利用のプランをご確認ください)
  • &display_limit= を使用して結果数を制御します(デフォルト値はエンドポイントによって異なります)
  • 複数ステップの分析で重複した呼び出しを避けるため、結果をローカルにキャッシュしてください
  • ドメイン概要の呼び出しは最も低コストです。被リンクとトラフィックの分析はより多くのコストがかかります

エラー処理

エラー意味
ERROR 50 :: NOTHING FOUNDこのクエリのデータがありません
ERROR 120 :: WRONG KEYAPI キーが無効です
ERROR 130 :: LIMIT EXCEEDEDAPI ユニットの上限に達しました
空のレスポンス通常、クエリパラメーターに該当するデータがありません

「NOTHING FOUND」が表示された場合は、以下を試してください:

  • 別のデータベース(例:us ではなく uk)
  • サブドメインではなくルートドメイン
  • より広いキーワードフレーズ

コメント