站点跑久了,总会留下一些指向不存在地址的链接。它们可能是栏目调整的残留,也可能是旧文章删除后没人清理的内链。对用户来说,点进去是一个打不开的页面;对搜索引擎蜘蛛来说,是一次没有结果的往返。死链本身不致命,但当它积累到一定数量,就会持续消耗抓取预算,也会让蜘蛛对站点结构的判断变得模糊。
死链一般从哪来
- 栏目合并或改名,旧列表页地址还留在导航和文章里
- 文章下线、商品下架后没有做任何处理
- URL 规则改版,比如去掉日期目录、改结尾斜杠
- 外部网站撤稿或换域名,出站链接变成死路
- 模板生成的空链接,未填写的字段输出了空地址
- 大小写、参数顺序、结尾斜杠不一致,被当成另一个地址
自查可以从这几个入口开始
- 服务器访问日志,筛出状态码 404、410 的请求,按出现次数排序
- 搜索资源平台的抓取错误报告,看蜘蛛实际碰到过哪些地址
- 用站内爬虫把自己站跑一遍,只跟内链,记录哪些链接返回错误
- Sitemap 里的地址逐个抽查,别让清单本身带着死路
- 站内搜索、面包屑、页脚这些高频位置手动点一遍
404、410 还是 301,先分清楚
内容有对应的新地址,用 301 指向最相关的页面,而不是一律跳首页。内容确实下架,用 404 或 410 明确告诉蜘蛛这里没有了,410 的语义更干脆一些。最怕的是错误页返回 200,看起来还活着,实际点不出任何内容,这会让蜘蛛反复来、反复空手。
404 页面本身也要做出路
- 状态码保持 404 或 410,不要用 200 伪装
- 给出主要栏目入口和站内搜索框,让用户能继续走
- 不要设置自动跳转或倒计时强制跳首页
- 不要在这个页面上堆大量推广内容或弹窗
处理完之后的收尾动作
- 从 Sitemap 中移除已经不存在的地址
- 更新内链、导航、相关推荐,把流量导向有效页面
- 批量下线内容时集中处理,避免零散遗留
- 保留监控,观察同一批死链是否再次出现
- 把死链巡检放进月度或季度的例行清单
死链的真正成本不是那一次 404,而是蜘蛛每次路过都要重新判断一遍这个地址还有没有价值。
死链不可能完全消灭,站点只要还在更新,就会不断产生新的失效地址。能做的是把巡检变成习惯:日志和抓取报告定期看,内链和 Sitemap 定期核,处理方式按有替代、无替代两类分别对待。把这几件事做顺,蜘蛛在站内走的路才不至于越走越窄。