站点上线了一批页面,抓取日志里也能看到蜘蛛来过,但等了一段时间,索引里始终没有它们。查状态码是 200,页面也能正常打开,问题往往不在抓取权限,而在于这些页面被当成了软 404。
软 404 是什么
服务器返回的是 200,页面也能打开,但页面主体没有与该 URL 主题相符的内容——只有导航、页脚和一句“暂无结果”或“内容已下架”。搜索引擎无法从中提取到有效信息,就会把它归类为软 404,按实际不存在的页面处理。
它和真 404 的区别在状态码:真 404 是明确告诉搜索引擎“这里没有东西”,软 404 是嘴上说正常、实际是空壳。对抓取来说没有报错,对索引来说同样没有价值。
为什么它比直接 404 更容易被忽略
返回 404 的页面会在工具里清楚报错,运维和编辑都能注意到。软 404 不报错,页面看起来正常,很容易被当成“抓取还没轮到”或者“新页面还在考察期”,于是一直等下去。
抓取次数多、状态码正常,都不等于内容合格。收录的前提是系统判断这个 URL 值得留在索引里。
哪些页面最容易踩到
- 站内搜索的无结果页,以及两个互相冲突的筛选条件组合出来的空结果页
- 商品下架、文章删除后仍保留的详情页,模板还在,主体已经空了
- 分类页叠加筛选后没有符合条件的内容
- 列表页翻到超出实际范围的页码
- 依赖前端渲染、但渲染失败或还没渲染完就被抓取的页面
- 只写了“即将上线”“敬请期待”的占位页
自查顺序
- 直接打开页面,确认主体区域是否有与该 URL 主题一致的内容,而不是只有顶部和底部有文字
- 检查状态码和响应头,区分真 404、410 和 200 空页
- 用抓取工具查看渲染完成后的 HTML,别只看初始源码,JS 页面尤其要看渲染结果
- 在覆盖率类报告里找软 404 分类,看被归进去的 URL 有没有共同特征
- 抽样一批“已抓取未收录”的 URL,逐个人工打开,往往能发现是同一类模板的问题
分情况处理
页面确实已经不存在
该给 410 就给 410,或者 301 到最相关的替代页面。继续返回 200 空壳,只会让这个 URL 反复被抓、反复不收录。
筛选组合、翻页越界这类参数页
这类 URL 理论上可以无限生成,正确做法是从入口上限制,比如冲突的筛选组合不给可点击链接、翻页超出范围就返回 404 或跳回第一页。只靠 noindex 收口,URL 还是会被发现和抓取。
暂时为空、以后会有内容
先不要放出来,或者先加 noindex,等内容补齐再去掉。空着等收录,大概率是白等。
必须登录才能看到内容
对搜索引擎来说等同于空页。需要被索引的部分,要么提供可公开访问的替代页,要么就接受它进不了索引。
别把正常页面误伤
判断标准是主体内容是否与页面主题相符,不是字数多少。一篇信息完整、说明清楚的短页面不属于软 404;反过来,堆满模板文字、核心信息全无的页面,字再多也救不回来。
小结
遇到“抓取了但不收录”,先别急着怀疑蜘蛛和抓取频率,打开页面看一眼主体。返回 200 的空壳页面,要么把它做成有内容的页面,要么明确告诉搜索引擎它不存在,而不是继续放在那里等。