SEO 百科

软 404

本页目录

软 404

软 404 是一种名不副实的返回结果,服务器给出的状态码是 200,页面内容却在告诉访问者这个页面不存在[2]。它属于错误页面,却披着正常状态码的外衣:引擎读到 200,会先把内容送进索引流水线,之后才根据内容判断这是一张错误页[2]。对做 SEO 的人来说,它意味着本该消失的地址继续占着索引位置,还反复消耗抓取次数。

判定标准

判定的两头是状态码与内容。Google 的定义写得直接,软 404 错误是指某个网址返回的网页告知用户该网页不存在,同时返回 200 状态代码[2]。文档还补了一句,这类页面有时是没有主要内容或内容为空的页面[2]。

判定由引擎完成,不由站长声明。当 Google 的算法根据页面内容判断这是错误页面时,会在“网页索引编制”报告里标出软 404 错误[2]。识别发生在内容这一层,返回码那一层看不出问题。

成因

第一种来源是删掉内容后没有改动返回码。CMS 的删除动作常常只清掉数据,不调整 HTTP 响应,地址还在,返回的是 200 和一句“该内容已删除”。

第二种是把不存在的地址跳到首页或栏目页。用户看到一个正常页面,引擎沿跳转取到首页内容,那个旧地址对应的内容其实早已消失。

第三种是权限与空结果。需要登录才能看的内容、搜索没有命中的空结果页,都会返回 200,内容却与用户要找的东西无关。

排查方式

排查的落点是拿回页面,把返回码与内容对起来看。

  1. 在搜索控制台的“网页索引编制”报告里筛出软 404,拿到地址清单[2]。
  2. 用抓取诊断取回某个地址,对比蜘蛛看到的返回码与网页源码,看源码里是不是错误提示[3]。
  3. 查看服务器日志,筛出返回 200 却引用错误模板的地址,找出同一批次的删改动作[4]。

修正方向

确实不存在的页面,让服务器直接返回 404,不再需要的可以返回 410[1]。内容已经有了替代页,用 301 指到替代页,不要一律指到首页。页面需要保留但不想被收录,用 noindex,也不要用一张返回 200 的错误页占位。

常见误用

第一种是以为返回 200 就能保住旧地址。内容已经是错误提示,引擎按错误页面处理,地址最终仍会掉出索引[2]。

第二种是把软 404 当成临时状态,打算以后再修。它长期占着索引位置,还不断消耗抓取次数[4]。

第三种是用脚本跳转去掩盖。跳转不改变原地址的返回码,服务器给出的仍是 200,问题照旧。

第四种是只改一处,不改同名的一批地址。删一个栏目往往带出一批同类页面,只修其中一条,其余继续以 200 的形式留在索引里。

附录

参见

参考资料

官方(境外)

  1. 《How does Yandex search work?》,Yandex Webmaster。
  2. 《HTTP 状态代码以及网络连接错误和 DNS 错误对 Google 搜索有何影响》,Google 搜索中心。

官方(国内)

  1. 《平台工具使用手册(抓取诊断)》,百度搜索资源平台,2020-08-14 更新。

第三方

  1. 《How to Fix Crawl Errors in Google Search Console》,Moz,2016-09-21。

外部链接

无。