同一地址在不同设备或登录状态下返回不同内容,通常不是收录平台本身出错,而是站点按 UA、Cookie、会话或地域做了差异化输出。要对照这种分歧,先把“谁在什么条件下看到什么”变成可复现的两条记录,再逐项比对响应头、正文片段和跳转链。
匿名抓取(无 Cookie、无登录态、常见爬虫 UA)和已登录会话(带会员 Cookie、个性化推荐或地区偏好)是两个不同的输出面。若收录平台以匿名身份抓取,而运营人员用登录账号查看,看到的商品价格、库存、活动入口甚至页面标题都可能不同。此时不要急着判定“收录错了”,而要先确认双方请求是否落在同一输出分支。
选择依据:如果分歧只出现在登录后可见的模块,优先按“登录态差异”处理;如果匿名访问也出现差异,则更可能是设备识别或缓存层在起作用。
把地址拆成可核对的请求记录。以下动作按顺序执行,每一步的结果决定下一步:
Vary、Cache-Control、Set-Cookie 和状态码。Vary: User-Agent 或 Vary: Cookie。有 Vary 说明站点主动声明了按该维度分流,属于预期行为;没有 Vary 却返回不同内容,则要怀疑 CDN 缓存键或边缘规则。动作结果如何影响下一步:如果 Vary 明确指向 UA,后续核对就应以“收录平台使用的 UA 是否落在期望分支”为重点;如果 Vary 缺失但内容不同,下一步应检查缓存键配置和回源规则,而不是继续比对正文。
多个角色对同一事实理解不同时,用一张对照表代替口头争论。表里至少包含:请求身份(匿名/登录)、UA 或设备类型、响应状态码、首屏标题与价格片段、是否出现跳转。每个角色只填自己实际观察到的行,不写推断。
假设的例子:同一商品页,匿名请求返回标题 A、价格 100;登录请求返回标题 B、价格 90。若匿名请求的响应头含 Vary: Cookie,则两者本就是不同输出面,收录平台抓到的匿名版本不构成“错误”。若匿名请求也返回标题 B,而运营在另一台设备匿名访问返回标题 A,则差异更可能来自缓存或设备识别,需要按缓存键排查。
抓取限制、站点地图和协议本身都有适用边界。robots.txt 的抓取限制不等于可靠的索引移除;站点地图不保证收录;HTTPS 不保证安全无漏洞或排名。请求量、抓取量或某项统计归零,也不能单独证明差异化输出已被修正,它还可能来自抓取频率调整、缓存命中变化或统计口径切换。
不同搜索引擎对 UA、Cookie 和 Vary 的支持情况须分别核查,不能把在一个引擎观察到的分支行为直接套到另一个引擎。若涉及具体平台的后台入口或功能存续状态,应以该平台当前公开说明为准,不凭记忆断言。
对照的终点不是“谁对谁错”,而是形成一条可复查的请求记录:同一地址在匿名与登录、设备 A 与设备 B 下分别返回什么,差异由哪个响应头或缓存规则解释。只有这条记录稳定复现,后续的修复或收录核对才有共同事实基础。