写作与公文
多语言博客内容审计:检查翻译完整性、一致性与…
当需要审计多语言博客目录的翻译覆盖率、内容一致性、SEO 元数据对齐、hreflang 标签和内容新鲜度时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
多语言博客内容审计:检查翻译完整性、一致特定
解决思路
- 解析项目根目录/当前工作目录内的目标目录,拒绝符号链接目录和越出根目录的路径遍历,然后扫描博客内容并按语言分组:依据子目录名(en/、de/、fr/)、frontmatter 的 lang 和 translatedFrom 字段、以及 hreflang-map.json(若存在)。
- 用 blog-translate、blog-localize、blog-multilingual 共享的多语言 locale 规则规范化检测到的语言代码:ISO 639-1 语言小写、可选 ISO 15924 脚本首字母大写、可选 ISO 3166-1 Alpha-2 地区大写;对 es、pt、zh 等仅语言代码的歧义标记,除非内容声明了显式中立模式。
- 构建内容矩阵,映射每篇文章存在于哪些语言;比较 slug 前先使用稳定翻译组键:translationGroupId、sourceSlug、schema 的 translationOfWork.url,或 hreflang-map.json 中的 ID 和 URL;仅当没有稳定键时才回退到规范化源 slug。
- 检测源语言(最常见的 translatedFrom 目标,或 hreflang-map.json 中的 sourceLanguage 字段)。
- 输出翻译覆盖矩阵,显示缺失的翻译,并统计覆盖率(如 60%,10 个预期翻译中 6 个存在)和缺失数量。
- 对每个多语言版本的文章做内容一致性审计:H2/H3 章节数(Critical)、FAQ 条目数(High)、图片数(High)、图表数 SVG figures(High)、词数比例是否在语言对预期区间内(DE +20% 到 +30%、JA -20%、ES +10%,Medium)、内部和外部链接数(Medium)、每个 H2 的引用胶囊数(Medium)、frontmatter 必需字段完整性(High);将每个显著偏差标记为问题。
- 对每个语言版本做 SEO 一致性审计:title 标签存在且长度符合该语言(Critical)、meta description 存在且长度正确、本地化且准确,仅当统计数字对文章核心时才包含已验证统计(Critical)、lang 属性或 frontmatter lang 存在且为有效的 Google 兼容 hreflang 或 BCP 47 语言标签(Critical)、canonical URL 指向同语言页面而非源语言页面或 x-default(Critical)、schema inLanguage 与 lang 匹配(High)、schema translationOfWork 指向源 URL(High)、alt 文本已翻译(非英文文章不得出现英文 alt,High)、slug 已本地化(非英文文章不得出现英文 slug,Medium)、标签已本地化(Medium)、关键词已本地化(Medium)。
- 若目录中存在 hreflang-tags.html、hreflang-sitemap.xml 或 hreflang-map.json,做 hreflang 审计:自引用(每个页面引用自身,Critical)、返回标签(每个关系双向,Critical)、canonical 一致性(每个 hreflang 页面 canonical 到其同语言 URL,Critical)、x-default 存在并指向未匹配语言的回退页如语言选择器或默认市场页(Critical)、语言代码为有效的 Google 兼容 hreflang 标签(ISO 639-1 语言加可选 ISO 15924 脚本或 ISO 3166-1 Alpha-2 地区,High)、URL 一致性(相同协议、相同尾斜杠约定,Medium)、完整性(每个语言版本都有代表,High)。
- 若不存在 hreflang 文件,报告为 critical gap 并提供:运行 /blog multilingual <topic> --languages ... 重新生成,或手动创建 hreflang-tags.html;若安装了 claude-seo 的 seo-hreflang,建议运行它做更深验证。
- 对 frontmatter 含 translatedDate 的文章做新鲜度审计:源在翻译后更新(源修改时间晚于 translatedDate,Critical)、源内容漂移(存储的源 hash 或源 dateModified 与当前源不同,Critical)、翻译漂移(存储的翻译 hash 与当前本地化文件不同,Medium)、翻译超过 90 天(可能需要刷新,Medium)、各版本 lastUpdated 不一致(版本不同步,Medium)、Git 或文件 mtime 晚于 translatedDate(内容变更但 frontmatter 未更新,Warning);可用时先存储并比较 sourceHash、源 dateModified、translationHash 和 Git mtime,再仅依赖 translatedDate。
- 对每个过期文件输出可执行命令,例如:3 translations are stale: - de/ki-trends-2026.md (source updated 2 days ago) -> Run: /blog translate en/ai-trends-2026.md --to de 等。
- 默认以 markdown 输出报告;若用户传 --html,则仅在审计的项目根目录内写入 locale-audit-report.html,渲染 HTML 前用 html.escape(value, quote=True) 转义所有动态文件名、标题、URL 和问题文本,并拒绝符号链接或根目录外的报告路径。
- 报告结构包含:Summary(审计文章数、语言数、总体健康分 /100、Critical 问题数、Warning 数)、Translation coverage(Phase 2 矩阵)、Issues found(Critical/Warnings/Passed 并附文件引用)、Prioritized fixes(按影响排序)、Stale-translation alerts(Phase 6 可运行命令)、Quick fixes(如 /blog translate <file> --to <missing-langs>、/blog multilingual 重新生成 hreflang 资产、/blog localize <file> --locale <code> 改进文化适配)。
- 错误处理:空目录返回 "No blog posts found in [path]";仅一种语言时报告覆盖率并建议目标语言;无 hreflang 文件时标记为 critical gap 并提供重新生成;无法识别的文件格式跳过并警告。
适用边界 · 注意事项
- 目录中没有任何博客内容或只有单一语言时,审计价值有限,应先补充内容或目标语言。
- 未安装 claude-blog 相关命令(/blog translate、/blog localize、/blog multilingual)时,报告中的可执行修复命令无法直接运行。
- 需要更深 hreflang 验证但未安装 claude-seo 的 seo-hreflang 时,只能做基础校验。