先不要急着判定“被降权”或“被屏蔽”。同一服务器网站上,同一个 URL 因设备或登录状态返回不同内容,最常见的原因有两类:一类是服务端按请求特征做了差异化输出,另一类是缓存或会话把不同版本串在了一起。要对照,关键不是看谁“正确”,而是先证明差异确实由请求条件触发,并且能被稳定复现。
主动分流指服务端根据 User-Agent、Cookie、登录态、地域或客户端提示,返回不同 HTML。缓存串版指源站本意只有一份内容,但中间缓存、CDN 或本地浏览器把某个版本错误地复用给了另一个请求。两者都会表现为“换个设备就不一样”,但处理方向完全不同。
判断主动分流,可以观察差异是否与某个请求头强绑定:同一设备清空 Cookie 后是否回到未登录版本;同一 Cookie 换网络是否仍得到相同版本;差异是否只出现在特定路径或特定模板。判断缓存串版,则要看同一请求条件在短时间内是否反复跳变,以及响应头中的缓存标识、Age、Vary 等是否与预期一致。这里要说明一个限制:请求量或抓取量突然归零,并不能单独证明是缓存问题,也可能是日志采样、权限过滤或统计口径变化。
缺少完整数据和权限时,仍可执行一个最小动作:对同一路径做四组请求,每组只改变一个条件。下面用假设例子说明方法,不代表真实项目结果。
每组都记录状态码、重定向链、响应头中的缓存与内容协商字段,以及正文里一段不会因广告或推荐位变化的文本。这样做的结果是:如果差异只跟随登录态,说明服务端在做会话分流;如果差异跟随设备或网络而非账号,缓存或边缘节点的嫌疑更大。下一步就不再是盲目清缓存,而是针对被锁定的一类原因去查。
可区分的证据通常不是“页面看起来不同”,而是请求条件与响应之间的稳定对应关系。可以优先看这几项:
这些证据只能缩小范围,不能直接推出“搜索引擎看到的就是某个版本”。搜索引擎抓取通常不带登录 Cookie,但不同爬虫的 User-Agent、IP 段和渲染能力仍需分别核查。robots.txt 的抓取限制不等于可靠的索引移除;站点地图也不保证收录。若差异涉及 HTTPS,HTTPS 本身不保证安全无漏洞或排名。
如果确认是主动分流,重点应放在让未登录版本保持可抓取、可渲染、与登录版本的核心内容一致,而不是强行让所有设备看到同一份 HTML。如果确认是缓存串版,重点应放在修正 Vary、缓存键和边缘规则,而不是改正文关键词。一个实际动作是:先固定一组请求条件,保存响应头和正文快照,再只改一个缓存或会话配置,重复同一组请求。若差异消失且未登录版本稳定,下一步才适合扩大验证范围;若差异仍在,说明原先锁定的原因不成立,应回到请求条件对照,而不是继续叠加改动。
最后要保留一个边界:在缺少服务端配置和完整日志时,你只能证明“某个请求条件下返回了某个版本”,不能证明搜索引擎实际收录了哪个版本,也不能证明排名变化由该差异单独造成。把可复现的对照结果交给有权限的人,比在外部反复猜测更接近可执行的下一步。