mcpField
S
seo-sxo

seo-sxo

github.com/agricidanielマーケティング・グロース23.3k5.8k 回インストール6 日前に更新
リポジトリ

seo-sxo について

seo-sxoは、SEOやUXの担当者向けに、ページが検索結果に表れるページタイプやユーザーの期待に合っているかを評価するスキルです。SERPを分析して不一致やギャップを特定し、具体的なワイヤーフレームも作成できます。

主な機能

  1. 01SERP形式と特徴の分析
  2. 02ページタイプの不一致検出
  3. 03コンテンツとUXのギャップ評価
  4. 04検索シグナルからペルソナを導出
  5. 05注釈付きページワイヤーフレームの作成

活用シーン

  1. 01技術的に整ったページが順位を得られない理由を評価
  2. 02検索結果に合うページ形式を選定
  3. 03ペルソナ別に改善の優先順位を決定
  4. 04目標ページの構成案を作成

インストール

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

$npx skills add https://github.com/agricidaniel/claude-seo --skill seo-sxo

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
page-type-taxonomy.md
persona-scoring.md
user-story-framework.md
wireframe-templates.md

詳細

検索体験最適化(SXO)

SXO は、SEO(Google が評価するもの)と UX(ユーザーが必要とするもの)の間のギャップを埋めます。 従来の SEO 監査では、技術面の健全性を確認します。SXO では、「SERP で Google が実際に評価している内容に基づいて、このページはこのキーワードで上位表示されるに値するか?」を問いかけます。

核となる洞察

技術 SEO で 100 点満点中 95 点を獲得したページでも、そのキーワードに対してページタイプが間違っているために、上位表示されないことがあります。キーワードの検索結果に商品ページが 8 件、比較ページが 2 件表示されている場合、ブログ記事はどれだけ最適化しても上位に食い込めません。

コマンド

コマンド目的
/seo sxo <url>SXO の完全分析(ページからキーワードを自動検出)
/seo sxo <url> <keyword>特定のキーワードを対象とした SXO の完全分析
/seo sxo wireframe <url>具体的なプレースホルダーを含む IST/SOLL ワイヤーフレームを生成
/seo sxo personas <url>ペルソナのみを評価(SERP 分析をスキップ)

実行パイプライン

ステップ 1:ターゲットの取得
  1. "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run render_page.py <URL> --mode auto(SPA 対応かつ SSRF 対策済み)でターゲット URL を取得します
  2. "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run parse_html.py <URL> で解析し、タイトル、H1、メタディスクリプション、 見出しの階層、単語数、スキーママークアップ、CTA、メディア要素を抽出します
  3. キーワードが指定されていない場合は、タイトルタグと H1 の重複箇所から主要なキーワードを抽出します
  4. 続行する前に、キーワードが空でないことを確認します
ステップ 2:SERP の逆算分析

分類ルールについては references/page-type-taxonomy.md を参照してください。

  1. ターゲットキーワードで Google を検索します(WebSearch)
  2. 上位 10 件のオーガニック検索結果それぞれについて、以下を記録します:
    • URL とドメインオーソリティの分類(ブランド/ニッチ分野の権威/不明)
    • ページタイプ(分類体系を使用して分類)
    • コンテンツ形式(長文、リスト形式、ハウツー、比較、ツール、動画)
    • 単語数の推定値(スニペットの長さとページ構造から)
    • 表示されているスキーマタイプ(現在サポートされている SERP 機能に基づく。FAQ/HowTo は除外)
    • メディアのシグナル(動画カルーセル、画像パック、サムネイルの有無)
  3. 表示されている SERP 機能を記録します:
    • 強調スニペット(段落/リスト/表/動画)
    • 関連する質問(表示されている質問をすべて抽出)
    • 広告(上部と下部。件数を数え、広告文のテーマを分析)
    • 関連検索(すべて抽出)
    • ナレッジパネル/ローカルパック/ショッピング結果
    • AI Overview の有無とソースタイプ
  4. SERP のコンセンサスを算出します:
    • 優勢なページタイプ(60% 超=強いコンセンサス、40~60%=混在、40% 未満=分散)
    • コンテンツの深さに関する期待値(平均単語数の層)
    • スキーマに関する期待値(最も一般的な構造化データタイプ)
    • メディアに関する期待値(動画は必須か、画像は重要か)
ステップ 3:ページタイプの不一致検出

ここが SXO の核心となる洞察です。ターゲットページのタイプを SERP のコンセンサスと比較します。

不一致の深刻度:

ターゲットタイプSERP が期待するタイプ深刻度推奨事項
ブログ記事商品ページ重大専用の商品ページを作成
ブログ記事比較高比較表を含む構成に再編
商品情報提供高教育的なコンテンツ層を追加
ランディングページツール/計算機高インタラクティブなツールコンポーネントを構築
サービスページローカル検索結果中地域情報のシグナルとローカルスキーマを追加
タイプが一致-適合コンテンツの深さと UX に注力

分類ルール:

  • references/page-type-taxonomy.md を使用してターゲットページを分類します
  • 同じ分類体系を使用して各 SERP 結果を分類します
  • ターゲットタイプが SERP の優勢なタイプと異なる場合、不一致としてフラグを付けます
  • SERP が分散している(優勢なタイプがない)場合は、差別化の機会を記載します
ステップ 4:ユーザーストーリーの導出

フレームワーク全体については、references/user-story-framework.md をお読みください。

SERP のシグナルから、ユーザーストーリーを導出します。

  1. PAA の質問から、知識の不足や懸念を把握します
  2. 広告コピーのテーマから、商業的なきっかけや価値提案を把握します
  3. 関連検索から、検索の流れ(前後に何を検索するか)を把握します
  4. 強調スニペットの形式から、期待される回答の構成を把握します
  5. AI Overviewから、Google が決定的な回答と見なす内容を把握します

シグナルの各クラスターについて、ユーザーストーリーを作成します。

As a [persona derived from signal],
I want to [goal derived from query intent],
because [emotional driver from ad copy / PAA tone],
but I'm blocked by [barrier derived from PAA questions / related searches].

主要な検索意図を網羅するユーザーストーリーを 3~5 件作成します。

ステップ 5:ギャップ分析

次の 7 つの観点から、対象ページを SERP の期待と比較します。

観点比較対象スコア
ページタイプ対象ページのタイプと SERP で主流のタイプ0-15
コンテンツの深さ単語数、見出しの階層、トピックの網羅性0-15
UX シグナルCTA の明確さ、ファーストビューのコンテンツ、モバイルレイアウト0-15
Schema マークアップ構造化データの有無と期待されるタイプ0-15
メディアの充実度SERP の標準と比較した画像、動画、インタラクティブ要素0-15
権威性のシグナルE-E-A-T の指標、社会的証明、資格・実績0-15
鮮度最終更新日、日付のシグナル、コンテンツの新しさ0-10

合計:0~100 の SXO ギャップスコア(低いほどギャップが大きく、高いほど適合度が高い)

ステップ 6:ペルソナベースのスコアリング

方法については、references/persona-scoring.md をお読みください。

  1. SERP の検索意図シグナルから、4~7 件のペルソナを導出します。
    • PAA の質問をテーマごとに分類します
    • 広告コピーを対象読者ごとに分類します
    • 関連検索を検索行動の段階に対応付けます
  2. 各ペルソナについて、4 つの観点(各 25 点)で対象ページを採点します。
    • 関連性:ページはこのペルソナのニーズに応えていますか?
    • 明確さ:このペルソナは 10 秒以内に回答を見つけられますか?
    • 信頼性:このペルソナにとって十分な信頼性のシグナルがありますか?
    • 行動:このペルソナに明確な次のステップが示されていますか?
  3. スコアと具体的な改善提案を記載したペルソナカードを出力します
  4. 最も弱いペルソナから順に、改善提案を並べます(最大の機会から)
ステップ 7:ワイヤーフレームの生成(任意)

/seo sxo wireframe が実行された場合にのみ実施します。

テンプレートについては、references/wireframe-templates.md をお読みください。

  1. 解析したページ構造から IST(現状)のワイヤーフレームを生成します
  2. 次の要素に基づいて SOLL(目標)のワイヤーフレームを生成します。
    • SERP で合意されているページタイプ
    • ギャップ分析の結果
    • ペルソナスコアリングで判明した弱点
  3. 具体性の高いプレースホルダーを使用します。
    • 不可:「ここに CTA を追加」
    • 可:「ヒーローの下に年間割引バッジ付きの料金 CTA を追加し、/pricing#enterprise にリンク」
  4. 注釈付きのセマンティック HTML セクションの概要として出力します

DataForSEO の統合

DataForSEO MCP ツールを利用できる場合:

  1. **API を呼び出す前に、**コストを見積もり、ユーザーに確認します
  2. 正確な SERP データ(順位、機能、スニペット)には serp_organic_live_advanced を使用します
  3. 検索ボリュームと競合指標には kw_data_google_ads_search_volume を使用します
  4. DataForSEO を利用できない場合は WebSearch に切り替え、出力で精度が低下することを明記します

SXO スコアと SEO ヘルススコアの違い

SXO スコアは、メインの SEO ヘルススコアとは別のスコアです。

  • SEO ヘルススコア = 技術的な準拠状況(クロール可能性、速度、スキーマなど)
  • SXO ギャップスコア = ページと SERP の期待との適合度
  • SEO 95 点 + SXO 30 点のページもあり得ます。技術的には完璧でも、戦略的には適合していない状態です
  • 両方のスコアが利用できる場合は、併せて報告してください

他のスキルとの連携

調査結果引き継ぎ先
ペルソナスコアリングで判明した E-E-A-T の不足/seo content で E-E-A-T を詳細に監査
スキーマタイプの不足/seo schema で生成
SERP でローカル検索意図を検出/seo local で GBP を分析
コンテンツの深さの不足/seo page でページを詳細に分析
取得時に見つかった技術的な問題/seo technical で全体を監査
画像・メディアの不足/seo images で最適化

出力形式

SXO 分析の全体版
## SXO Analysis: [URL]
### Target Keyword: [keyword]

### 1. SERP Landscape
- Dominant page type: [type] ([confidence]% consensus)
- SERP features: [list]
- Content depth norm: [word count range]
- Schema expectation: [types]

### 2. Page-Type Alignment
- Your page type: [type]
- SERP expects: [type]
- Verdict: [ALIGNED | MISMATCH (severity)]
- Impact: [explanation]

### 3. User Stories (derived from SERP signals)
[3-5 user stories with source signals]

### 4. Gap Analysis (SXO Score: XX/100)
[7-dimension breakdown table]

### 5. Persona Scores
[4-7 persona cards with 4-dimension scores]

### 6. Priority Actions
[Ranked list: fix mismatch first, then weakest persona gaps]

### 7. Limitations
[What could not be assessed, data source notes]

エラー処理

エラー対応
URL の取得に失敗するエラーを報告し、URL にアクセスできるか確認するよう提案します
キーワードが指定も検出もされない対象キーワードを指定するようユーザーに求めます
WebSearch の結果が 5 件未満利用可能なデータで進め、サンプル数が限られていることを記載します
SERP にオーガニック検索結果がない(すべて広告)商業色の強い SERP であることを記載し、広告コピーのみを分析します
対象ページが JavaScript でレンダリングされる制約を記載し、利用可能な HTML コンテンツを使用します
DataForSEO の費用がしきい値を超えるWebSearch に切り替え、ユーザーに通知します

品質チェックリスト

結果を提示する前に、以下を確認してください。

  • 対象 URL が "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run render_page.py <URL> --mode auto 経由で取得されている(raw curl/fetch は使用しない)
  • ページタイプの分類に、references の分類体系が使用されている
  • SERP の結果が 5 件以上分析されている
  • ユーザーストーリーの根拠として、具体的な SERP シグナルが引用されている
  • ペルソナのスコアに、具体的な改善案が含まれている
  • SXO スコアが SEO Health Score とは別に明記されている
  • 制限事項のセクションがあり、誠実に記載されている
  • 関連する場合は、スキル間の推奨事項が含まれている

コメント