最常见的误操作,是把“永久重定向”当成一个可以随时反悔、对排名没有副作用的开关。实际上,301、308 这类永久跳转一旦被搜索引擎处理,原 URL 的信号会逐步转移到目标 URL;如果跳错目标、反复改向或把整站跳到一个不相关页面,恢复成本远高于一次临时跳转。下面按适用条件、具体做法和验收信号说明。
永久重定向和临时重定向的差别不只是状态码数字。判断该用哪种,先问自己:这个 URL 以后还会不会恢复原内容?
301 或 308,让目标 URL 承接原地址的权重与用户。302 或 307,避免搜索引擎把目标页当成旧页的替代版本。可执行的检查:用浏览器开发者工具或 curl -I 查看响应头第一行的状态码,确认是 301、308 还是 302、307,而不是只看地址栏是否跳转成功。
robots.txt 只能限制抓取,不能可靠地把一个已收录 URL 从索引中移除,也不能完成权重转移。站点地图只提交 URL 线索,不保证收录。因此,当你希望旧地址彻底让位给新地址时,正确做法是配置服务器端永久重定向,而不是在 robots.txt 里屏蔽旧路径,或只在新站点地图里写上目标 URL。
适用条件:旧 URL 已有外部链接或搜索流量时,优先用 301/308;如果旧 URL 从未被收录、也没有外链,屏蔽抓取可以作为辅助,但仍不能替代跳转。判断结果的方法是:在搜索引擎中用 site: 查询旧 URL,若仍显示旧标题或旧摘要,说明索引尚未完成替换,需要继续检查重定向链。
每多一跳,就多一次请求和一次信号传递损耗。A 跳 B、B 跳 C 的链式重定向,应尽量压缩为 A 直接跳 C。另一个常见误操作是把大量不相关旧页全部 301 到首页,这会让搜索引擎难以判断目标页与旧页的主题关系,用户也会落到与预期不符的页面。
具体做法:
验收信号:旧 URL 返回 301/308,目标 URL 返回 200,且跳转链只有一跳。若目标页返回 200 但内容与旧页完全无关,应视为误操作,需要重新选择目标。
把 HTTP 全站跳到 HTTPS 是常见且合理的永久重定向用法,但 HTTPS 本身不保证安全无漏洞,也不保证排名提升。它的作用是加密传输和统一协议版本。配置时要注意:只保留一个规范版本,避免 HTTP 和 HTTPS、带 www 和不带 www 之间互相跳转形成循环。
检查项:访问 http:// 版本应 301 到 https:// 版本;访问带 www 的版本应 301 到不带 www 的版本,或反之,但只能有一个方向。若出现“重定向次数过多”,通常是两个版本互相指向对方,需要逐条核对服务器配置。
永久重定向生效后,搜索引擎需要时间重新抓取和处理。不同搜索引擎的支持情况须分别核查,不能因为一个引擎已更新就认为全部完成。可执行的下一步:先随机抽取 10 到 20 个旧 URL,逐一确认状态码和目标页,再在目标搜索引擎中查询旧 URL 是否仍被索引;若仍显示旧地址,检查是否有内部链接、站点地图或外链仍指向旧 URL,并逐步更新为最终地址。