网站收录

页面下线之后:让旧 URL 退出索引的几个步骤

页面删除或改版换地址后,旧 URL 常常还留在索引里,用户搜到点进来是 404 或者被丢到首页。这篇按顺序梳理下线页面的处理:先判断该合并还是该消失,再选状态码、清理内链与 sitemap,最后才考虑移除工具,并说明为什么用 robots.txt 挡住通常解决不了问题。

网站收录

页面下线之后:让旧 URL 退出索引的几个步骤

页面删了、合并了、改版换地址了,过一阵子再去搜,仍然能看到旧 URL。用户点进来要么是 404,要么被丢到首页却找不到想要的内容,体验和信任都会打折扣。让旧地址从索引里退出,并不是发一个 404 就立刻完成的,中间有几个先后顺序值得理一理。

第一步:先判断这个 URL 该合并还是该消失

这一步决定了后面所有动作的方向,判断错了,后面的清理都是白做。

  • 有等价或更好的替代页面:用 301 把旧地址指向新地址,用户和权重都落到新页面上,索引会逐步替换成新地址。
  • 内容确实不再提供,也没有替代:让它返回 404 或 410,明确告诉蜘蛛这个地址不存在了。
  • 只是暂时下线维护:不要急着改成 404,保留页面并返回 503,或者干脆维持可访问状态,否则反复下线再恢复,抓取和索引状态会来回摇摆。

第二步:状态码别绕弯

决定让页面消失之后,最直接的做法就是让它返回 404 或 410。两者对搜索引擎来说都表示页面不存在,410 的表达更坚决一些,而 404 在多数场景下已经够用。真正需要注意的是两种绕弯写法:一种是返回 200 的“内容已删除”提示页,另一种是用 302 或 301 把旧地址指向首页。

返回 200 的错误提示页属于典型的软 404,蜘蛛会认为页面仍然存在,索引可能长期停在旧版本上;把无关的旧页面跳到首页,则等于用大量地址去指向同一个页面,容易被当成低价值跳转。

第三步:不要指望 robots.txt 和 canonical 帮你移除

robots.txt 拦的是抓取,不是索引。已经被收录的地址即使被 Disallow 掉,它仍可能留在索引里,只是标题和摘要信息变得不完整。更麻烦的是,被挡住之后蜘蛛抓不到页面,也就看不到页面上的 noindex。

canonical 表达的是“这两个地址属于同一个页面”,用在下线页面上并不合适。如果你确实想把旧地址合并到新页面,直接做 301 比在旧页面上写 canonical 更清楚。

第四步:站内清理要同步跟上

页面状态码改好只是对外的一侧,站内的引用不改,蜘蛛还会顺着旧链接一次次回来。

  • 找出指向旧 URL 的内链,改指到替代页面,或者直接删掉。
  • 从 sitemap 中移除该地址,避免提交明确的失效链接。
  • 检查导航、面包屑、文章相关推荐、结构化数据里的地址是否还指向旧版本。
  • 如果站内有搜索或聚合功能会自动拼出这个地址,也要一并处理,否则它会不断被重新生成。

第五步:确实需要加速时再用移除工具

搜索引擎后台一般提供移除请求,分临时和永久两类思路。临时移除相当于一个短期的遮挡,通常只维持几个月,到期后如果页面本身仍然可访问,它还是会重新出现。要让移除长期有效,前提仍然是页面本身返回 404、410,或者带有 noindex 且能被正常抓到。

这里有个容易被忽略的顺序问题:如果你先把地址写进 robots.txt 再请求移除,蜘蛛抓不到页面,也就确认不了 noindex,反而更容易长期留在索引里。合理的顺序是先让页面状态或 noindex 生效,再考虑提交移除请求。

多久能看到变化,以及怎么确认

生效时间取决于站点被抓取的频率,可能是几天,也可能是几周,没有固定值。想确认进度,可以看几个地方:用后台的 URL 检查工具查看当前状态,用站内搜索或指令查询旧地址是否还在,翻一段时间的抓取日志,看旧地址返回的状态码是否已经被蜘蛛读到。如果日志里旧地址还在被频繁抓取,通常说明站内还有入口没清理干净。

整个过程可以简单记成一句话:先把状态定清楚,再把入口清干净,最后才谈加速。跳过前面两步直接提交移除,往往只是把问题往后推一段时间。