SEO 百科
软 404
本页目录
软 404
软 404 是一种名不副实的返回结果,服务器给出的状态码是 200,页面内容却在告诉访问者这个页面不存在[2]。它属于错误页面,却披着正常状态码的外衣:引擎读到 200,会先把内容送进索引流水线,之后才根据内容判断这是一张错误页[2]。对做 SEO 的人来说,它意味着本该消失的地址继续占着索引位置,还反复消耗抓取次数。
判定标准
判定的两头是状态码与内容。Google 的定义写得直接,软 404 错误是指某个网址返回的网页告知用户该网页不存在,同时返回 200 状态代码[2]。文档还补了一句,这类页面有时是没有主要内容或内容为空的页面[2]。
判定由引擎完成,不由站长声明。当 Google 的算法根据页面内容判断这是错误页面时,会在“网页索引编制”报告里标出软 404 错误[2]。识别发生在内容这一层,返回码那一层看不出问题。
成因
第一种来源是删掉内容后没有改动返回码。CMS 的删除动作常常只清掉数据,不调整 HTTP 响应,地址还在,返回的是 200 和一句“该内容已删除”。
第二种是把不存在的地址跳到首页或栏目页。用户看到一个正常页面,引擎沿跳转取到首页内容,那个旧地址对应的内容其实早已消失。
第三种是权限与空结果。需要登录才能看的内容、搜索没有命中的空结果页,都会返回 200,内容却与用户要找的东西无关。
排查方式
排查的落点是拿回页面,把返回码与内容对起来看。
- 在搜索控制台的“网页索引编制”报告里筛出软 404,拿到地址清单[2]。
- 用抓取诊断取回某个地址,对比蜘蛛看到的返回码与网页源码,看源码里是不是错误提示[3]。
- 查看服务器日志,筛出返回
200却引用错误模板的地址,找出同一批次的删改动作[4]。
修正方向
确实不存在的页面,让服务器直接返回 404,不再需要的可以返回 410[1]。内容已经有了替代页,用 301 指到替代页,不要一律指到首页。页面需要保留但不想被收录,用 noindex,也不要用一张返回 200 的错误页占位。
常见误用
第一种是以为返回 200 就能保住旧地址。内容已经是错误提示,引擎按错误页面处理,地址最终仍会掉出索引[2]。
第二种是把软 404 当成临时状态,打算以后再修。它长期占着索引位置,还不断消耗抓取次数[4]。
第三种是用脚本跳转去掩盖。跳转不改变原地址的返回码,服务器给出的仍是 200,问题照旧。
第四种是只改一处,不改同名的一批地址。删一个栏目往往带出一批同类页面,只修其中一条,其余继续以 200 的形式留在索引里。
附录
参见
参考资料
官方(境外)
- 《How does Yandex search work?》,Yandex Webmaster。
- 《HTTP 状态代码以及网络连接错误和 DNS 错误对 Google 搜索有何影响》,Google 搜索中心。
官方(国内)
- 《平台工具使用手册(抓取诊断)》,百度搜索资源平台,2020-08-14 更新。
第三方
- 《How to Fix Crawl Errors in Google Search Console》,Moz,2016-09-21。
外部链接
无。