
一次访问经历三次以上的重定向,等待时间就会按照跳数进行累加,在弱网环境下首屏会多出几百毫秒;搜索引擎对于深层跳转链也会降低优先级,收录和权重传递都会受到影响。
检测是从全站遍历开始的。以sitemap为入口抓取每个地址的完整跳转路径,记录跳数、每跳状态码和目标地址,导出后按照链长排序。主要存在三种情况:http跳https再跳带www、旧栏目跳中转页再跳新页、参数页跳首页的软跳转。批量脚本运行一次就可以得到全部清单,比抽样抽查更可靠。
按照规则合并。多级跳转压成一级直达,入口层统一处理协议和主机名差异,避免代理、应用、前端三层各自写一条跳转;中转页如果没有统计需求的话就直接删掉。跳转的目标必须是可以访问的,对于指向404或者循环链的条目应该优先进行修复,因为循环跳转会使浏览器直接报错终止。
修复之后对同一批地址进行复测,链长会收敛到一跳就合格。把跳转链检测加入到季度巡检中,在域名和栏目改版之后单独运行一次,这样链路长度就不会因为维护次数的增加而悄悄上升了。
另外还有一处隐性的损耗需要注意。跳转链每增加一个跳转,Cookie和缓存校验都要进行往返,边缘节点的缓存命中率也会因为中间地址分散而降低;精简跳转可以加快访问速度,回源请求量一般也会随之减少,在流量大的站点上效果更明显。