网站收录

删掉页面之后:404、410 和 301 在收录上的差别

页面下架、栏目合并或活动结束后,原 URL 该返回什么状态,会直接影响索引里那条记录的去留。这篇文章把 404、410、301 三种处理方式的适用场景讲清楚,也点出统一跳首页、软 404 这类常见误用,并说明删页后 sitemap 与内链该怎么同步清理。

网站收录

删掉页面之后:404、410 和 301 在收录上的差别

页面下架、栏目合并、活动结束,都会遇到同一个问题:那个 URL 该返回什么状态。看起来只是技术细节,但它会直接影响蜘蛛怎么理解“这个地址还在不在”,进而影响索引里那条记录的去留,以及蜘蛛后续怎么安排爬取。

先把两件事分开:从导航里拿掉,和从索引里移除

不少人的做法是先把链接删掉、页面文件删掉,就当处理完了。但对搜索引擎来说,页面的状态由 URL 本身返回的响应决定,而不是由“你有没有在站内链接它”决定。

只要那个地址还能返回 200 和正常内容,它就可能继续留在索引里。所以删页面的动作实际上包含两步:让 URL 返回一个表示“不在了”的状态码,然后等蜘蛛重新访问并更新索引。第二步你控制不了速度,第一步你完全可控。

404 和 410:都表示页面没了,但明确程度不同

404 是最常用的。它表示服务器找不到这个资源,但这个状态本身带有“暂时说不准”的意味——可能是路径写错了,过段时间又回来了。

410 则更明确:资源已经永久移除,不会再提供。从语义上它比 404 更干脆,蜘蛛处理起来也少一些犹豫。实践中两者的移除速度差别通常不大,但如果页面确定不会回来,比如下架的商品、已经结束的报名页,用 410 表达得更清楚。

需要注意,两个状态码都要求返回真实的对应响应,而不是返回 200 的页面里写一句“页面不存在”。后者会变成下面要说的软 404。

用 301 承接流量,但要指向真正相关的页面

页面消失后直接 404,会丢掉原有的访问和权重传递,所以更常见的做法是 301 到新地址。这里有两个容易出问题的地方。

别把所有删掉的页面都 301 到首页

把大量不相关的老页面统一跳到首页,是一种典型的软 404。用户点进去看到首页,找不到原本要找的东西,会立刻返回。蜘蛛也会发现这个跳转和原内容毫无关系,最终仍然可能把这条记录去掉,只是绕了一圈。

更合理的做法是 301 到内容最接近的页面,比如下架商品跳到同类目或替代款,合并的栏目跳到新的栏目页。如果实在没有相关目标,直接 404 或 410 比硬跳首页更诚实。

跳转链条尽量短

A 跳到 B、B 又跳到 C,这种链条会延长蜘蛛理解地址的时间。改版或多次调整后容易出现这种情况,值得在日志或抓取工具里抽查一遍,把中间环节去掉。

软 404:状态码 200,内容却在说“没有”

软 404 指的是页面返回 200,但内容其实是空页、错误提示,或者只剩一个模版框架。它常出现在几种场景:程序出错时仍然输出 200;筛选条件组合后没有结果;内容已经删除但页面模版还在。

这类页面的麻烦在于它看起来“正常”,蜘蛛会当作有效页面处理,于是要么长期留在索引里,要么被反复抓取却始终没有价值。排查时可以留意服务器日志里那些响应 200、但返回字节数很小的 URL,通常能挖出一批。

删页之后,还要配合做的几件事

  • 把已删除的 URL 从 sitemap 里去掉,别一边告诉蜘蛛“这些地址重要”,一边让它们返回 404。
  • 清理站内指向已删页面的内链,尤其是导航和侧栏里的固定链接。
  • 如果站内有多条路径指向同一批废链接,一起处理,减少蜘蛛在无效地址上的往返。
  • 确认 robots.txt 没有误封这些路径。被封的地址蜘蛛看不到 404,也就无从更新索引。

大批量删页时,节奏值得留意

如果是整站改版或一次性下架上万条 URL,短时间内会出现大量 404。蜘蛛的抓取时间会被这些地址占用一部分,新内容的抓取可能因此变慢。这不是说不能删,而是可以按批次处理,先删最没有价值的,观察日志里蜘蛛对新旧地址的访问比例,再决定下一批。

状态码解决的是“这个地址还在不在”的问题,内容质量解决的是“值不值得留在索引里”的问题。前者做对了,只是让索引更准确;后者才决定页面能不能被搜到。

最后,不管选 404、410 还是 301,都建议在改动后的一两周里看一下索引状态和日志,确认蜘蛛确实重新访问了这些地址。改完就不管,往往会留下一些长期滞留在索引里的旧记录。