检查永久重定向之前,先把源地址、目标地址、预期状态码、跳转层级和验证工具这五类信息准备好,再动手测试。缺少任何一项,都可能导致把正常跳转误判为故障,或者把临时跳转当成永久跳转处理。
要查什么:每个需要检查的旧地址,以及它应当指向的新地址。怎么查:从站点地图、历史链接记录、旧版导航或内容管理系统里导出地址清单,逐条对应目标地址。结果说明什么:如果源地址和目标地址一一对应,后续只需验证跳转是否正确;如果出现多个旧地址指向同一新地址,要确认这是有意合并还是配置错误。
适用条件:适用于改版、换域名或合并栏目后的跳转检查。判断结果时注意,源地址带参数、带大小写差异或带结尾斜杠时,可能被服务器视为不同地址,需要分别记录。
永久重定向在 HTTP 层面通常对应 301 或 308。检查前要明确:这条规则预期返回哪个状态码。怎么查:用浏览器开发者工具的网络面板,或命令行工具查看响应头中的状态码。结果说明什么:返回 301 表示永久重定向;返回 302 或 307 表示临时重定向,不应作为永久方案;返回 308 表示永久重定向且保留请求方法,适合非 GET 请求场景。
如果状态码是 200,说明目标地址直接返回了内容,没有发生跳转;如果是 404,说明目标地址不存在或规则未生效。这些都需要回到配置中核对。
要查什么:从源地址开始,经过几次跳转才到达最终页面。怎么查:用命令行工具跟踪完整跳转链,或逐条访问并记录每一步的地址和状态码。结果说明什么:理想情况是一次跳转直达最终地址。如果出现 A 跳到 B、B 又跳到 C,说明存在跳转链。跳转链越长,越容易在中间环节丢失参数或产生循环。
适用条件:当站点同时存在旧域名、旧目录和旧参数规则时,跳转链更容易出现。判断结果时,如果最终落地地址与预期目标不一致,优先检查是否有其他规则覆盖了当前规则。
检查前需要准备以下工具和检查项:
结果说明什么:工具准备齐全后,可以按清单逐条执行,把实际结果与预期结果对照。如果某条地址的实际状态码、落地地址或参数保留情况与预期不符,就记录为待修复项。
检查永久重定向时,不要把 robots.txt 的抓取限制当成索引移除手段。robots.txt 可以限制爬虫抓取某条路径,但不等于该地址会从索引中消失。站点地图也不保证收录。如果目标是让旧地址不再出现在搜索结果中,永久重定向是常见做法之一,但仍需分别核查不同搜索引擎的实际处理情况。
适用条件:当旧地址已经被搜索引擎收录,且你希望用户和爬虫都到达新地址时,使用永久重定向。判断结果时,以实际响应状态码和最终落地地址为准,不要仅凭配置文件中的规则文本下结论。
下一步:按上面的清单逐条测试,把实际状态码、跳转链和最终地址记录下来,与预期值对照,先修复状态码错误和跳转链过长的问题。