站点运营

站点运营:404 与软 404 自查,别让蜘蛛把空页面当成内容

404 和软 404 看起来只是状态码问题,实际会影响蜘蛛对站点的判断。本文梳理真 404、假 404 与软 404 的区别、常见软 404 来源、自查位置和处理顺序,帮助站点运营者把状态码与页面真实状态对齐,减少无效抓取。

站点运营

站点运营:404 与软 404 自查,别让蜘蛛把空页面当成内容

为什么 404 值得单独做一次自查

蜘蛛每天来站点,不只是看新内容,也在确认旧链接是否还活着。如果一批链接返回 404,蜘蛛会逐渐降低对这些路径的访问频率;如果本该 404 的页面返回 200,蜘蛛会把空页面或错误页面当成正常内容收进去,浪费抓取预算,也可能影响站点质量判断。

404 本身不是错误,它只是一个状态码。真正的问题在于:该返回 404 的时候没有返回,不该返回 404 的时候却返回了。

真 404、软 404 和假 404

真 404

页面确实不存在,服务器返回 HTTP 404 状态码,页面内容给出清晰的“页面不存在”提示,并引导用户回到首页或相关栏目。这是最正常的处理方式。

软 404

页面内容已经没了,但服务器仍然返回 200,或者页面虽然显示“未找到”,状态码却是 200。蜘蛛会认为这是一个正常页面,可能反复抓取,甚至把它当成低质量内容。

假 404

页面其实存在,内容也有,但因为权限、参数、大小写、尾部斜杠等问题返回了 404。用户点进来看到错误页,蜘蛛也会放弃这条 URL。

自查时重点看这几个位置

  • 已删除的内容页:是否返回 404,还是仍然返回 200 的空壳页。
  • 栏目页与列表页:当栏目下没有内容时,是返回 404、返回 200 的空列表,还是保留并显示提示。
  • 商品或文章下架页:是否用 404、410 或 301 到新页面,状态码和跳转目标是否一致。
  • 站内搜索无结果页:是否返回 200 并生成可索引的空白页。
  • 分页超出范围:例如第 100 页没有内容,是否仍然返回 200。
  • 参数错误页:错误参数导致页面为空时,返回什么状态码。

软 404 常见的几种来源

很多软 404 不是故意做出来的,而是模板或程序默认行为。例如:

  1. 内容被删除后,系统仍然渲染详情页模板,只是正文区域为空。
  2. 分类为空时,列表页照样输出,标题和描述还是原来的栏目文案。
  3. 搜索无结果时,页面只显示“没有找到”,但 HTTP 状态码是 200。
  4. 前端路由接管后,所有路径都由同一个入口返回 200,服务端不再区分。
  5. 缓存把旧的 200 响应继续发给蜘蛛,即使后台内容已经删除。

这些情况单看页面可能不容易发现,需要结合服务器响应和日志一起判断。

处理 404 的基本顺序

先确认页面是否真的应该消失。如果内容只是换了地址,优先做 301 到最相关的新页面,而不是直接 404。如果内容确实不再提供,再返回 404 或 410。

对于软 404,需要让服务端在内容不存在时返回正确的状态码。如果站点有前端路由,至少要保证首屏返回可识别的状态,或者通过预渲染、服务端渲染把状态码传出去。

404 页面本身也要有用:说明页面不存在,给出返回首页、查看相关栏目或搜索的入口。不要自动跳转,也不要把 404 页面做成一个内容丰富的专题页,那会让蜘蛛和用户都困惑。

404 页面不是流量入口,它的任务是清楚地告诉用户和蜘蛛:这个地址没有内容。

用日志和抓取工具做一次验证

自查不能只看浏览器。可以用命令行或抓取工具请求一批典型 URL,记录返回的状态码。重点抽查:已删除内容、空栏目、无结果搜索页、超出范围的分页、带错误参数的详情页。

再看服务器日志里蜘蛛的访问记录。如果某些已经不存在的 URL 持续被大量抓取,并且返回 200,就说明软 404 还在消耗抓取资源。如果这些 URL 返回 404,但站内仍然有大量入口链接指向它们,则需要清理内链或更新链接目标。

小结

404 与软 404 自查,核心是让状态码和页面真实状态保持一致。该 404 的就返回 404,该 301 的做 301,该保留的不要误伤。把这件事理顺,蜘蛛才不用在空页面上反复确认,抓取预算也能用在真正有内容的地方。