用途:seo-international(M20)是 claude-seo-ai 技能中的多语言 SEO 模块,负责链接层面的本地化标注审计与生成。它只在 seo-vertical-detect 判定站点为多语言时运行;单语言站点所有发现均为 not_applicable、severity 0。Schema 类型问题交由 references/schema-tier1.md,本模块只管 hreflang。
主要能力:从 PageSnapshot 读取 hreflang、canonical、<html lang>、headers.link 及同级页面,检查互指(A 声明 B 则 B 须回指 A)、BCP-47 有效性(如 en-UK 无效,应为 en-GB)、自引用、x-default、hreflang 与 canonical 冲突、<html lang> 与目标 locale 是否一致。
使用方式:基于 dispatch envelope 指定的 PageSnapshot,读取 <run_dir>/pages/<slug>.json 等;audit.mjs 已产出的确定性发现列在 findings.deterministic.json,不重复输出。若直接以 URL/路径调用且无快照,先运行 node "${CLAUDE_PLUGIN_ROOT}/scripts/snapshot.mjs" <target> --out "${CLAUDE_PLUGIN_DATA}/runs"。离线校验:node "${CLAUDE_PLUGIN_ROOT}/scripts/hreflang-check.mjs" --snapshot <pages/<slug>.json>(或 --url <u> / --file <path>);互指检查需 --url <u> --deep [--budget 25] [--ua <preset>]。
修复分级:AUTO 在 locale→URL 映射已知时生成完整互指 hreflang 链接集与单个 x-default;PROPOSED 为推断的部分集合,需用户确认;ADVISORY 仅提示疑似多语言但无映射,工具不写入。绝不编造 locale、地区码或替代 URL,映射不全时留 TODO(locale) 占位并询问用户。
适用场景与限制:适用于多语言/多地区站点的 hreflang 集群审计。hreflang 是定位/聚类信号而非排名提升,不能修复内容单薄或机器翻译,也不能替代 rel=canonical;Bing、Yandex 支持弱或无,文档受益方为 Google。互指无法从单页断言,若替代 URL 未抓取则状态为 needs_api,不得误判通过。