关于 seo-sxo
seo-sxo 面向 SEO 和 UX 团队,用于评估页面是否符合搜索结果呈现的页面类型与用户预期。它分析 SERP、识别错配和差距,并可生成具体线框图。
主要功能
- 01分析 SERP 格式与特征
- 02检测页面类型错配
- 03评估内容与 UX 差距
- 04根据搜索信号推导用户画像
- 05生成带注释的页面线框图
适用场景
- 01评估技术合格的页面为何未能排名
- 02选择与搜索结果匹配的页面格式
- 03为不同用户画像确定改进优先级
- 04起草目标页面结构
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ agricidaniel/ claude-seo --skill seo-sxo安装后在 Claude Code 中输入/seo-sxo确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/page-type-taxonomy.mdpersona-scoring.mduser-story-framework.mdwireframe-templates.md详细介绍
搜索体验优化(SXO)
SXO 弥合了 SEO(Google 看重的内容)与 UX(用户需要的内容)之间的差距。 传统的 SEO 审核会检查技术状况。SXO 则会问:“根据 Google 在搜索结果页(SERP)上实际奖励的内容,这个页面值得针对该关键词获得排名吗?”
核心洞察
一个页面的技术 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:获取目标页面
- 通过
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run render_page.py <URL> --mode auto获取目标 URL(支持 SPA 感知并防范 SSRF) - 使用
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run parse_html.py <URL>进行解析,提取:标题、H1、元描述、 标题层级结构、字数、Schema 标记、CTA、媒体元素 - 如果未提供关键词,则从标题标签与 H1 的重合部分提取主要关键词
- 继续之前,验证关键词非空
步骤 2:反向分析 SERP
阅读 references/page-type-taxonomy.md 了解分类规则。
- 在 Google 中搜索目标关键词(WebSearch)
- 对排名前 10 的自然搜索结果,记录:
- URL 和域名权威度层级(品牌 / 细分领域权威 / 未知)
- 页面类型(使用分类体系进行分类)
- 内容格式(长篇内容、列表文章、操作指南、对比、工具、视频)
- 估计字数(根据摘要长度和页面结构)
- 存在的 Schema 类型(来自当前支持的 SERP 功能;排除 FAQ/HowTo)
- 媒体信号(视频轮播、图片组、是否有缩略图)
- 记录存在的 SERP 功能:
- 精选摘要(段落 / 列表 / 表格 / 视频)
- 用户还问了(提取所有可见问题)
- 广告(顶部和底部——统计数量并分析广告文案主题)
- 相关搜索(全部提取)
- 知识面板 / 本地结果包 / 购物结果
- 是否存在 AI Overview,以及来源类型
- 计算 SERP 共识:
- 主导页面类型(>60% = 共识强,40-60% = 混合,<40% = 碎片化)
- 内容深度预期(平均字数层级)
- Schema 预期(最常见的结构化数据类型)
- 媒体预期(是否需要视频?图片是否关键?)
步骤 3:检测页面类型不匹配
这是 SXO 的核心洞察。将目标页面类型与 SERP 共识进行比较。
不匹配严重程度:
| 目标类型 | SERP 预期 | 严重程度 | 建议 |
|---|---|---|---|
| 博客文章 | 产品页面 | 严重 | 创建专用产品页面 |
| 博客文章 | 对比内容 | 高 | 重构为包含对比矩阵的内容 |
| 产品页面 | 信息型内容 | 高 | 增加教育性内容层 |
| 落地页 | 工具/计算器 | 高 | 构建交互式工具组件 |
| 服务页面 | 本地结果 | 中 | 添加位置信号和本地 Schema |
| 类型匹配 | - | 已匹配 | 专注于内容深度和 UX |
分类规则:
- 使用
references/page-type-taxonomy.md对目标页面进行分类 - 使用相同的分类体系对每个 SERP 结果进行分类
- 如果目标类型与 SERP 主导类型不同,则标记为不匹配
- 如果 SERP 碎片化(没有主导类型),则指出存在差异化机会
步骤 4:推导用户故事
阅读 references/user-story-framework.md,了解完整框架。
根据 SERP 信号推导用户故事:
- PAA 问题揭示知识盲区和顾虑
- 广告文案主题揭示商业触发因素和价值主张
- 相关搜索揭示搜索历程(前后搜索了什么)
- 精选摘要格式揭示预期的答案结构
- 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,了解评分方法。
- 根据 SERP 意图信号推导 4-7 个用户画像:
- 按主题对 PAA 问题进行分组
- 根据目标受众对广告文案进行细分
- 将相关搜索映射到用户历程阶段
- 针对每个用户画像,从 4 个维度为目标页面评分(每项 25 分):
- 相关性:页面是否满足该用户画像的需求?
- 清晰度:该用户画像能否在 10 秒内找到答案?
- 信任度:该用户画像是否能看到充分的信任信号?
- 行动指引:是否为该用户画像提供了明确的下一步?
- 输出用户画像卡片,包含得分和具体的改进建议
- 按最弱的用户画像优先排列建议(机会最大)
步骤 7:线框图生成(可选)
仅在调用 /seo sxo wireframe 时执行。
阅读 references/wireframe-templates.md,了解模板。
- 根据解析后的页面结构生成 IST(当前状态)线框图
- 根据以下内容生成 SOLL(目标状态)线框图:
- SERP 共识页面类型
- 差距分析结果
- 用户画像评分中的薄弱项
- 使用极其具体的占位说明:
- 不要写:“在此处添加 CTA”
- 应写:“在主视觉区域下方添加带年度节省徽章的定价 CTA,并链接至 /pricing#enterprise”
- 以语义化 HTML 章节大纲形式输出,并附注释
DataForSEO 集成
如果有可用的 DataForSEO MCP 工具:
- 进行任何 API 调用之前,先估算费用并征得用户确认
- 使用
serp_organic_live_advanced获取精确的 SERP 数据(排名、功能、摘要) - 使用
kw_data_google_ads_search_volume获取搜索量和竞争指标 - 如果 DataForSEO 不可用,则回退到 WebSearch——并在输出中注明精确度有所降低
SXO 分数与 SEO 健康度分数
SXO 分数与主要 SEO 健康度分数相互独立。
- SEO 健康度分数 = 技术合规性(可抓取性、速度、Schema 等)
- SXO 差距分数 = 页面与 SERP 预期之间的匹配度
- 页面可能 SEO 得分为 95、SXO 得分为 30,意味着技术层面完美,但策略上不匹配
- 如果两项分数都可用,应同时报告
跨技能参考
| 发现 | 转交给 |
|---|---|
| 用户画像评分中的 E-E-A-T 差距 | 转交 /seo content 进行深入的 E-E-A-T 审核 |
| 缺少 Schema 类型 | 转交 /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,并通知用户 |
质量检查清单
交付结果前,请确认:
- 已通过
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run render_page.py <URL> --mode auto获取目标 URL(未使用原始 curl/fetch) - 页面类型分类使用了参考资料中的分类体系
- 至少分析了 5 条 SERP 结果
- 用户故事引用了具体的 SERP 信号作为依据
- Persona 评分包含具体的改进建议
- SXO 评分明确标注为独立于 SEO 健康度评分
- 存在局限性部分,且内容如实
- 在相关情况下,包含跨技能建议