mcpField
S
seo-competitor-pages

seo-competitor-pages

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

seo-competitor-pages について

seo-competitor-pagesは、マーケターやコンテンツチーム向けに、製品比較、代替製品、ベスト製品検索を対象としたランディングページ案を作成するスキルです。SEOとSERPの調査を組み合わせ、機能表、結論、CTAの流れ、構造化データを含む原稿を作成します。

主な機能

  1. 01比較、代替製品、ベスト製品ページの草案作成
  2. 02競合キーワードとSERPの調査
  3. 03ブランド別の機能比較表作成
  4. 04検索質問からFAQの題材を抽出
  5. 05JSON-LD形式の構造化データ生成

活用シーン

  1. 01製品と競合製品の比較ページの草案作成
  2. 02カテゴリ大手の代替製品ページの準備
  3. 03特定の読者層向けベスト製品ページの作成

MCP 対応

競合、キーワード、SERPデータの取得にSE Ranking MCP サーバーが必要です。利用可能な場合、Firecrawl MCPで上位ページの確認や競合URLのスクレイピングも行えます。

インストール

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

$npx skills add https://github.com/seranking/seo-skills --skill seo-competitor-pages

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

詳細

出力例:examples/seo-competitor-pages-linear-vs-jira-20260514/COMPARISON.md

競合比較・代替案ページ

比較検討の意図を持つキーワード(「X vs Y」「X の代替」「Y 向けの最適な X」)をターゲットにした、コンバージョンに最適化されたランディングページを作成します。納品物は、機能比較表、公平な評価、スキーママークアップ、比較検討段階のトラフィックをコンバージョンにつなげる CTA フローを含む、そのまま貼り付けられるページの草案です。

このスキルで作成できるページタイプ

  1. 「X vs Y」直接比較 — 2 つの製品・サービスを直接比較します。ターゲットキーワード:[Product A] vs [Product B]。
  2. 「X の代替案」 — ユーザーの製品をカテゴリのリーダーに代わる N 個の選択肢の 1 つとして紹介する、リスト形式のページです。ターゲットキーワード:[Competitor] alternatives または alternatives to [Competitor]。
  3. 「Y 向けの最適な X」 — 特定のユースケースや対象者をターゲットにした、用途別のおすすめページです。ターゲットキーワード:best [category] for [use case]。

前提条件

  • SE Ranking MCP サーバーが接続されていること。
  • Claude の WebFetch ツールが利用可能であること。
  • ユーザーから以下の情報が提供されていること:(a)ユーザーのブランド・製品(ページの主役)、(b)ターゲットとする競合他社(最低 1 社。代替案ページでは最大 5 社まで指定可能)、(c)ページタイプ(ユーザーが指定しない場合はキーワードから自動検出)、(d)ターゲット国(デフォルトは us)。

プロセス

  1. 検証とページタイプの判定

    • ユーザーの入力から、vs/代替ツール/おすすめを判定します。
    • ページタイプが不明確な場合は、ユーザーに確認します。黙って推測してはいけません。
  2. 競合のコンテキストを取得 DATA_getDomainCompetitors

    • ユーザーのドメインについて、common_keywords の重複度に基づいてオーガニック検索の上位競合を一覧表示します。
    • ユーザーが指定した競合が一覧に含まれているか(または近い競合か)を検証します。
  3. ブランドごとにキーワードデータを取得 DATA_getDomainKeywords

    • ユーザーのドメインと、指定された各競合について、オーガニック検索キーワードの上位 100 件を取得します。
    • 各ブランドが独占的に獲得しているキーワード、両方がランキングされているキーワード、ギャップを特定します。
  4. 比較対象の SERP を取得 DATA_getSerpResults および DATA_getKeywordQuestions

    • 「X vs Y」/「X の代替ツール」/「Y 向けのおすすめ X」を対象キーワードとする場合:
      • オーガニック検索結果の上位 10 件 — この比較キーワードでほかにランキングされているのはどこか?
      • PAA の質問(FAQ セクションのコンテンツに使用します)。
      • 強調スニペット(存在する場合は、回答のパターンを記録します)。
  5. 既存の比較ページを取得 WebFetch(必ず実行)+ mcp__firecrawl-mcp__firecrawl_scrape(利用可能な場合)

    • 最初に WebFetch(無料):SERP 上位 3 件の Markdown を取得します。H2 のアウトライン、機能マトリクスの項目、結論のパターン、CTA の配置を抽出します。
    • 次に Firecrawl(Firecrawl クレジット 3 件 — 各ページ 1 件):WebFetch の Markdown では確認できない情報を取得します。
      • <script type="application/ld+json"> ブロックからのスキーマタイプ(Product ×N、BreadcrumbList、FAQPage、Review、AggregateRating)。
      • metadata の og:title/og:description/og:image/twitter:card。
      • 実際の HTML からの <title> とメタディスクリプションの文字数。
    • Firecrawl が利用できない場合: WebFetch の処理はそのまま実行します。evidence/04-existing-pages-teardown.md の「schema types」の行には (skipped — Firecrawl required for JSON-LD) と記載します。ステップ 8 のスキーマ生成では、上位ページのスキーマを模倣する代わりに、デフォルトの Product + BreadcrumbList + FAQPage テンプレートを使用します。
    • これにより、実際に報酬につながっているパターンに基づいて下書きを作成できます。

5b. 競合を一括スクレイピング mcp__firecrawl-mcp__firecrawl_scrape(任意、オプトイン)

  • ユーザーが --bulk-scrape <urls> を指定するか、(SERP 上位 3 件以外に)直接比較する競合 URL のリストを提供した場合は、Firecrawl で各 URL をスクレイピングします。
  • URL ごとに、<title>、og:*、twitter:*、JSON-LD の @type、ヒーロー画像の有無、料金ブロックの検出($N/mo、€N/mo などの文章内正規表現)、CTA の数、比較表の有無、無料プランへの言及の有無を抽出します。
  • competitor-elements.csv を出力します — 競合 URL 1 件につき 1 行で、これらのシグナルを記録します。
  • コスト:URL 1 件につき Firecrawl クレジット 1 件。実行前に見積もりを提示します。--confirm-cost なしで 50 URL を超える場合は実行を拒否します。
  1. キーワード比較データを取得 DATA_getDomainKeywordsComparison(ブランドで利用可能な場合)

    • キーワードの重複を並べて比較します。
  2. 機能マトリクスを作成

    • SERP 上位ページから推定した項目(例:「料金」「無料プラン」「連携」「サポートレベル」「最適な用途」)。
    • セルには、✓/✗/一部対応/自動で推定できない項目のプレースホルダー「TBD — PM に確認」を使用します。
    • SE Ranking のデータがセルの根拠となる場合(例:「エンタープライズ関連キーワードで X 件ランキング」)、その数値を取得します。
  3. 統合 COMPARISON.md

    • ヒーロー(H1 に対象キーワードを含め、バランスの取れたポジショニングにします)。
    • TL;DR/結論ボックスを冒頭から 200 語以内に配置します。
    • 機能マトリクス。
    • 主な項目ごとのセクション(各 H2 が 1 つの項目に対応します)。
    • PAA 由来の FAQ(ステップ 4 の質問から上位 3~5 件)。
    • 結論/おすすめ。
    • CTA の導線。
    • スキーマ対応の JSON-LD:Product(×N)+ BreadcrumbList + FAQPage(実際の Q&A がある場合)。

出力形式

以下を含むフォルダー seo-competitor-pages-{target-slug}-{YYYYMMDD}/ を作成します。

seo-competitor-pages-{target-slug}-{YYYYMMDD}/
├── COMPARISON.md                     (the page draft — primary deliverable)
├── 05-feature-matrix.md              (inferred dimensions × brands — load-bearing reference for PMs/writers)
├── schema.jsonld                     (paste-ready Product + Breadcrumb + FAQ — load-bearing artefact for engineering)
├── 05b-competitor-elements.csv       (only if --bulk-scrape ran: competitor URL × on-page-element grid)
└── evidence/
    ├── 01-competitor-context.md      (DATA_getDomainCompetitors — raw step output)
    ├── 02-keyword-overlap.md         (DATA_getDomainKeywords for each brand — raw step output)
    ├── 03-comparative-serp.md        (top 10 + PAA for the target keyword — raw step output)
    └── 04-existing-pages-teardown.md (top-3 SERP winners' structure + schema/og — Firecrawl-recovered)

最上位には、COMPARISON.md、05-feature-matrix.md、schema.jsonld を配置します。01~04 のステップファイルには、evidence/ 内に未加工の API/スクレイピング出力を保存します。05b-competitor-elements.csv は、--bulk-scrape を指定した場合にのみ作成されます。

「X vs Y」ページの COMPARISON.md は、次の構成にします。

# {User's Brand} vs {Competitor}: 2026 Comparison

> Updated {YYYY-MM-DD}. Compare {Brand A} and {Brand B} on pricing, features, integrations, and best-fit use case.

## TL;DR
{One paragraph balanced verdict — when to choose A, when to choose B}

## At a glance

| Dimension | {Brand A} | {Brand B} |
|---|---|---|
| Starting price | {$X/mo} | {$Y/mo} |
| Free tier | {✓/✗} | {✓/✗} |
| Best for | {use case} | {use case} |
| Integrations | {n} | {n} |
| Support | {tier} | {tier} |
| ... | | |

## {Dimension 1 header — e.g., Pricing}
{Side-by-side detail, balanced. Avoid hyperbole.}

## {Dimension 2 header — e.g., Features}
{...}

## {Dimension 3 header — e.g., Integrations}
{...}

## {Dimension 4 header — e.g., Support}
{...}

## When to choose {Brand A}
- {scenario 1}
- {scenario 2}
- {scenario 3}

## When to choose {Brand B}
- {scenario 1}
- {scenario 2}
- {scenario 3}

## FAQ
**{PAA question 1}**
{Answer}

**{PAA question 2}**
{Answer}

**{PAA question 3}**
{Answer}

## Get started
{Brand A} CTA — {link}
{Brand B} CTA — {link if balanced; otherwise drop}

## Schema
See `schema.jsonld` — paste into `<head>`.

ヒント

  • バランスがコンバージョンにつながります。 ユーザーの製品が常に優れていると装うページは、信頼とランキングを損ないます。公平な評価のほうが、偏った評価より効果的です。
  • レート制限を守ってください。ステップ 5(SERP 上位 3 件の取得)では、3 回の WebFetch 呼び出しに加えて、それ以前の MCP クエリも実行します。
  • コストの目安:通常は SE Ranking クレジットが約 15~25、ステップ 5 のスキーマ/og ベンチマーク用に Firecrawl クレジットが 3、ステップ 5b で URL ごとに Firecrawl クレジットが 1(オプションの場合のみ)です。--no-firecrawl を指定すると、両方の Firecrawl ステップをスキップできます。
  • スキーマ: 比較ページでは両製品に Product を使用し、さらに BreadcrumbList を追加します。FAQ セクションが実際の質疑応答である場合(作為的なものでない場合)は、FAQPage も追加します。
  • 「X の代替製品」ページでは、ユーザーの製品を第 1 位としてではなく、N 件の選択肢の 1 つとして位置付けます(通常は 5~10 件)。順位付きのリスト記事は、自己宣伝的な代替製品ページよりコンバージョンにつながります。
  • 「Y に最適な X」ページでは、ユースケースを明確に分けます。「個人開発者に最適」と「エンタープライズチームに最適」のように分けることで、複数のロングテールキーワードで上位表示を狙えます。
  • 公開から 30 日後に seo-page を実行し、ランキングの推移を追跡します。
  • seo-content-audit と組み合わせて、公開前にドラフトの E-E-A-T を確認します。
  • ステップ 4 で PAA から抽出される FAQ は非常に有用です。実際にユーザーが検索している質問なので、ページ内で回答すると、AIO で引用されやすくなります。
  • 自動公開はしないでください。事実確認とブランドボイスの調整のため、ドラフトをライターまたは PM に渡してください。

コメント