先不要急着把差异归因于收录异常。更常见的情况是:同一 URL 在未登录桌面端、已登录桌面端、移动端或不同地区节点上,服务端返回的 HTML 并不相同,而收录工具抓到的只是其中一种版本。此时应做的对照不是“哪个结果更准”,而是先确认差异来自内容协商、登录态、地区重定向还是缓存,再决定保留哪个版本作为判断基准。
设备与登录状态会同时改变请求头、Cookie 和 IP 归属,变量太多时无法对照。最小动作是固定其中两项,只改一项:例如固定同一网络出口和同一浏览器,只切换登录与未登录;或固定登录状态,只切换桌面与移动 UA。每次请求都记录完整 URL、UA、是否携带 Cookie、返回状态码和响应体前若干行。
这样做的结果是,你能把“内容不同”拆成可归因的差异,而不是笼统地认为页面有两个版本。如果切换登录态后正文段落增减,说明差异来自服务端对身份的识别;如果只有 UA 变化就出现不同模板,说明差异来自内容协商或前端条件渲染。下一步才有意义:前者要判断登录态版本是否应被外部抓取,后者要判断移动版是否与桌面版语义一致。
区分方法不是看页面“像不像”,而是看响应头与响应体是否随单一变量变化。若响应头里出现 Vary,且值包含 User-Agent 或 Cookie,说明服务端明确按这些维度区分缓存,后续对照必须把这些维度纳入记录。
缺少完整日志或后台权限时,仍可做一张手工对照表:同一 URL,分别用未登录桌面、未登录移动、已登录桌面三种条件请求,记录状态码、标题、正文首段、主要内链数量、是否有 noindex。这张表不依赖任何平台后台,只依赖你实际收到的响应。
根据结果做取舍:
noindex 或 robots.txt 限制。需要提醒的是,robots.txt 的抓取限制不等于可靠的索引移除。即使某版本被 robots 规则挡住,已存在的索引记录仍可能保留一段时间;反过来,解除限制也不代表会立刻重新抓取。
假设某页面在未登录桌面端返回完整正文,在已登录桌面端只返回登录提示。你能得出的结论是:服务端对登录态做了区分,登录态响应不适合作为公开内容样本。你不能得出的结论是:该地址一定未被收录,或一定被降权。登录提示页与公开页可能是同一 URL 的不同响应,收录工具抓到哪一个,取决于它发送的请求条件。
同样,若某地址在移动端返回精简版,而桌面端完整,你只能判断两个版本的可见内容不同,不能仅凭此推断移动端版本会被单独处理。不同搜索引擎对移动优先、内容协商和重定向的支持情况须分别核查,不能用一个平台的表现替代另一个。
可执行的最小动作是:先保存一份未登录桌面端的响应快照,再保存一份移动端响应快照,标注请求时间、UA 和是否携带 Cookie。之后任何改动都对照这两份快照,而不是对照记忆中的页面样子。如果后续发现移动端缺失正文,优先修复内容输出;如果发现登录态版本被外部抓取,优先检查服务端是否对非登录请求返回了正确版本。对照的目的不是证明谁对谁错,而是让下一步动作有可复查的依据。