关于 seo-geo-answerblocks
seo-geo-answerblocks 是面向 SEO 审核的技能,检查网页段落是否易于 AI 系统独立提取,并提出可供人工审阅的内容结构修改建议。它强调语义完整性,不会自动改写已发布内容或编造信息。
主要功能
- 01检查标题后的直接回答
- 02评估段落独立可读性
- 03检查列表、表格与定义
- 04审查问句标题和摘要块
- 05生成待确认的改写建议
适用场景
- 01找出问题标题后缺少直接回答的页面
- 02识别依赖上下文才能理解的段落
- 03为长篇页面补充摘要或要点块
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ hainrixz/ claude-seo-ai --skill seo-geo-answerblocks安装后在 Claude Code 中输入/seo-geo-answerblocks确认已加载。
详细介绍
seo-geo-answerblocks(M11)
AI 引擎会引用能够脱离上下文完整摘取的段落,因此段落结构是页面上影响最大的 AI 信号。本模块检查内容是否易于摘取;有关哪些对象可以抓取和引用页面,请参阅 references/ai-crawlers.md。
输入
根据调度信封中指定的 PageSnapshot 操作:从 <run_dir>/pages/<slug>.json 读取 parsed(headings[]、text_sample、word_count)——段落内容来自 HTML 文件,而非摘要;使用 Grep 在 pages/<slug>.html 中查找原文证据;站点资源位于 <run_dir>/site/{robots.json,sitemaps.json,discovery.json}。audit.mjs 已输出的确定性发现列在 <run_dir>/findings.deterministic.json 中——不要重新输出这些 ID;只添加由模型判断的发现。如果直接传入 URL/路径调用且不存在快照,请先运行 node "${CLAUDE_PLUGIN_ROOT}/scripts/snapshot.mjs" <target> --out "${CLAUDE_PLUGIN_DATA}/runs",并使用打印出的快照路径。
审核
基于 PageSnapshot(当 render.used 不为 none 时使用 parsed_rendered,否则使用 parsed)进行审核:
- 标题 → 直接回答:对于每个读起来像问题(或暗示问题)的 H2/H3,第一个段落是否是约 40-60 个词的直接回答,而非铺垫(“本节将探讨……”)?
- 自包含段落:顶层段落是否约为 134-167 个词,并且可独立回答问题?标记需要依赖前文才能理解的未消解照应(“如上所述”、“这”、“后者”)。
- 结构化形式:在内容适合的情况下,是否使用了列表、对比表和明确的术语定义?这些内容被引用的概率明显更高。
- 问题式标题:标题是否表述了真实的用户问题(如何/什么/为什么/何时),并符合可能出现的提示词?
- TL;DR / 摘要块:是否在前面提供摘要或关键要点块,供引擎原文摘取?
- 语义完整性:每个段落能否在零外部上下文的情况下回答其标题?这是与 AI 引用相关性最强的单一指标,也是本模块权重最高的检查项(它权重最大,但不会限制评分上限——参见“发现”)。
修复
- PROPOSED:重写回答块(标题 → 精炼的 40-60 词引言)并起草 TL;DR,根据页面现有内容生成,一次向用户展示一项以供接受/编辑。只有接受后,每项才会生成
fix_preview差异。 - ADVISORY:提供结构建议(“拆分这段 400 词的内容”、“在此添加定义列表”),由编辑者判断意图。
- 绝不悄悄改写已发布的文字,也绝不编造事实来填充段落——如果缺少某项说法,请留下清晰标记的
TODO占位符供用户填写。此处的发现一律不是auto。
验证
- 方法为
manual_review。确定性部分可离线复现:字数范围(回答 40-60 词;段落 134-167 词)、问题式标题检测、照应起始语检测,以及通过node "${CLAUDE_PLUGIN_ROOT}/scripts/check-answerblocks.mjs" --snapshot <pages/<slug>.json> [--lang en|es|auto]检查是否存在 TL;DR(也可使用--url <u>/--file <path>)。将manual_review用作发现的verification.method(枚举中没有heuristic值);该脚本是verification.reproduce命令。 - 语言覆盖范围:启发式检查内置了 EN 和 ES 词库(疑问词,包括
¿、铺垫式开头、照应表达、TL;DR/Resumen标记)。当检测到的语言不属于这两种语言时,与语言相关的字段会返回null(绝不会返回 0),且该发现会标记为manual_review,因此不会把不支持的语言页面误判为通过。 - 语义完整性和照应消解仍需人工判断;如果无法进行该判断或无法获取渲染后的 DOM,状态会是
needs_api(或manual_review),绝不会误报为pass。
检查结果
检查结果符合 schema/finding.schema.json;轴为 ai。严重性策略:5 仅用于网站/模板范围内、可能导致资格丧失的灾难性事实;4 为重大 · 3 为中等 · 2 为轻微 · 1 为表面问题 · 0 为仅供参考——只有处于启用类别中的 established 严重性为 5 的 fail 才能限制评分(references/scoring-model.md)。M11 中没有任何内容属于 established,因此此处的任何内容都不会限制评分。
M11.heading.no_direct_answer— 问句式 H2/H3 标题后接的是铺垫,而非答案(fail,严重性 3,fixable: proposed,置信度directional)。M11.passage.unresolved_anaphora— 段落以“如上所述……”/“Esto…”开头,无法脱离上下文独立阅读(warn,严重性 2,fixable: proposed,置信度directional)。M11.passage.overlong— 段落远超可提取窗口(>167 个单词),且没有可供提取的内部结构(warn,严重性 2,fixable: proposed,置信度directional)。M11.summary.missing_tldr— 长篇页面缺少前置摘要/要点概览区块(warn,严重性 2,fixable: proposed,置信度directional)。M11.answers.ok— 问句式标题得到了直接回答,段落内容也可独立理解(pass,严重性 3,置信度directional)。M11.lang.unsupported— 页面语言不在 EN/ES 词典范围内,因此无法通过段落启发式规则得出结论(manual_review,严重性 0;依赖语言的字段为null)。 每项检查结果的evidence.observed都会引用页面内容(标题文本 + 首句,或有问题的分句),verification.reproduce则是上方可运行的命令;expected_impact会标注影响等级和置信度,不会给出没有依据的百分比。
诚实说明
- **Google 并未要求针对 AI 进行专门改写或分块。**其生成式 AI 指南强调的仍是相同的基本原则——页面应可编入索引、符合摘要提取条件、结构清晰且面向读者;指南并未规定段落长度、“分块大小”或答案区块格式。本模块中的所有建议都是关于可读性和可提取性,也能帮助人类读者;应如实说明,切勿把改写说成搜索引擎的要求。
- 字数范围是根据观察到的引用模式归纳出的启发式规则,并非搜索引擎公布的阈值——其置信度为
directional,绝非established;应标记段落,而不能仅因长度就判定失败。 - 添加“TL;DR”标签或给标题加上问号,如果段落仍无法独立回答问题,就毫无作用。真正重要的是语义完整性;格式上的表面功夫只是迷思,本工具不会提供这类做法。
- 启发式规则受语言限制。遇到不支持的语言时,诚实的输出应为
manual_review,而非通过——无声地给出零分会让人误以为“没有发现问题”。