收录核对时,很多人只看 URL 有没有出现在搜索结果里,却忽略了一个前置条件:服务器返回的状态码,和页面上真正呈现的内容,是不是在说同一件事。当两者对不上时,页面往往卡在一个尴尬位置——既能被抓取,又很难被稳稳留下。
状态码和内容不一致,通常长什么样
最常见的形态是页面返回 200,但正文里写着“商品已下架”“活动已结束”“暂无相关内容”。对爬虫来说,200 意味着“这里有一份正常内容”;对用户来说,这里其实什么都没有。两边预期不一致,索引判断就容易反复。
- 200 加空列表:筛选页、标签页结果为空,仍然返回 200。
- 200 加过期提示:时效性活动页过了时间,正文只剩一句“已结束”。
- 错误页返回 200:本该是 404 的页面被当成正常页面处理。
- 内容被移除但页面保留骨架:导航、页脚都在,主内容区是空的。
核对时先做三件事
- 取状态码。用命令行工具或抓取诊断看返回头,确认是 200、301 还是 404、410,不要只看浏览器里能不能打开。
- 看主内容区。把模板部分(导航、推荐、页脚)遮住,只看页面主体还剩多少有效信息。
- 对日志。查这些地址在服务器日志里的抓取频次和返回码,看是否长期被抓却很少被保留。
这三步做完,通常能把问题页面分成两类:一类是临时的空状态,一类是已经不该继续存在的地址。
按类型决定去留
临时空状态
比如某个筛选组合暂时没有结果,但以后可能有。这种页面不建议直接删,可以考虑加 noindex,或者当结果为空时返回 404。关键是别让它以 200 的状态长期摆着一个空壳。
确定不再使用的地址
商品下架、内容永久删除,如果确实不再提供该页面,返回 404 或 410 比留着 200 更清楚。若同类内容有替代页面,用 301 指过去,比单纯让它消失更好。
会回归的内容
季节性活动、周期性专题,内容会重新上线。这类可以保留 200,但建议在空窗期给出明确的说明和替代入口,而不是只留一句“敬请期待”。
不要一次性把大批页面改成 404 或 noindex。分批处理,每批改完观察一段时间的抓取日志和索引变化,再决定下一批,比全站一起动更容易看清因果。
顺带检查的两个细节
- 软 404 与真 404 混用:同一个站里有的空页面返回 404,有的返回 200,标准不一致会让判断更模糊,尽量统一规则。
- 移动端与桌面端不一致:两端返回码或内容有差异时,以实际被抓取的那一版为准去核对。
把状态码和内容对齐,本质上是让页面自己说清楚“我还在不在、有没有内容”。这件事做完,再去谈收录数量,判断才不会建立在一堆含糊的地址上。