网站跑得久了,总会有页面悄悄消失:栏目调整、商品下架、文章合并、外链指向的老地址失效。这些失效地址如果不处理,用户点进去看到的是默认报错,蜘蛛抓到的也是同样的结果。404 和死链治理谈不上什么高深技术,但它直接影响用户在站内的体验,也影响蜘蛛对站点结构的判断。
死链通常从哪里冒出来
- 栏目或分类结构调整,旧列表页地址没有做跳转;
- 文章被合并、删除或修改了 slug;
- 商品页、活动页有生命周期,下线后地址直接失效;
- 站内正文里残留的旧链接,改版后没人再回去改;
- 外部站点引用了你早已删除的页面;
- 测试页面或临时页面上线后被清理,但地址曾被分享出去。
前两类属于自己可控的范围,可以主动治理;后几类来自外部引用,能做的就是让它们落到一个合理的落点上。
做一次死链盘点
- 拿数据:从服务器访问日志里筛出状态码为 404 的请求,按 URL 归并,统计各自的访问次数和来源。访问量高、又确实没有对应内容的地址,优先处理。
- 找入口:站内搜索、爬虫工具或链接检查脚本,可以帮助发现“页面上还挂着、目标却已经 404”的链接。这类站内死链是最该先修的。
- 定去向:确认旧地址有没有合适的新页面。有就近的对应页,做 301;没有对应关系,就让它老实返回 404,不要统统跳到首页。
- 清理与记录:批量替换站内死链,把处理过的地址记一份清单,下次改版前先看这份清单。
404 页面本身要做成什么样
- 返回正确的状态码:页面上写着“找不到页面”,HTTP 状态码却还是 200,蜘蛛会把它当成正常内容,这属于典型的软 404。
- 给出可走的路:首页、主要栏目、站内搜索入口,至少给两三个。
- 别自动跳转:用 meta refresh 直接弹回首页,用户来不及看清,也无法判断自己想找的内容去了哪里。
- 样式与主站一致:白底黑字的裸页面容易让人怀疑是不是进错了站。
- 不要塞满推荐位:404 是纠错场景,不是流量分发场景。
410 和 404 怎么选
内容永久删除、且确定不会再恢复时,返回 410 是一种更明确的表态。不过在实践中,410 与 404 对抓取的影响差别通常没有想象中那么大,站点不必为此专门折腾。真正要避免的是:页面已经不存在,却仍返回 200,或者长时间返回 5xx。
死链治理的本质不是“消灭所有 404”,而是让用户在走错路时有一条清楚的路可走,让蜘蛛拿到明确、不含糊的信号。
容易被忽略的几个细节
- 移动端和桌面端共用一套 404 页面时,两端都看一眼;
- 404 页面不要引用已经不存在的静态资源,否则控制台一片红;
- 被大量外链指向的失效页面,可以考虑做内容相近的替代页并 301;
- 定期(比如每季度)复查一次死链清单,改版前后各做一次。
小结
死链和 404 是站点运营里最琐碎、也最容易积压的一类问题。它不需要复杂的工具链,需要的是把“盘点—判断—处理—复查”变成改版流程里固定的一步。做完之后,用户迷路的次数少了,蜘蛛在站内遇到的死胡同也少了。