Boloop 阅读示意图(AI 生成):端点可访问、抓取、地图处理和索引是不同信号。
Boloop 的站点地图有过一个很容易让人反复改配置的状态:浏览器能打开,HTTP 检查能取得完整 XML,Search Console 却仍显示无法读取。后来 Google 的实时测试也曾抓取成功,但正式地图记录还没有出现成功下载的时间。
截至 2026 年 10 月 22 日上午,这个问题还不能宣布彻底解决。不过,几个原先等待的目录页已经被 Google 收录。这些并存的结果,提醒我不要用一个绿色或红色标记概括整条搜索链路。
一张地图至少有四种不同的结果
第一种是网站公开端点能访问:原始地址返回成功状态、XML MIME 和完整正文。第二种是 Google 的某次实际请求能取到文件,例如实时测试。第三种是 Search Console 的正式地图处理状态。第四种才是地图中每个页面的索引结果。
四者有关联,却不能互相替代。自己的客户端取得 200,不能证明 Google 上次访问也是 200;实时测试成功,不能证明正式地图已经处理;地图处理成功,也不保证每个页面都被收录。
Google 的 Sitemaps API 对 isPending 的定义是尚未处理,lastDownloaded 记录最近下载时间。它们比单看界面上一句旧错误更适合帮助区分状态。Google Sitemaps API 字段说明
先排除能在自己这边证实的故障
早期排查分别请求了 GET 与 HEAD,确认没有意外跳转,响应类型正确;再用 XML 解析器读取完整正文,检查命名空间、转义以及 URL 是否重复、是否指向同一正式来源。robots.txt 也需要检查是否允许地图和目标公开页面的访问。
当时还换过 Googlebot 的 User-Agent。响应与普通请求字节一致,能排除应用对这个请求头作差异处理的某些可能;但这仍是自己的客户端发出的请求,不是真正来自 Google 网络的抓取证明。
我们也检查了地图生成代码的公开发布条件与失败响应。不能因为一次读取成功,就推断数据库故障或边缘瞬时错误从未发生;同样,没有观察到失败,也不足以据此修改安全设置。
对照实验有用但要保留比较条件
排查期间还准备过同内容的静态地图对照,用来缩小“动态生成路径”和“地图内容本身”之间的差异。这样的实验必须保证两个文件内容相同,并记录部署、提交与读取时间。
如果一个文件已经更新、另一个没有,或比较期间正式站还有其他变更,就不能把它们的状态差异直接归因于动态与静态。即使比较条件一致,实验通常也只能缩小范围,不能唯一认定 Google 处理失败的原因。
退役测试端点后,失效提交记录也要与正式地图分开。把旧测试文件的 404 留在界面上继续讨论,很容易让之后的排查混入另一个已经不存在的对象。
目录收录了地图仍然待处理
10 月 22 日上午的观察中,英文 Skills 与 Articles 目录已显示收录,Projects 与 About 的索引检查也有明确通过结果;与此同时,正式 sitemap 的 API 记录仍为 isPending: true、lastDownloaded: null。
这时记录中的 0 errors、0 warnings 不能解读成地图解析成功,因为尚未出现成功处理所需的证据。反过来,地图待处理也不能用来否认那些页面已经收录的结果。
页面请求还有配额与去重问题。Boloop 对已被 Google 接受的索引请求保留记录,后续只跟踪,不在每次巡检重新点击提交。Google 也明确说明,对同一 URL 重复请求不会加快抓取,提出请求本身不保证收录。Google 重新抓取说明
什么时候该继续查什么时候该继续观察
如果精确地图地址现在返回 404、跳转到登录页、XML 损坏,或 Google 实时测试提供了明确抓取失败,就沿那个有证据的失败继续修。若公开响应正常、实时测试成功、正式记录仍待处理,就保留提交时间、最后下载时间和页面索引结果,按计划观察变化。
对 Boloop,当前合理结论是:已有检查没有复现站内的地图读取障碍,但正式处理仍未完成,原因尚未确定。接下来需要的是新的下载或处理证据,而不是每天改一个地图地址再提交。
这篇记录没有提供一个“改完立刻收录”的按钮。它提供的是一套排查顺序:先证实网站返回什么,再核对 Google 实际取到什么,最后分别判断地图与页面的终态。这样即使问题仍在等待,也知道哪些已经查清,哪些还没有。