一个页面从 A 跳到 B,再从 B 跳到 C,最后才落到真正的内容上——这种链路在域名切换、栏目改版、服务器迁移之后特别容易出现。对用户来说只是多等半秒,对蜘蛛来说却是每次抓取都要重复走一遍的弯路,抓取预算被吃掉,信号也在中间层被稀释。
跳转链为什么容易被忽视
因为单看一条链接是「能打开」的。运营点开链接,页面正常显示,就默认没问题了。但跳转是发生在服务器层面的,肉眼看不到中间经过了几站。等到日志里 3xx 比例升高、收录地址混乱时,问题已经积累了几个月。
常见的跳转来源
- 协议与主机名不统一:http 跳 https、不带 www 跳带 www,如果站内链接没有同步更新,每一次点击都要多走一跳。
- 末尾斜杠与大小写:同一路径的不同写法互相跳转,还容易和 canonical 声明的地址打架。
- 栏目改版留下的旧地址:只换掉了导航入口,正文里的老链接、外部引用的老链接都还指向旧路径。
- 临时跳转被当永久用:302、307 挂在页面上好几年,最终地址一直定不下来。
- 插件或 CDN 规则叠加:每条规则单独看都合理,叠在一起就形成两三跳,甚至互相指向。
自查怎么做
- 用 curl -I 或浏览器网络面板,对重点 URL 逐条查看状态码与 Location,记录跳转次数。超过一跳的地址单独列出来。
- 把跳转的最终地址、页面上的 canonical、Sitemap 里登记的地址三者对齐,只要不一致,先统一到同一个版本。
- 抽查服务器访问日志里的 3xx 记录,按出现次数排序。高频的那几条,通常就是站内链接没改干净的位置。
- 确认是否存在 A→B→A 的循环跳转,以及跳到 404 或软 404 的断头链路。
临时跳转要给出期限
如果确实因为活动、灰度需要临时跳转,最好在备注里写清回收时间,活动结束就改回 301 或直接取消。长期挂着 302 的页面,等于告诉搜索引擎「这里还在变动」,不利于地址稳定。
治理思路
- 能一跳解决就不要两跳:旧地址直接 301 到最终地址,不要先跳到中间页再跳一次。
- 站内链接一律写最终地址:导航、面包屑、正文内链、分页链接都改成跳转后的目标,别让用户和蜘蛛每次都走一遍。
- 把跳转映射记录下来:改版时整理一份旧地址到新地址的对照表,方便后续复查,也避免不同的人重复加规则。
- 定期回归:改版后的头一两个月,每月抽查一次重点页面的跳转层级,之后可按季度执行。
跳转本身不是问题,问题在于中间层没人管。每多一层,信号和耐心就多损耗一分。
小结
重定向链属于那种「不出事就没人看」的维护项。把它纳入常规自查,重点做三件事:把链路收敛到一跳、让站内链接直指最终地址、把跳转规则记录下来定期回归。做完这些,蜘蛛走过的路径会更短,落地页也更明确。