站点运营

站点运营:404 自查,别让不存在的页面假装还在

页面下架、商品删除、栏目改名都会产生失效地址,但服务器给出的回答常常含糊:有的返回 200 的空壳页,有的一律跳到首页。这篇从状态码、软 404、404 页面设计和固定的巡查动作几个角度,梳理一遍该怎么查、怎么改。

站点运营

站点运营:404 自查,别让不存在的页面假装还在

页面被删掉、商品下架、栏目标题改了,这些都很常见。麻烦的地方在于,服务器不一定老老实实告诉蜘蛛“这个地址没了”。有时候它返回一个看起来正常的页面,有时候把人一脚踢到首页,蜘蛛拿到的信号就变了味道。404 自查要做的,就是把这类含糊的地方理清楚。

先分清:404、410、软 404、跳转

同样是“页面不存在”,服务器可以给出好几种回答,含义并不一样。

  • 404:地址不存在。适合临时下架、误删、外链指向了拼错的地址。
  • 410:地址曾经存在,现在永久移除,且不打算恢复。语义比 404 更明确。
  • 软 404:HTTP 状态码返回 200,但页面正文写的是“没有找到”“暂无内容”。这是最容易被忽略的一种。
  • 301 / 302 统一跳首页:把大量失效地址都丢到首页。首页本身没问题,但这些地址对应的内容确实不在了,长期这么做,等于让失效地址一直“活着”。

软 404 通常出现在哪儿

  • 站内搜索没有结果时,页面照样返回 200,只是正文写着“没有找到相关内容”。
  • 筛选、排序、分页参数越界,模板渲染出空列表,状态码依然是 200。
  • 单页应用把所有路由都交给前端,服务器对任何路径都返回同一个 200 外壳。
  • 标签页、专题页在内容被撤下后,只剩一个标题和空白列表。

这些页面本身不一定有害,但如果数量成百上千,就会让抓取预算花在空壳上。判断方法很简单:把页面里的导航、页脚、侧边栏都去掉,看剩下的正文是不是空的。

怎么查一遍

不需要复杂工具,几步就能覆盖大部分情况。

  1. 用命令行工具请求一下,或者直接在浏览器的开发者工具 Network 面板里看状态码,不要只看页面长什么样。
  2. 挑一批已经下线的地址(旧文章、旧商品、旧活动页),逐个请求,记录返回的状态码和正文长度。
  3. 翻服务器访问日志,找出返回 200 但响应体特别小的页面,这类往往是软 404 的嫌疑对象。
  4. 看站点地图和站内链接里有没有指向已删除内容的地址,发现一个改一个。

站内搜索页、参数页这类动态生成的地址,抽样即可,重点是确认“没有结果”时返回的是不是 404,或者至少是一个不进入索引的空页面。

404 页面本身也要能看

状态码对了,页面也不能是一片白屏或者默认的服务器报错。用户看到它的时候,通常已经有点着急了。

  • 一句话说清楚发生了什么,别用“错误 404”这五个字当全部内容。
  • 给出返回首页、主要栏目、站内搜索的入口。
  • 如果是内容迁移导致的,可以放一个相近内容或相关推荐的链接。
  • 不要做三秒后自动跳转首页,用户来不及看清,体验也差。
内容真的没了,就让它明确地返回 404 或 410;内容只是换了地址,就用 301 指到新地址。最怕的是两头都不做,用一个 200 的空页面糊弄过去。

可以固定下来的动作

  • 内容下架时,顺手确认一次旧地址返回什么状态码。
  • 栏目改版或 URL 调整时,把旧地址整理成一份跳转清单。
  • 每季度抽查一次站内搜索页和参数页的空结果表现。
  • 留意日志里 404 数量异常上升的时间点,往往对应着一次改版或误删。

404 不是什么需要藏起来的东西,它只是网站正常运转的一部分。把状态码和页面内容对齐,蜘蛛和用户都能少走弯路。