搜索抓取

页面下线之后:404、410 与内链清理怎么配合

页面下线不只是删掉一个文件,蜘蛛还会顺着旧入口回来。本文从响应状态、内链清理、Sitemap 同步和服务器返回几个角度,梳理下线页面的处理顺序,并对 404、410 与 301 的取舍给出判断依据,减少无效抓取。

搜索抓取

页面下线之后:404、410 与内链清理怎么配合

内容下线在站点运营里很常见:活动结束、商品下架、栏目合并,都会留下一批不再维护的 URL。对运营来说这只是删掉一个页面,对蜘蛛来说却是另一回事——它记住的是地址和上次抓到的内容,下一次访问才会知道这个页面发生了变化。

蜘蛛再访时,先看响应状态

当蜘蛛再次请求一个已经下线的地址,服务器返回的状态码决定了它接下来怎么做。常见的几种处理方式,效果并不一样:

  • 404:页面不存在。适合临时下架、可能恢复的内容,也适合结构上已经不再使用但外链较多的地址。
  • 410:页面已永久移除。语义比 404 更明确,适合确定不会再上线的地址。它不会让蜘蛛立刻清空记录,但能减少反复回访的意愿。
  • 301:永久跳转到新地址。只有当新旧页面内容高度对应时才用,比如文章改版后换了一个 URL。
  • 200 空页面:最容易被忽略的一种。页面还能打开,但正文没了、只剩模板壳,蜘蛛会把它当作可用页面继续抓取,这类地址往往长期占着抓取份额。

为什么下线之后还会被反复访问

蜘蛛不会主动记住某个地址已经作废,它靠的是重新访问。如果站内仍然留有指向该地址的链接,蜘蛛就会顺着这些入口一次次回来。常见的原因有几类:

  • 导航、面包屑、侧边栏里还挂着旧链接;
  • 列表页、归档页、相关推荐模块没有同步更新;
  • Sitemap 里仍然保留了已经下线的 URL;
  • 站内搜索、标签页等动态入口还在生成这些地址。

这些入口不清理,状态码改成 404 也只能减少一部分回访。抓取路径上的入口比状态码更靠前。

清理顺序:先断入口,再改状态

比较稳妥的做法是按下面的顺序处理,避免蜘蛛在改动过程中抓到一半旧结构、一半新结构:

  1. 先确认这批 URL 是真的要下线,还是只需合并到其他页面;
  2. 从导航、列表页、推荐位、标签页中移除指向它们的链接;
  3. 更新 Sitemap,把下线地址从中去掉,不要只留一个长期不更新的旧文件;
  4. 根据内容情况设置 404、410 或 301,并保持状态稳定,不要今天 404 明天 200;
  5. 观察一段时间服务器访问记录,确认这些地址的访问量是否在下降。

跳转不要都指向首页

下线页面统一 301 到首页,看起来省事,但蜘蛛会认为大量不同地址最终都指向同一个页面,容易和重复内容混淆,也不利于判断哪些旧地址可以放弃。更常见的做法是:有对应内容的,跳到最相关的那一页;没有对应内容的,直接 404 或 410。

跳转的目标越具体,蜘蛛越容易理解这次变动;目标越笼统,越容易变成一批长期存在的模糊入口。

Sitemap 与站内搜索也要同步

Sitemap 是 URL 发现的重要来源之一,但它只是入口之一,不是唯一的真相。如果 Sitemap 里还列着大量已经下线的地址,蜘蛛会按图索骥去访问,然后拿到 404。短时间问题不大,长期如此会让 Sitemap 的可信度下降。站内搜索、标签聚合这类自动生成页面的地方,也要确认不会把已下线的 URL 重新吐出来。

服务器层面别留下异常

下线处理中还容易遇到服务器侧的问题:页面文件删了,但路由规则没改,返回 500;或者返回一个 200 的空白模板。前者会让蜘蛛把地址当作暂时故障,之后反复重试;后者则可能被当成正常页面。改动前后最好检查一下响应头和状态码,确保返回的是预期结果。

收尾检查清单

  • 下线地址的状态码是否稳定、是否符合内容实际情况;
  • 站内是否还有指向它们的链接,包括列表页和推荐模块;
  • Sitemap 是否已经同步更新;
  • 跳转目标是否与旧页面主题相关;
  • 访问日志中这些地址的抓取次数是否在逐步减少。

页面下线不是一次性的动作,而是一段收尾过程。把入口、状态码和站点地图放在一起处理,蜘蛛才能逐步把注意力转移到真正还在维护的页面上。