検索体験最適化(SXO)
検索体験最適化(SXO)として、検索意図とページ内容のミスマッチを分析し、ペルソナ視点でページを評価、上位表示されない原因を特定することで、SEO対策が不十分なページを改善するSkill。
📜 元の英語説明(参考)
Search Experience Optimization: reads Google SERPs backwards to detect page-type mismatches, derives user stories from search intent signals, and scores pages from multiple persona perspectives. Identifies why well-optimized pages fail to rank by analyzing what Google rewards for each keyword. Use when user says "SXO", "search experience", "page type mismatch", "SERP analysis", "user story", "persona scoring", "why isn't my page ranking", "intent mismatch", or "wireframe".
🇯🇵 日本人クリエイター向け解説
検索体験最適化(SXO)として、検索意図とページ内容のミスマッチを分析し、ペルソナ視点でページを評価、上位表示されない原因を特定することで、SEO対策が不十分なページを改善するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o seo-sxo.zip https://jpskill.com/download/10583.zip && unzip -o seo-sxo.zip && rm seo-sxo.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/10583.zip -OutFile "$d\seo-sxo.zip"; Expand-Archive "$d\seo-sxo.zip" -DestinationPath $d -Force; ri "$d\seo-sxo.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
seo-sxo.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
seo-sxoフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
検索体験最適化 (SXO)
SXO は、SEO (Google が評価するもの) と UX (ユーザーが必要とするもの) の間のギャップを埋めます。 従来の SEO 監査は、技術的な健全性をチェックします。SXO は、「このページは、SERP で Google が実際に評価しているものに基づいて、このキーワードでランク付けされるに値するか?」と問いかけます。
コアインサイト
ページは技術的な SEO で 95/100 のスコアを獲得しても、キーワードに対して間違ったページタイプであるためにランク付けに失敗する可能性があります。Google があなたのキーワードに対して 8 つの製品ページと 2 つの比較ページを表示する場合、あなたのブログ記事は、どれだけ最適化されていても、決して突破口を開くことはありません。
コマンド
| コマンド | 目的 |
|---|---|
/seo sxo <url> |
完全な SXO 分析 (ページからキーワードを自動検出) |
/seo sxo <url> <keyword> |
特定のキーワードに対する完全な SXO 分析 |
/seo sxo wireframe <url> |
具体的なプレースホルダーを含む IST/SOLL ワイヤーフレームを生成 |
/seo sxo personas <url> |
ペルソナのみのスコアリング (SERP 分析をスキップ) |
実行パイプライン
ステップ 1: ターゲット獲得
scripts/fetch_page.py(SSRF セーフ) を介してターゲット URL をフェッチします。scripts/parse_html.pyで解析して、タイトル、H1、メタディスクリプション、見出しの階層、単語数、スキーママークアップ、CTA、メディア要素を抽出します。- キーワードが指定されていない場合は、title タグ + H1 の重複からプライマリキーワードを抽出します。
- キーワードが空でないことを確認してから続行します。
ステップ 2: SERP 後方分析
分類ルールについては、references/page-type-taxonomy.md を参照してください。
- ターゲットキーワードで Google を検索します (WebSearch)。
- 上位 10 件のオーガニック検索結果ごとに、以下を記録します。
- URL とドメインオーソリティの階層 (ブランド / ニッチオーソリティ / 不明)
- ページタイプ (分類法を使用して分類)
- コンテンツ形式 (長文、リスト記事、ハウツー、比較、ツール、ビデオ)
- 単語数の見積もり (スニペットの長さとページ構造から)
- 存在するスキーマタイプ (SERP 機能から: 評価、FAQ、ハウツー)
- メディアシグナル (ビデオカルーセル、画像パック、サムネイルの有無)
- 存在する SERP 機能を記録します。
- Featured snippet (段落 / リスト / テーブル / ビデオ)
- People Also Ask (表示されているすべての質問を抽出)
- 広告 (上部と下部 -- 広告コピーのテーマを数えて分析)
- 関連検索 (すべて抽出)
- ナレッジパネル / ローカルパック / ショッピング結果
- AI Overview の有無とソースタイプ
- SERP コンセンサスを計算します。
- ドミナントページタイプ (>60% = 強いコンセンサス、40-60% = 混合、<40% = 断片的)
- コンテンツの深さの期待値 (平均単語数階層)
- スキーマの期待値 (最も一般的な構造化データタイプ)
- メディアの期待値 (ビデオが必要か? 画像が重要か?)
ステップ 3: ページタイプのミスマッチ検出
これがコアとなる SXO インサイトです。ターゲットページタイプと SERP コンセンサスを比較します。
ミスマッチの重大度レベル:
| ターゲットタイプ | SERP が期待するもの | 重大度 | 推奨事項 |
|---|---|---|---|
| ブログ記事 | 製品ページ | CRITICAL | 専用の製品ページを作成 |
| ブログ記事 | 比較 | HIGH | マトリックスとの比較として再構築 |
| 製品 | 情報提供 | HIGH | 教育コンテンツレイヤーを追加 |
| ランディングページ | ツール/計算機 | HIGH | インタラクティブなツールコンポーネントを構築 |
| サービスページ | ローカル結果 | MEDIUM | 場所シグナル + ローカルスキーマを追加 |
| 任意のタイプの一致 | - | ALIGNED | コンテンツの深さと UX に焦点を当てる |
分類ルール:
references/page-type-taxonomy.mdを使用してターゲットページを分類します。- 同じ分類法を使用して各 SERP 結果を分類します。
- ターゲットタイプが SERP のドミナントタイプと異なる場合は、ミスマッチとしてフラグを立てます。
- SERP が断片的である場合 (ドミナントタイプがない場合)、差別化の機会に注意してください。
ステップ 4: ユーザーストーリーの導出
完全なフレームワークについては、references/user-story-framework.md を参照してください。
SERP シグナルから、ユーザーストーリーを導出します。
- PAA の質問は、知識のギャップと懸念を明らかにします。
- 広告コピーのテーマは、商業的なトリガーと価値提案を明らかにします。
- 関連検索は、検索ジャーニー (前後に何が来るか) を明らかにします。
- Featured snippet の形式は、期待される回答構造を明らかにします。
- AI Overview は、Google が決定的な回答と見なすものを明らかにします。
シグナルクラスターごとに、ユーザーストーリーを生成します。
[シグナルから導出されたペルソナ] として、
[クエリの意図から導出された目標] を達成したい。
なぜなら [広告コピー / PAA のトーンからの感情的な動機] があるから。
しかし、[PAA の質問 / 関連検索から導出された障壁] によって妨げられている。
主要な意図の角度をカバーする 3〜5 個のユーザーストーリーを生成します。
ステップ 5: ギャップ分析
7 つのディメンションにわたって、ターゲットページと SERP の期待値を比較します。
| ディメンション | 比較するもの | スコア |
|---|---|---|
| ページタイプ | ターゲットタイプ vs SERP ドミナントタイプ | 0-15 |
| コンテンツの深さ | 単語数、見出しの深さ、トピックの網羅範囲 | 0-15 |
| UX シグナル | CTA の明確さ、ファーストビューコンテンツ、モバイルレイアウト | 0-15 |
| スキーママークアップ | 存在する構造化データタイプ vs 期待される構造化データタイプ | 0-15 |
| メディアの豊富さ | 画像、ビデオ、インタラクティブ要素 vs SERP の標準 | 0-15 |
| オーソリティシグナル | E-E-A-T マーカー、ソーシャルプルーフ、資格情報 | 0-15 |
| 新鮮さ | 最終更新日、日付シグナル、コンテンツの最新性 | 0-10 |
合計: 0-100 SXO ギャップスコア (低いほどギャップが大きく、高いほどアラインメントが良い)
ステップ 6: ペルソナベースのスコアリング
方法論については、references/persona-scoring.md を参照してください。
- SERP の意図シグナルから 4〜7 個のペルソナを導出します。
- PAA の質問をテーマ別にクラスタリングします。
- ターゲットオーディエンスごとに広告コピーをセグメント化します。
- 関連検索をジャーニーの段階にマッピングします。
- 各ペルソナについて、4 つのディメンションでターゲットページをスコアリングします (各 25 点)。
- 関連性: ページはこのペルソナのニーズに対応していますか?
- 明確さ: このペルソナは 10 秒以内に回答を見つけることができますか?
- 信頼: このペルソナにとって十分な信頼シグナルがありますか?
- アクション: このペルソナにとって明確な次のステップはありますか?
- スコアと具体的な改善推奨事項を含むペルソナカードを出力します。
- 最初に最も弱いペルソナ (最大の機会) で推奨事項をソートします。
ステップ 7: ワイヤーフレーム生成 (オプション)
/seo sxo wireframe が呼び出された場合にのみ実行します。
references/wireframe-templates.md を参照してください。
(原文はここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Search Experience Optimization (SXO)
SXO bridges the gap between SEO (what Google rewards) and UX (what users need). Traditional SEO audits check technical health. SXO asks: "Does this page deserve to rank for this keyword based on what Google is actually rewarding in the SERP?"
Core Insight
A page can score 95/100 on technical SEO and still fail to rank because it is the wrong page type for the keyword. If Google shows 8 product pages and 2 comparison pages for your keyword, your blog post will never break through -- no matter how well-optimized it is.
Commands
| Command | Purpose |
|---|---|
/seo sxo <url> |
Full SXO analysis (auto-detect keyword from page) |
/seo sxo <url> <keyword> |
Full SXO analysis for a specific keyword |
/seo sxo wireframe <url> |
Generate IST/SOLL wireframe with concrete placeholders |
/seo sxo personas <url> |
Persona-only scoring (skip SERP analysis) |
Execution Pipeline
Step 1: Target Acquisition
- Fetch the target URL via
scripts/fetch_page.py(SSRF-safe) - Parse with
scripts/parse_html.pyto extract: title, H1, meta description, headings hierarchy, word count, schema markup, CTAs, media elements - If no keyword provided, extract primary keyword from title tag + H1 overlap
- Validate keyword is non-empty before proceeding
Step 2: SERP Backwards Analysis
Read references/page-type-taxonomy.md for classification rules.
- Search Google for the target keyword (WebSearch)
- For each of the top 10 organic results, record:
- URL and domain authority tier (brand / niche authority / unknown)
- Page type (classify using taxonomy)
- Content format (long-form, listicle, how-to, comparison, tool, video)
- Word count estimate (from snippet length and page structure)
- Schema types present (from SERP features: ratings, FAQ, HowTo)
- Media signals (video carousel, image pack, thumbnail presence)
- Record SERP features present:
- Featured snippet (paragraph / list / table / video)
- People Also Ask (extract all visible questions)
- Ads (top and bottom -- count and analyze ad copy themes)
- Related searches (extract all)
- Knowledge panel / local pack / shopping results
- AI Overview presence and source types
- Calculate SERP consensus:
- Dominant page type (>60% = strong consensus, 40-60% = mixed, <40% = fragmented)
- Content depth expectations (average word count tier)
- Schema expectation (most common structured data types)
- Media expectations (video required? images critical?)
Step 3: Page-Type Mismatch Detection
This is the core SXO insight. Compare target page type against SERP consensus.
Mismatch severity levels:
| Target Type | SERP Expects | Severity | Recommendation |
|---|---|---|---|
| Blog Post | Product Pages | CRITICAL | Create dedicated product page |
| Blog Post | Comparison | HIGH | Restructure as comparison with matrix |
| Product | Informational | HIGH | Add educational content layer |
| Landing Page | Tool/Calculator | HIGH | Build interactive tool component |
| Service Page | Local Results | MEDIUM | Add location signals + local schema |
| Any type match | - | ALIGNED | Focus on content depth and UX |
Classification rules:
- Classify target page using
references/page-type-taxonomy.md - Classify each SERP result using the same taxonomy
- Flag mismatch if target type differs from SERP dominant type
- If SERP is fragmented (no dominant type), note opportunity for differentiation
Step 4: User Story Derivation
Read references/user-story-framework.md for the full framework.
From SERP signals, derive user stories:
- PAA questions reveal knowledge gaps and concerns
- Ad copy themes reveal commercial triggers and value propositions
- Related searches reveal the search journey (what comes before/after)
- Featured snippet format reveals the expected answer structure
- AI Overview reveals what Google considers the definitive answer
For each signal cluster, generate a user story:
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].
Generate 3-5 user stories covering the primary intent angles.
Step 5: Gap Analysis
Compare the target page against SERP expectations across 7 dimensions:
| Dimension | What to Compare | Score |
|---|---|---|
| Page Type | Target type vs SERP dominant type | 0-15 |
| Content Depth | Word count, heading depth, topic coverage | 0-15 |
| UX Signals | CTA clarity, above-fold content, mobile layout | 0-15 |
| Schema Markup | Present vs expected structured data types | 0-15 |
| Media Richness | Images, video, interactive elements vs SERP norm | 0-15 |
| Authority Signals | E-E-A-T markers, social proof, credentials | 0-15 |
| Freshness | Last updated, date signals, content recency | 0-10 |
Total: 0-100 SXO Gap Score (lower = larger gap, higher = better alignment)
Step 6: Persona-Based Scoring
Read references/persona-scoring.md for methodology.
- Derive 4-7 personas from SERP intent signals:
- Cluster PAA questions by theme
- Segment ad copy by target audience
- Map related searches to journey stages
- For each persona, score the target page on 4 dimensions (25 pts each):
- Relevance: Does the page address this persona's need?
- Clarity: Can this persona find their answer within 10 seconds?
- Trust: Are there adequate trust signals for this persona?
- Action: Is there a clear next step for this persona?
- Output persona cards with scores and specific improvement recommendations
- Sort recommendations by weakest persona first (biggest opportunity)
Step 7: Wireframe Generation (Optional)
Only execute when /seo sxo wireframe is invoked.
Read references/wireframe-templates.md for templates.
- Generate IST (current state) wireframe from parsed page structure
- Generate SOLL (target state) wireframe based on:
- SERP consensus page type
- Gap analysis findings
- Persona scoring weaknesses
- Use ultra-concrete placeholders:
- NOT: "Add a CTA here"
- YES: "Add pricing CTA with annual savings badge below hero, linking to /pricing#enterprise"
- Output as semantic HTML section outline with annotations
DataForSEO Integration
If DataForSEO MCP tools are available:
- Before any API call, run cost estimate and confirm with user
- Use
google_organic_serpfor precise SERP data (positions, features, snippets) - Use
keyword_datafor search volume and competition metrics - Fall back to WebSearch if DataForSEO unavailable -- note reduced precision in output
SXO Score vs SEO Health Score
The SXO score is separate from the main SEO Health Score.
- SEO Health Score = technical compliance (crawlability, speed, schema, etc.)
- SXO Gap Score = alignment between page and SERP expectations
- A page can score 95 SEO + 30 SXO = technically perfect but strategically misaligned
- Both scores should be reported together when both are available
Cross-Skill References
| Finding | Hand Off To |
|---|---|
| E-E-A-T gaps in persona scoring | /seo content for deep E-E-A-T audit |
| Missing schema types | /seo schema for generation |
| Local intent detected in SERP | /seo local for GBP analysis |
| Content depth gaps | /seo page for deep page analysis |
| Technical issues found during fetch | /seo technical for full audit |
| Image/media gaps | /seo images for optimization |
Output Format
Full SXO Analysis
## 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]
Error Handling
| Error | Action |
|---|---|
| URL fetch fails | Report error, suggest checking URL accessibility |
| No keyword provided or detected | Ask user to provide target keyword |
| WebSearch returns <5 results | Proceed with available data, note limited sample |
| SERP has no organic results (all ads) | Note highly commercial SERP, analyze ad copy only |
| Target page is JavaScript-rendered | Note limitation, use available HTML content |
| DataForSEO cost exceeds threshold | Fall back to WebSearch, notify user |
Quality Checklist
Before delivering results, verify:
- [ ] Target URL was fetched via
scripts/fetch_page.py(not raw curl/fetch) - [ ] Page type classification uses taxonomy from references
- [ ] At least 5 SERP results were analyzed
- [ ] User stories cite specific SERP signals as evidence
- [ ] Persona scores include concrete improvement suggestions
- [ ] SXO score is clearly labeled as separate from SEO Health Score
- [ ] Limitations section is present and honest
- [ ] Cross-skill recommendations are included where relevant