站点运营

站点运营:404 页面自查,别让错误页把访客和蜘蛛一起送走

404 不只是“页面不存在”的提示,它是访客和蜘蛛都会撞上的岔路口。本文从状态码、页面内容、出口引导、日志观察几个角度,梳理一份可执行的 404 自查清单,帮你把错误页从死胡同改成有出口的引导页。

站点运营

站点运营:404 页面自查,别让错误页把访客和蜘蛛一起送走

很少有人在站点运营的检查清单里给 404 页面留位置。但它是访客和搜索引擎都会撞上的页面:旧链接、拼错的地址、被删掉的栏目、外部站点引用的失效 URL,最后都落在这一页上。这一页做得好不好,直接决定访客是继续浏览还是直接关掉标签。

先把三种“找不到”分清楚

  • 标准 404:服务器返回 404 状态码,页面给出提示和出口。这是正常且健康的状态。
  • 软 404:页面看起来是“内容不存在”,但状态码返回 200。访客看不出问题,抓取端却会把它当成正常内容处理,时间一长就是一堆低质页面。
  • 301 与 410:页面只是换了地址,应该用 301 指到新地址;内容确实永久下线且不再有替代,410 比 404 更明确。

很多站点的麻烦不是“404 太多”,而是“该 404 的返回了 200,该 301 的返回了 404”。

一次可执行的 404 自查

  1. 抽查状态码。随机挑十几个不存在的地址,用命令行或浏览器开发者工具看响应头,确认返回的是 404 而不是 200。
  2. 检查错误页是否被索引。在搜索引擎里搜站点域名加上“页面不存在”之类的提示语,如果错误页本身被收录,说明状态码或 meta 有问题。
  3. 统计日志里的 404 来源。把服务器日志中状态码为 404 的记录按 URL 聚合,看哪些地址被反复请求、来源是站内还是站外。
  4. 区分可修复和不可修复。站内链接指向的 404 属于自家问题,优先修;外部引用的老地址,能重定向就重定向。
  5. 看错误页的出口。页面上是否还有导航、搜索框、热门内容入口,访客有没有办法继续走下去。
  6. 确认 robots 与站点地图没有冲突。不要把 404 地址写进 sitemap,也不要让 robots.txt 挡住整站后再指望错误页被正常处理。

错误页面本身应该包含什么

  • 一句人话说明:地址可能输错、内容可能已下线,不要只丢一串代码。
  • 返回首页、栏目页或相关内容的链接,最好和访客原本想找的主题相关。
  • 站内搜索框,让人可以自己找。
  • 与全站一致的头部和底部,不要让访客以为跳到了别的网站。
  • 如果站点有联系方式,可以顺带放上,方便反馈失效链接。

不必把 404 页做得花哨,它的核心任务是“承认找不到”并“给出下一步”,而不是硬塞促销或大段自我介绍。

从日志里看 404 都在哪里发生

把 404 记录按路径分组,通常会看到几类:图片、CSS、JS 等静态资源缺失;被删除的栏目页;参数或大小写不一致产生的变体地址;以及被外部站点大量引用的老文章。前几类往往是一处改动留下的尾巴,修一次能消掉一大片。变体地址则要考虑统一规则,避免同一份内容因为大小写、结尾斜杠不同而各自为战。

提示:日志里短时间出现大量陌生地址的 404,先别急着逐条处理,看看是不是爬虫在试探或有人在扫描,判断清楚再决定要不要拦。

别把 404 藏起来

有些站点为了“好看”,把所有错误都重定向到首页,或者用 JavaScript 跳转。短期看访客没看到错误页,长期看却让抓取端分不清哪些地址真的没了,旧地址的传递也交代得不明不白。诚实地返回 404,同时提供清楚的出口,通常比掩盖错误更有价值。自查不必一次做完,先把站内链接造成的 404 清一轮,再逐步处理外部引用和变体地址,就已经能改善不少。