用 Codex 审查 Sitemap

用 Codex 抽查 sitemap 正确性、新鲜度、覆盖度。

这篇讲什么

任何有意义的站点变更——URL 重构、加语言、内容迁移——sitemap 都会悄悄漂移。draft 页混进来、lastmod 日期跟现实脱节、不同小节尾斜杠约定分裂、一周后 Search Console 开始抱怨。这篇用 Codex 作为聚焦审计员,对照 sitemap 源码和构建产物,给一份能抓常见失败的 prompt 模板,输出是你能直接动手处理的清单。

这篇适合谁看

任何有生成 sitemap.xml 的站长:Astro、Next.js、Hugo、带插件的 WordPress、自定义生成器。双语 / 多语言站点尤其受益——hreflang 和分语言 sitemap 把失败模式翻倍。

什么时候适合用

大改后:URL 重构、加语言、内容迁移、大批量内容剪枝、分类改名。即使没大改,每季度做一次也值得——漂移是默默累积的。

开始前准备

  • 确认有构建步骤把 sitemap 产出到 dist/(或你的构建目录)。Codex 要读产物,不只读源。
  • 标清生成 sitemap 的源文件。Astro 通常是 src/pages/sitemap-*.tsastro-sitemap 配置。Next.js 是 app/sitemap.tsnext-sitemap.config.js
  • 提前定尾斜杠约定。约定分裂是索引混乱的第一大来源。
  • 知道你的 draft / noindex 政策。draft 绝不能进 sitemap。

具体步骤

  1. 在仓库打开 Codex。重新 build 让 dist/sitemap-index.xml 反映当前源。
  2. 发一条聚焦的 review prompt,写明文件和规则:
读 src/pages/sitemap-*.ts 与 dist/sitemap-index.xml(build 后)。

核验并报告 findings:
- 每个分类页每个语言都有。
- 每个文章 URL 都带尾斜杠(项目约定)。
- 无 draft URL(按 frontmatter `draft: false` 过滤)。
- 活跃页 lastmod 在最近 90 天内。
- en/zh 翻译对(同 translationKey)之间有 hreflang 对应。
- 没有 404 URL(随机抽 10 个 URL 验证源文件存在)。

每条 finding 都引源文件 + 行号,不要引 dist/。建议在源上改,不要建议改 dist。
  1. Codex 返回异常列表。每条都读;hreflang 启发式上会有少量误报。
  2. 在源上修——sitemap 生成逻辑、frontmatter、内容审计脚本——不要碰 dist/。dist 改了下次构建会被覆盖。
  3. 重 build,再用同一条 prompt 跑一次。findings 应当降到 0 或一组有文档化的有意例外。
  4. 源改动以清晰 message 提交:“fix(sitemap): drop drafts, normalize trailing slashes.”

第一次实操怎么跑

  1. 选最容易核验的分类:首页 + 一个熟悉的小节。
  2. 先把 prompt 限定到这几个 URL。证明 Codex 理解你的源结构,再做全量。
  3. 跑全量 prompt。数 finding。一年没扫过的站点首跑通常 10-30 条异常。
  4. 修前 3 条。重跑。看数字下降。剩余的当后续 ticket。

完成后检查

  • 每条 finding 都引源文件、不是 dist URL?没引就说明 Codex 没完全理解构建链路。
  • 建议的修法幂等吗——对已经正确的文件套用会不会破坏?会就重新精修建议。
  • 在浏览器里随机打开 5 个 sitemap 里的 URL。404、重定向、语言错都是红旗。
  • 下次抓取后在 Search Console 看 hreflang 对。Codex 抓结构问题,Search Console 验证搜索引擎行为。

怎么复用这套流程

  • prompt 存成片段,项目相关路径用占位符。每季度、每次 URL 变更、每次内容清理后跑。
  • CI 加一步:build sitemap + 跑简化版检查(文件数、draft 过滤、尾斜杠)。剩下的 Codex 抓。
  • 维护 sitemap-conventions.md 记录尾斜杠规则、draft 政策、hreflang 配置。Codex 会读。
  • Astro / Next.js / CMS 大版本升级后重测——sitemap 生成常变。

建议的操作流程

build → 带完整 checklist 的 Codex prompt → triage finding → 在源上修 → 重 build → 复核 → 提交 → 提交到 Search Console。

容易踩的坑

  • 直接改 dist/sitemap.xml。下次 build 覆盖你的修复。
  • 不写尾斜杠约定。Codex 会报混用,但分不清哪边是正版。
  • sitemap 含 draft / noindex 页。搜索引擎抓了再发现 404 或 noindex,就开始抱怨。
  • lastmod 全部一样。所有 URL 同一个 lastmod,抓取器就不再信这个字段。
  • 翻译内容缺 hreflang 对。Search Console 会标,Codex 能更早抓。
  • 修完忘了去 Search Console 重新提交。Google 不会按你的节奏重新抓。

FAQ

  • 几万 URL 怎么办?: 抽样。让 Codex 在随机 100 个 URL 上验证规则,报模式而不是逐条。
  • Codex 能直接修 sitemap 吗?: 能——让它开一个源级修复的 PR。像任何 PR 一样审。
  • robots.txt 和 meta noindex 呢?: 相邻议题。单独写一条审计 prompt,不要混进 sitemap 那条。
  • CMS 插件生成的 sitemap 还能用吗?: 能,它审产物 + 审配置。源修在插件配置里,不在生成的 XML 里。

相关阅读

标签: #教程 #SEO #AI 编程 #Codex #Sitemap