搜索抓取

死链清理与抓取路线:给蜘蛛少一些死胡同

死链本身不会直接带来惩罚,但会持续消耗蜘蛛的抓取次数,尤其是挂在导航和列表页的死链。本文说明 404 与 410 的选择、无效跳转的常见形态,以及从日志出发清理死链、修复内链、更新 Sitemap 的顺序,让蜘蛛的抓取路线更顺。

搜索抓取

死链清理与抓取路线:给蜘蛛少一些死胡同

死链不会直接降权,但会消耗抓取机会

蜘蛛访问一个 URL,无论返回什么结果,都要占用一次请求。站点里死链越多,蜘蛛在这些地址上花的时间就越多,留给正常页面的抓取次数相应减少。单条死链影响有限,问题在于内链把它带到了导航、侧栏、列表页这些高频入口。

404 和 410 到底选哪个

两者都表示页面不存在。404 偏“暂时找不到”,410 更明确地告诉蜘蛛“这个地址已经永久移除”。如果页面确实不会再回来,用 410 更干脆;如果只是暂时下架、之后可能恢复,保留 404 即可。两者的区别在正式文档里有说明,但对抓取路线的影响相近:蜘蛛都会把这条链接从待抓列表里逐步剔除。

需要避免的是把 404 统一 301 跳到首页。这种做法在站内大量出现时,蜘蛛会认为这些 URL 只是换了地址,而不是消失,容易造成重复地址堆积,也容易被判定为软 404。

无效跳转的几种常见形态

  • 404 之后又 301 到栏目页,跳转链被拉长
  • 旧链接 301 到另一个同样 404 的地址
  • 用 JavaScript 做页面跳转,蜘蛛拿到的仍是原地址
  • 页面返回 200,但主体内容是“该内容已删除”
判断标准很简单:这个地址是否还有等价的替代内容。有,就 301 到那个最接近的页面;没有,就让 404 或 410 老老实实返回。

清理死链的先后顺序

  1. 从服务器日志和 Sitemap 里拉出近期的 404、410 记录,按访问次数排序
  2. 区分来源:是站内链接点出来的,还是外链或历史收录带进来的
  3. 先修站内:导航、面包屑、正文锚点、分页链接逐条核对
  4. 确有替代页面的做 301,指向内容最接近的 URL,而不是首页
  5. 确认下线的做 410 或保留 404,并从 Sitemap 中移除
  6. 改完后重新抓取受影响的入口页,确认蜘蛛拿到的状态码已更新

入口页和导航里的死链要优先处理

首页、栏目页、页脚这些位置被抓取最频繁。一条死链挂在这里,蜘蛛每次路过都会撞上,重复消耗抓取次数,还会让链接图谱看起来残缺。相比之下,深藏在旧文章里的死链优先级可以往后放。

改版下线页面时的处理方式

页面合并或栏目调整时,尽量保留原地址并 301 到对应新页面。如果整批页面整体下线,可以用 410 明确告知,而不是让它们慢慢变成 404。既不跳转又不返回错误,只是把内容抽空,蜘蛛会反复回来检查,这比直接说明更浪费资源。

把死链接检查放进日常巡检

站点持续更新,死链会不断产生。可以每月用抓取工具跑一遍站内链接,重点看状态码分布和跳转链长度,再对照日志里 404 的访问量变化。目标不是零死链,而是让死链不集中在被抓取最频繁的位置,也不形成链条。