Codex 生成静态文章后怎么检查首页、栏目页和 sitemap 是否一致?
维护 Codex SEO 静态资讯站时,文章生成只是第一步,还要核对栏目页、首页内容、sitemap、robots 和发布 URL 是否指向同一批页面。
真实问题
静态站最难排查的不是页面打不开,而是页面都能打开却互相不一致。文章目录已经生成,栏目页没有卡片;栏目页有卡片,首页还停留在昨天;sitemap 有 URL,但 robots 没有声明;更隐蔽的是标题、slug 和 canonical 只改了一部分。搜索引擎和用户看到的内容就会出现多个版本。
永沃云枢在 https://ai.jn83.com 维护 Codex 资讯栏目时,把一次发布看成内容文件、导航入口和抓取清单的组合。Codex 接入可以帮助生成 HTML、SQL 和校验报告,但不应跳过最后的静态一致性检查。
适用场景
适合每日更新资讯、产品文档、活动页、帮助中心和博客栏目,尤其适合首页内容来自数据库、文章本身是静态 HTML、sitemap 由本地文件维护的混合站点。只要一次发布会同时改文章、栏目页和首页,就需要做交叉核对。
这套方法也适用于 AI API 接入、CCSwitch 配置和 AI 自动化办公专题页,因为这些页面往往通过多个入口互相链接。用户从搜索结果进入文章后,还应该能顺着内链回到栏目和专题页。
操作步骤
第一步,建立当天发布清单,包含 4 个 slug、标题、canonical、发布日期、栏目页卡片和首页卡片。第二步,生成文章后逐页检查 title、description、H1、JSON-LD、canonical 和站内链接。第三步,用同一份发布清单扫描栏目页和首页,确认最新文章标题、摘要和链接一一对应,不能只检查 slug 是否存在。
第四步,更新 sitemap 时同时更新首页与栏目页的 lastmod,再加入新文章 URL,保持 URL 统一使用 HTTPS 和结尾斜杠。第五步,检查 robots.txt 是否声明 Sitemap: https://ai.jn83.com/sitemap.xml。第六步,检查 publish-urls.txt 只包含本次要发布的 URL,避免把旧文章重复提交。最后保存一份纯文本验收结果,记录文件路径、字符数、链接数和乱码检查。
排错路径
如果栏目页找不到文章,先查 slug 是否出现在最新文章区,而不是先怀疑浏览器缓存。如果栏目页有标题但链接 404,检查目录名和 href 是否完全一致。如果 sitemap 有重复 URL,通常是更新脚本把同一条记录追加了两次。若 canonical 指向旧日期,说明文章头部元数据没有和目录一起更新。
遇到中文显示异常时,检查文件是否为 UTF-8 无 BOM、HTML 是否声明 UTF-8、SQL 是否在转义后仍保留中文。可以使用 PowerShell 读取文件前 3 个字节、统计连续问号,并把正文标签剥离后计算中文字符数。不要把“浏览器能显示”当作唯一编码验收标准。
常见问题 / 避坑
问:只要 sitemap 有 URL 就算发布完成吗?不算,首页和栏目页的用户入口同样重要。问:能否让 Codex 自动修改所有相关文件?可以,但必须限制目录白名单,并在修改后逐项核对差异。问:lastmod 要不要写到分钟?对于日更静态栏目,日期级别通常够用,关键是不要写未来日期或和实际内容不符。问:发布清单可以长期累积吗?不建议,本次推送文件应保持边界清楚。
检查清单
检查 4 个文章目录都存在;检查每篇文章有 canonical、Article JSON-LD、OG 标签和发布日期;检查每篇正文至少 1500 个中文字符;检查每篇至少 4 个站内链接;检查栏目页出现 4 个标题和 slug;检查首页内容包包含最新 4 篇;检查 sitemap 含 4 个新 URL且无 BOM;检查 robots 声明 sitemap;检查 publish-urls.txt 仅有当天 URL;检查文章、SQL 和栏目页没有连续问号乱码。
还可以准备一份发布后抽样表,把“首页是否出现”“栏目页是否出现”“sitemap 是否出现”“文章 canonical 是否一致”“旧入口是否仍可点击”分成五列。每次只要其中一列失败,就不要继续推送搜索引擎,而是先回到本地文件修正。这个动作能避免把不完整的页面结构扩散到外部抓取队列,也能让下一次 Codex 自动化维护有清楚的证据输入。
验收与复盘
完成本地检查后,再做一次“从入口到正文”的模拟:从首页最新文章进入栏目页,再进入文章,点击专题链接返回;然后用 sitemap 中的 URL 逐个映射到本地目录。复盘时记录哪一项最容易漏,例如首页 SQL 卡片、canonical 日期、栏目页摘要或 robots 行。让 Codex 生成下一次的验收命令可以提高效率,但白名单、首页保留模块和发布边界仍应由人确认。