404 不是故障,而是网站长期运行中必然出现的一部分。栏目调整、内容下线、外链失效,都会留下打不开的地址。差别在于结果:有的站把 404 做成一条死胡同,访客转身离开,蜘蛛也不再回来;有的站把 404 做成一个中转站,访客能找到替代内容,蜘蛛还能顺着链接继续爬。
404 页面本身要过关
先确认技术层面没走偏。页面必须返回 404 状态码,而不是 200。不少建站程序默认把 404 模板输出成 200,等于告诉搜索引擎这个地址是正常的,只是内容有点奇怪,时间一长会积累出大量低质页面。
- 状态码正确:返回 404,内容确认永久下线时可用 410,不要返回 200 或 302。
- 不要自动跳首页:用脚本把 404 弹回首页,访客会困惑自己是不是点错了,本质上也接近一种软跳转。
- 给出明确出口:首页链接、主要栏目入口、站内搜索框,三样里放两样就够。
- 文案克制:说明页面不存在或已下线,配一两条相关推荐,不必写长篇道歉。
- 保持全站一致:导航和页脚照常保留,别让 404 变成孤岛。
死链通常从哪来
死链不会凭空出现,来源基本集中在几处:
- 改版时删掉栏目或合并目录,旧地址没有做跳转。
- 内容因合规、时效等原因下线,只删了页面没留替代路径。
- 外部链接指向的历史地址,自己这边早已改版。
- 正文里写错的链接,或大小写、结尾斜杠不一致的路径。
- 分页、筛选参数产生的临时地址被外部引用。
其中改版带来的数量最大,也最容易在事后才被发现。
怎么把死链找出来
不用等访客反馈。几个相对稳定的来源可以定期看:
- 服务器日志:筛出状态码为 404 的请求,按路径去重,再按出现次数排序。
- 搜索控制台:关注 404 与软 404 报表,留意哪些地址被反复抓取。
- 站内爬取:用爬虫工具从首页出发跑一遍,导出所有 4xx 地址。
- 外链数据:检查指向本站的外部链接里,有没有已经打不开的。
把结果整理成一张表,字段至少包括原地址、来源、出现次数、是否有替代页面。
处理流程
发现之后不要急着全部 301 到首页。按下面的顺序判断:
- 有对应新页面:做单层 301,指向内容最接近的那一个,不要串成多级跳转。
- 内容彻底不需要:保持 404 或返回 410,明确告知已消失,比强行跳首页更干净。
- 属于站内死链:直接修改正文中的链接,换成有效地址或删掉。
- 是外部链接指向的旧地址:能恢复内容就恢复,不能恢复就保持 404,不必为一条外链专门造页。
- 记录变更:把处理方式和日期写进改动记录,下次改版前先查一遍。
404 本身不会拖低站点质量,被包装成 200 或一律跳首页才容易出问题。
定期复查
建议把死链检查放进月度例行事项:每月跑一次站内爬取,每周扫一遍日志里的 4xx。如果数量突然上升,往往意味着某次改版或某个模板出了问题。把这个数字记下来,比事后靠访客投诉去猜要省事得多。
死链治理不需要一次做完,但需要有人持续跟进。访客撞上 404 时能找到下一步,蜘蛛进来时不会掉进空页面,这件事就算做够了。