mcpField
S
seo-domain-analyzer

seo-domain-analyzer

github.com/gooseworks-aiマーケティング・グロース1.3k49 回インストール3 日前に更新
リポジトリ

seo-domain-analyzer について

seo-domain-analyzerは、ドメインのSEO状況を調べるコマンドラインスキルです。Semrush、Ahrefs、Google検索のデータをまとめ、Apifyが使えない場合は無料のウェブ検索による調査に切り替えます。

主な機能

  1. 01権威性、トラフィック、キーワード指標の集約
  2. 02被リンクと参照ドメインの分析
  3. 03Googleでのキーワード順位確認
  4. 04競合の特定と比較
  5. 05JSONおよびMarkdownレポートの作成

活用シーン

  1. 01ドメインの自然検索パフォーマンスの評価
  2. 02指定キーワードの検索順位確認
  3. 03サイトと競合の比較
  4. 04Apifyなしでの基本的なSEOレポート作成

インストール

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

$npx skills add https://github.com/gooseworks-ai/goose-skills --skill seo-domain-analyzer

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

同梱ファイルscripts/analyze_domain.pyskill.meta.json

詳細

SEO ドメイン分析

Semrush や Ahrefs のサブスクリプションなしで、あらゆるドメインの実際の SEO パフォーマンスデータを取得します。Semrush/Ahrefs の公開ページをスクレイピングする Apify アクターを使用し、オーソリティスコア、トラフィックの推定値、キーワードのランキング、バックリンクプロファイル、競合の特定を行います。

クイックスタート

# Basic domain analysis
python3 scripts/analyze_domain.py --domain "example.com"

# With competitor comparison
python3 scripts/analyze_domain.py \
  --domain "example.com" \
  --competitors "competitor1.com,competitor2.com,competitor3.com"

# Check specific keywords
python3 scripts/analyze_domain.py \
  --domain "example.com" \
  --keywords "cloud cost optimization,reduce aws bill,finops tools"

# Save output
python3 scripts/analyze_domain.py \
  --domain "example.com" --output seo-profile.json

入力

パラメーター必須デフォルト説明
domainはい—分析するドメイン(例:「example.com」)
competitorsいいえ自動検出カンマ区切りの競合ドメイン
keywordsいいえ自動推定ランキングを確認する特定のキーワード
outputいいえstdoutJSON 出力の保存先パス
skip-backlinksいいえfalseAhrefs のバックリンク分析をスキップします(約 $0.10 節約)

費用

データソースApify アクター推定費用
ドメイン概要(Semrush)devnaz/semrush-scraper約 $0.10/ドメイン
バックリンクプロファイル(Ahrefs)radeance/ahrefs-scraper約 $0.10/ドメイン
キーワード順位の確認apify/google-search-scraper約 $0.002/キーワード
通常のフル実行約 $0.50~1.00
競合 3 件の場合約 $1.50~3.00

処理

フェーズ 1:ドメイン概要(Semrush データ)

Apify アクター devnaz/semrush-scraper を使用して、次の情報を取得します。

# Actor: devnaz/semrush-scraper
# Input: domain URL
{
    "urls": ["https://example.com"]
}

抽出される指標:

  • オーソリティスコア(0~100)
  • オーガニック月間トラフィックの推定値
  • オーガニックキーワード数(そのドメインがランキングされているキーワード数)
  • 有料トラフィックの推定値(該当する場合)
  • バックリンク数(Semrush の集計値)
  • 参照ドメイン数
  • オーガニックキーワード上位(キーワード、順位、トラフィックシェア)
  • 競合上位(キーワードの重複度に基づく競合ドメイン)
  • トラフィックの傾向(前月比の推移)
フェーズ 2:バックリンクプロファイル(Ahrefs データ)

Apify アクター radeance/ahrefs-scraper を使用して、次の情報を取得します。

# Actor: radeance/ahrefs-scraper
# Input: domain for backlink analysis
{
    "urls": ["https://example.com"],
    "mode": "domain-overview"
}

抽出される指標:

  • ドメインレーティング(DR)(0~100)
  • ホームページの URL レーティング
  • 参照ドメイン数とその傾向
  • バックリンクの総数
  • 参照ドメイン上位(リンク元のサイト)
  • アンカーテキストの分布(ブランド名、キーワード、一般語の内訳)
  • dofollow と nofollow の比率
フェーズ 3:キーワード順位の確認

特定のキーワード(ユーザー指定、またはフェーズ 1 から自動推定)の実際の順位を、Google 検索で確認します。

# Actor: apify/google-search-scraper
# Input: keyword queries
{
    "queries": "cloud cost optimization",
    "maxPagesPerQuery": 1,
    "resultsPerPage": 10,
    "countryCode": "us",
    "languageCode": "en"
}

各キーワードについて:

  • 対象ドメインは検索結果のトップ 10 に表示されるか
  • 順位はいくつか
  • どの URL がランキングされているか
  • ほかにどのサイトがランキングされているか(そのキーワードの競合状況)

キーワードの取得元(優先順):

  1. ユーザーが指定したキーワード
  2. Semrush データ(フェーズ 1)のオーガニックキーワード上位
  3. ドメインのコンテンツから自動推定(WebSearch site:[domain] でページタイトルを確認)
フェーズ 4:上位ページの分析

Semrush データから、トラフィックが最も多いページを抽出します。

  • URL
  • 月間トラフィックの推定値
  • トラフィックを生み出している主要キーワード
  • ランキングされているキーワード数

Semrush がページごとのデータを提供しない場合は、次の方法で補います。

  • WebSearch:site:[domain] で検索し、最初に表示されるページを確認(重要度の目安)
  • WebSearch:site:[domain] blog でブログコンテンツ上位を確認
フェーズ 5:競合の特定

競合は複数の情報源から特定します。

  1. Semrush の競合データ(フェーズ 1)— 同じキーワードで競合するドメイン
  2. ユーザーが指定した競合 — 常に含めます
  3. Google SERP の競合 — フェーズ 3 のキーワード確認で、一貫して表示されるドメインを記録します

各競合について、フェーズ 1 を簡易的に実行し、ドメイン概要のみを確認します。

  • オーソリティスコア
  • オーガニックトラフィックの推定値
  • キーワード数
  • キーワード上位
フェーズ 6:出力
JSON 出力
{
  "domain": "example.com",
  "analysis_date": "2026-02-25",
  "domain_metrics": {
    "semrush_authority_score": 45,
    "ahrefs_domain_rating": 52,
    "organic_monthly_traffic": 28500,
    "organic_keywords": 1240,
    "backlinks": 8930,
    "referring_domains": 412,
    "traffic_trend": "increasing"
  },
  "top_pages": [
    {
      "url": "https://example.com/blog/reduce-aws-costs",
      "estimated_traffic": 3200,
      "top_keyword": "reduce aws costs",
      "ranking_keywords": 45
    }
  ],
  "keyword_rankings": [
    {
      "keyword": "cloud cost optimization",
      "position": 4,
      "url": "https://example.com/blog/cloud-cost-optimization-guide",
      "serp_competitors": ["vantage.sh", "antimetal.com", "finout.io"]
    }
  ],
  "backlink_profile": {
    "domain_rating": 52,
    "total_backlinks": 8930,
    "referring_domains": 412,
    "dofollow_ratio": 0.78,
    "top_referring_domains": ["techcrunch.com", "producthunt.com", ...],
    "anchor_text_distribution": {
      "branded": 0.45,
      "keyword": 0.22,
      "generic": 0.18,
      "url": 0.15
    }
  },
  "competitors": [
    {
      "domain": "competitor1.com",
      "authority_score": 62,
      "organic_traffic": 45000,
      "organic_keywords": 2100,
      "keyword_overlap": 340
    }
  ]
}
Markdown の概要(あわせて生成)
# SEO Domain Profile: example.com
**Date:** 2026-02-25

## Domain Metrics
| Metric | Value |
|--------|-------|
| Semrush Authority Score | 45/100 |
| Ahrefs Domain Rating | 52/100 |
| Monthly Organic Traffic | ~28,500 |
| Organic Keywords | 1,240 |
| Backlinks | 8,930 |
| Referring Domains | 412 |
| Traffic Trend | Increasing |

## Top Performing Pages
| # | URL | Est. Traffic | Top Keyword |
|---|-----|-------------|-------------|
| 1 | /blog/reduce-aws-costs | 3,200 | reduce aws costs |
| ... |

## Keyword Rankings
| Keyword | Position | URL | SERP Competitors |
|---------|----------|-----|-----------------|
| cloud cost optimization | #4 | /blog/cloud-cost... | vantage.sh, antimetal.com |
| ... |

## Backlink Profile
- Domain Rating: 52/100
- Referring Domains: 412
- Dofollow Ratio: 78%
- Top linking sites: TechCrunch, Product Hunt, ...

## Competitor Comparison
| Domain | Authority | Traffic | Keywords | Overlap |
|--------|-----------|---------|----------|---------|
| example.com | 45 | 28.5K | 1,240 | — |
| competitor1.com | 62 | 45K | 2,100 | 340 |
| ... |

ヒント

  • Semrush スクレイパーのデータ品質にはばらつきがあります。 Apify アクターは Semrush の公開ページをスクレイピングしますが、非サブスクライバーに表示されるデータは限られています。トラフィックの推定値や上位キーワードは確認できますが、ページごとの詳細な内訳は一部しか取得できない場合があります。
  • **site-content-catalog と組み合わせると、**コンテンツの一覧とパフォーマンスデータの両方を取得できます。これらを合わせることで、どのようなコンテンツが存在し、実際にトラフィックを生み出しているのはどのコンテンツなのかが分かります。
  • Google によるキーワード順位の検証が、最も信頼性の高いデータです。 Semrush や Ahrefs の推定値は外れることがありますが、実際の SERP を確認すれば確かな情報を得られます。
  • 競合他社の分析は簡易的に行いましょう。 5 社を対象に完全な被リンク分析を行うと、コストがかさみます。比較には通常、ドメイン概要(Semrush のみ)で十分です。
  • Apify アクターは動作しなくなることがあります。 Semrush や Ahrefs の公開ページをスクレイピングするため、ページの変更によって影響を受ける可能性があります。アクターが失敗した場合は、ウェブ検索プローブを使用する無料の seo-traffic-analyzer スキルに切り替えてください。

フォールバック:無料モード

APIFY_API_TOKEN が設定されていない場合、または Apify アクターが失敗した場合、スクリプトは次の方法にフォールバックします。

  1. WebSearch プローブ(seo-traffic-analyzer スキルなど)
  2. インデックス登録済みページ数を調べる site:[domain]
  3. トラフィック推定値を調べる SimilarWeb の無料プラン
  4. キーワード順位を確認する Google SERP の手動チェック

データの精度は低くなりますが、それでも有用なレポートを作成できます。

依存関係

  • Python 3.8+
  • requests ライブラリ
  • APIFY_API_TOKEN 環境変数(Apify モードで使用。設定されていない場合は無料のプローブにフォールバックします)

コメント