先把“同一地址”拆成两个可独立控制的变量:设备类型与登录状态。不要用一台设备、一种登录状态的结果去否定另一种,而应把四种组合都跑一遍,记录每组的最终状态码和最终落地地址,再判断差异来自重定向、权限还是缓存。下面给出两种对照策略的适用条件与取舍。
并排抓取适合需要一次性比对四种组合、且你手上有多个可控环境的情况。分轮复现适合只能拿到一种设备或一种登录状态、但可以反复触发同一路径的情况。判断依据不是工具强弱,而是你能固定住哪些变量:如果设备和账号都能固定,选并排;如果只能固定其中一个,选分轮,否则差异会混在一起。
实际操作上,先为每种组合建一条记录,字段至少包含:组合标识、请求地址、最终状态码、最终URL、响应中是否出现登录页或错误页特征、记录时间。不要只记“死”或“活”,因为返回200也可能是登录页或占位页,返回302也可能只是跳到了另一个可用地址。
设备差异常被笼统归为“手机和电脑不一样”,但真正影响结果的可能只是User-Agent、视口宽度、是否支持某种跳转脚本中的一项。对照时先固定登录状态,再分别用桌面UA和移动UA请求同一地址,观察状态码与最终URL是否分叉。
假设某地址在桌面返回200,在移动UA下返回404,且关闭脚本后移动端仍404,那么可以暂时排除前端脚本,把排查范围缩到服务端路由或CDN规则。这个判断会直接决定下一步是查配置还是查页面代码。
登录状态带来的差异通常有三种可区分的原因:未登录被重定向到登录页;已登录但无权限返回403或404;同一地址因缓存对两种状态返回了同一份内容。对照时固定设备,只切换登录状态,记录状态码和最终URL。
这里要说明一个例外:如果站点使用前端路由,服务端可能对所有路径都返回200,再由前端决定显示404。此时状态码无法单独证明链接是否有效,必须结合页面内是否出现“未找到”特征来判断。
当多个角色对“这个地址是不是死链接”有不同结论时,不要争论,先统一记录格式。每条记录写清组合、请求地址、最终状态码、最终URL、页面特征、记录时间,并注明是否清除了缓存、是否携带登录凭证。这样任何一方都能按同样条件复跑。
一个实际动作是:先只跑未登录加桌面这一组,得到基线;再跑另外三组,只记录与基线不同的字段。差异字段就是下一步要查的对象。如果四组结果完全一致,说明设备与登录状态不是变量,应转向地址本身、服务端路由或上游配置。若只有登录状态造成差异,下一步查权限规则;若只有设备造成差异,下一步查UA分支或移动端路由。
抓取量或某个状态码统计归零,不能单独证明死链接已被正确处理。它也可能是抓取预算变化、屏蔽规则生效、或统计口径调整的结果。robots.txt限制抓取不等于可靠的索引移除,站点地图也不保证收录。HTTPS不保证页面无漏洞或一定获得排名。不同搜索引擎对同一状态码和跳转的处理可能不同,需要分别核查。
因此,对照的终点不是“某工具说是404”,而是四组条件下最终URL和页面特征都能被另一人复现。复现成功,分歧就转成了可核对的项目记录;复现失败,说明还有变量没固定住,应继续缩小条件而不是直接改链接。