为什么没有内容的页面也会进索引
站点的 URL 数量往往远多于有实际内容的页面。筛选条件组合后没有结果、分类下商品暂时下架、用户中心未登录状态、站内搜索为空、分页超出范围——这些地址通常都返回 200 状态码,页面骨架也完整,只是正文区域是空的。对搜索引擎来说,它看到的是一个能正常打开的页面,而不是错误页。
问题在于,这些地址一旦被内链、站点地图或外部链接带到蜘蛛面前,就具备了被发现的条件。抓取并不区分“有内容”和“没内容”,它只负责取回 HTML;是否值得放进索引,是后面的判断。
先把“空”和“错”区分开
- 真正的空页面:模板正常渲染,只是列表或字段没有数据,状态码为 200。
- 软 404:内容实际不存在,却仍返回 200,页面里可能还带着“没有找到”之类的提示语。
- 硬 404 或 410:明确告知资源不存在,通常不会被长期保留在索引里。
很多站点的问题是大量页面停留在前两种之间,既没有内容,也没有给出一个明确的处理信号。
从入口到索引的核对顺序
- 看状态码是否诚实。如果资源确实不存在,返回 404 或 410 比返回 200 再配一句提示更清晰。不要为了页面上好看,把所有空状态都做成 200。
- 看模板占比。正文只有几十个字,其余全是导航、推荐位、页脚,这种页面在质量评估里很难被当作有价值的落地页。
- 看内链与入口。空页面被收录,往往不是搜索引擎主动找来的,而是站内某个列表、筛选控件或分页把地址暴露了出去。检查这些位置是否会输出无结果的链接。
- 看站点地图与提交清单。sitemap 里是否混进了这些地址?如果清单本身在推荐空页面,抓取方向会被持续引导过去。
- 看是否有明确的排除指令。确定要保留但不希望被索引的页面,可以用 noindex;确实不存在的页面,用状态码而不是 noindex。
- 看索引里还留着什么。已经进入索引的地址,即便页面改成了 404,也要等重新抓取后才会更新,必要时可以提交移除请求加速处理。
收敛比清理更重要
清理一个被收录的空页面成本不高,难的是不断产生新的空页面。更有效的做法是在生成链接和 URL 的环节就做收敛:筛选与排序组合指向同一个规范地址,分页超出范围时返回 404,库存为空的详情页做合并或跳转到上级分类,而不是保留一个空壳。
与其事后从索引里一个个清理,不如让空页面从一开始就不被生成、不被链接。
哪些空页面可以保留
不是所有空页面都要消灭。有些页面本身是流程的一部分,比如购物车、订单确认页,它们对用户有用,但不适合出现在搜索结果里。这类页面可以用 noindex 明确标注,同时避免被站点地图收录。判断标准可以很简单:这个地址如果出现在搜索结果中,对搜索的人有没有帮助。答案是否定的,就考虑排除。
整体思路可以归纳成一句话:先让状态码说真话,再让内链和清单不推广空地址,最后才谈索引里的清理。顺序反了,清理永远赶不上新增。