内容下线在站点运营里很常见:活动结束、商品下架、栏目合并,都会留下一批不再维护的 URL。对运营来说这只是删掉一个页面,对蜘蛛来说却是另一回事——它记住的是地址和上次抓到的内容,下一次访问才会知道这个页面发生了变化。
蜘蛛再访时,先看响应状态
当蜘蛛再次请求一个已经下线的地址,服务器返回的状态码决定了它接下来怎么做。常见的几种处理方式,效果并不一样:
- 404:页面不存在。适合临时下架、可能恢复的内容,也适合结构上已经不再使用但外链较多的地址。
- 410:页面已永久移除。语义比 404 更明确,适合确定不会再上线的地址。它不会让蜘蛛立刻清空记录,但能减少反复回访的意愿。
- 301:永久跳转到新地址。只有当新旧页面内容高度对应时才用,比如文章改版后换了一个 URL。
- 200 空页面:最容易被忽略的一种。页面还能打开,但正文没了、只剩模板壳,蜘蛛会把它当作可用页面继续抓取,这类地址往往长期占着抓取份额。
为什么下线之后还会被反复访问
蜘蛛不会主动记住某个地址已经作废,它靠的是重新访问。如果站内仍然留有指向该地址的链接,蜘蛛就会顺着这些入口一次次回来。常见的原因有几类:
- 导航、面包屑、侧边栏里还挂着旧链接;
- 列表页、归档页、相关推荐模块没有同步更新;
- Sitemap 里仍然保留了已经下线的 URL;
- 站内搜索、标签页等动态入口还在生成这些地址。
这些入口不清理,状态码改成 404 也只能减少一部分回访。抓取路径上的入口比状态码更靠前。
清理顺序:先断入口,再改状态
比较稳妥的做法是按下面的顺序处理,避免蜘蛛在改动过程中抓到一半旧结构、一半新结构:
- 先确认这批 URL 是真的要下线,还是只需合并到其他页面;
- 从导航、列表页、推荐位、标签页中移除指向它们的链接;
- 更新 Sitemap,把下线地址从中去掉,不要只留一个长期不更新的旧文件;
- 根据内容情况设置 404、410 或 301,并保持状态稳定,不要今天 404 明天 200;
- 观察一段时间服务器访问记录,确认这些地址的访问量是否在下降。
跳转不要都指向首页
下线页面统一 301 到首页,看起来省事,但蜘蛛会认为大量不同地址最终都指向同一个页面,容易和重复内容混淆,也不利于判断哪些旧地址可以放弃。更常见的做法是:有对应内容的,跳到最相关的那一页;没有对应内容的,直接 404 或 410。
跳转的目标越具体,蜘蛛越容易理解这次变动;目标越笼统,越容易变成一批长期存在的模糊入口。
Sitemap 与站内搜索也要同步
Sitemap 是 URL 发现的重要来源之一,但它只是入口之一,不是唯一的真相。如果 Sitemap 里还列着大量已经下线的地址,蜘蛛会按图索骥去访问,然后拿到 404。短时间问题不大,长期如此会让 Sitemap 的可信度下降。站内搜索、标签聚合这类自动生成页面的地方,也要确认不会把已下线的 URL 重新吐出来。
服务器层面别留下异常
下线处理中还容易遇到服务器侧的问题:页面文件删了,但路由规则没改,返回 500;或者返回一个 200 的空白模板。前者会让蜘蛛把地址当作暂时故障,之后反复重试;后者则可能被当成正常页面。改动前后最好检查一下响应头和状态码,确保返回的是预期结果。
收尾检查清单
- 下线地址的状态码是否稳定、是否符合内容实际情况;
- 站内是否还有指向它们的链接,包括列表页和推荐模块;
- Sitemap 是否已经同步更新;
- 跳转目标是否与旧页面主题相关;
- 访问日志中这些地址的抓取次数是否在逐步减少。
页面下线不是一次性的动作,而是一段收尾过程。把入口、状态码和站点地图放在一起处理,蜘蛛才能逐步把注意力转移到真正还在维护的页面上。