改版或迁移时核对301重定向,核心是确认三件事:旧URL是否都能落到最合适的新URL、跳转是否保持单跳且指向最终地址、上线后旧地址是否真的返回301而不是404或302。只检查几个首页地址远远不够,必须按URL清单逐条验证。
迁移前应导出旧站可访问的URL集合,来源可以包括:服务器访问日志、站点地图、站内链接抓取结果、外链工具导出的被链接页面。把只出现在日志里、没有内链的孤立页面也纳入清单,这类页面往往最容易被遗漏。
核对时按类型分组:栏目页、内容页、标签或分页、附件与图片、带参数的旧地址。每一组都要能回答“它对应新站哪个地址”。如果某个旧页面确实不再有对应内容,也要明确是跳转到最接近的上级栏目,还是返回410,而不是放任它变成404。
常见问题不是没有跳转,而是跳转链过长或指向中间页。例如旧地址A跳到旧地址B,B再跳到新地址C,这就是两跳;理想情况是A直接301到C。跳转链会拖慢响应,也让后续维护更难判断最终落点。
检查项可以这样列:
如果发现旧地址返回302,先判断是临时测试遗留还是服务器配置写成了临时跳转;302不会像301那样稳定传递信号,长期使用会让搜索引擎继续保留旧地址。
同一路径的不同写法可能被当成不同URL:结尾是否带斜杠、路径大小写、是否带www、是否带默认端口、查询参数顺序不同。迁移时要确认这些变体是否都收敛到同一个规范地址,避免出现旧地址跳新地址、新地址又跳另一个变体的循环。
可以用一条命令批量查看响应头,把URL列表逐行传入:
curl -I -s https://example.com/old-page | head -n 5
重点看第一行状态码和Location。对带参数的旧地址,还要确认参数是否被保留或有意丢弃;如果参数承载分页、筛选等必要信息,直接丢弃可能导致内容错位。
重定向配置生效后,用同一份旧URL清单再跑一遍,记录每条的状态码与最终落点。复查至少覆盖:随机抽取的内容页、流量最高的旧页面、外链最多的旧页面、曾经有排名的栏目页。若发现404,回到服务器配置或CMS重定向规则中补上对应条目,而不是用软404页面掩盖。
同时确认robots.txt没有误封新路径,站点地图已更新为新URL。需要说明的是,robots.txt限制抓取不等于可靠的索引移除,站点地图也不保证收录;这两项只能作为辅助,不能替代301本身。
判断是否完成迁移,可以看三个结果:旧URL稳定返回301、目标新URL返回200且内容对应、站内不再出现指向旧URL的新链接。满足这三点后,再持续观察服务器日志中新旧地址的访问比例变化。
下一步:把旧URL清单整理成表格,加上“旧状态码、Location、最终状态码、最终URL”四列,逐条填写并标出异常项,再针对异常项修改重定向规则后重新验证。