实验报告 / 006
Cloudflare Pages soft 404:不存在的 URL 为什么返回 200?
生产路由实验:复现缺失页面错误返回 200,部署精确白名单,再验证真实 404 响应。
结论:已修复所测生产路径;不宣称排名提升。
问题与答案
Cloudflare Pages 会不会对不存在的 URL 以 HTTP 200 返回首页?
会。10 月 9 日约 05:57 UTC,两个不存在的生产 URL 返回 200。部署 d1069a0 的路由白名单后,生产检查确认未知路径返回 404、已发布实验 005 返回 200。这是 soft 404 风险的证据,不代表 GSC 已判定为 soft 404。
观察数据
- 200 — 修复前:缺失路径
- 404 — 修复后:缺失路径
- 7/7 — 路由测试通过
- 15 — 修复时验证的 sitemap URL
复现与修复步骤
- 复现生产 HTTP 响应:修复前直接检查两个不存在的生产路径,均返回 200;更早的浏览器测试也曾显示完整首页。
- 限制 Pages SPA 回退:只允许三语首页、已发布实验、Feed 与静态资源;保留根路径语言跳转,其他路径返回 HTTP 404 和 X-Robots-Tag: noindex。
- 测试并验证部署结果:七项 Node 中间件测试通过,覆盖当时 sitemap 的全部 15 个 URL、跳转和发现资源;类型检查与构建通过。Cloudflare 部署 d1069a0 后,生产 HTTP 检查发现真实 404,而实验 005 仍为 200。
发现
首页能显示也可能掩盖错误 HTTP 状态
客户端渲染可能让不存在的路径看起来正常,但爬虫仍会读取服务器状态;不存在的内容不应返回成功。
Sitemap 和白名单必须同步
白名单解决回退问题,却可能误拦新文章;回归测试现已逐一检查 sitemap URL 能否通过中间件。
失败与限制
第一次修复覆盖范围太窄
只拦截未发布实验编号和已知探测路径,仍无法防止任意不存在路径回退到首页。
尚未测量收录或流量结果
Search Console 分类不可用。HTTP 正确性已验证,但收录、排名和自然搜索来源是否改善尚无数据。
证据与限制
- 修复前检查
- 2026-10-09 ~05:57 UTC
- 测试的缺失 URL
- /en/this-is-an-unknown-route/ ; /xyzzy-unknown/
- 修复前 / 后
- HTTP 200 → HTTP 404
- 生产修复提交
- d1069a0
- 已发布报告对照
- /en/experiments/exp-005/ : HTTP 200
- 回归测试
- 7/7 PASS; 15 sitemap URLs
- Search Console 分类
- Unavailable; no classification asserted