索引里出现一批正文很少甚至没有正文的页面,是站点运营里比较常见的情况。这类页面被收录本身不算错误,但如果它们占用抓取、稀释站内信号,或者让用户点进来看到空白,就值得处理。处理之前不要直接批量 noindex,先把类型分清楚,否则容易把本来有潜力的页面一起压掉。
先分清四种“薄”
空壳页:模板在,正文不在
页面能正常打开,导航、页脚、推荐位都在,但主内容区是空的,或者只剩一句“暂无内容”。常见于筛选后无结果的列表页、下架商品的详情页、被清空的内容页。这类页面返回 200,抓取端看到的是模板,索引里可能只留下标题和片段。
软 404:状态码是 200,内容却像不存在
典型的软 404 是“抱歉,未找到”页面返回 200。对搜索引擎来说,200 意味着这个 URL 是有效页面,于是它可能被索引。软 404 与空壳页的区别在于语义:一个明确表示对象不存在,一个只是暂时没渲染出内容。两者处理方式不同,软 404 更适合改成 404 或 410,空壳页往往应该补内容或收口。
内容少但有效
词条释义、短新闻、公告、政策说明这类页面本身字数不多,但信息完整、有独立价值。判断标准不是字数,而是这个 URL 是否回答了某个具体问题、是否会被用户主动需要。把它当薄内容删掉,往往得不偿失。
渲染后才出现的正文
前端框架项目里,原始 HTML 常常只有一个容器,正文由 JS 注入。抓取端如果只拿到原始响应,看到的就接近空壳。这种情况下要区分“页面确实没内容”和“内容需要渲染才可见”,两者的修复路径完全不同。
动手前的几个检查动作
- 看原始 HTML:用 curl 或查看源代码,而不是用开发者工具里的 Elements 面板。Elements 显示的是渲染后的 DOM,会掩盖原始响应为空的事实。
- 对比同模板页面:同一种模板下,正常页面与可疑页面的正文文本量差多少。如果绝大多数都只有几十个字,问题在模板或数据源,不在单个 URL。
- 确认索引状态:在索引报告里看这个 URL 是被索引、被排除,还是已抓取但尚未编入索引。状态不同,说明卡住的位置不同,处理动作也不同。
- 查链接来源:这些 URL 是从哪里被发现的。如果是站内筛选、分页或排序组合大量生成,根的解法是控制 URL 生成规则,而不是逐个处理。
按类型决定处理顺序
- 先修模板和数据源。如果空壳是数据缺失造成的,补数据比加标签更根本。
- 能合并的合并。多个薄页面讲的是同一件事,就把它们并到一个主页面,其余做 301,把信号集中起来。
- 确实没有存在必要的页面,用 404 或 410。已经从站点移除的内容,保留 200 空壳只会继续被当作有效 URL。
- 需要保留 URL 但不想被索引的,再考虑 noindex。noindex 是允许抓取但不索引,与 robots.txt 屏蔽不是一回事。
- 改完之后留观察期,看索引状态是否变化。索引更新本身有延迟,短时间内反复改动作反而不好判断效果。
判断一个页面该不该收口,先问两个问题:它对用户有没有独立价值,它的 URL 是否必须继续存在。两个都否,处理动作才清楚。
容易踩的几个坑
- 把 noindex 和 canonical 混着用:canonical 是建议选我做主版本,不是排除指令;对一个页面同时写 noindex 和指向别处的 canonical,信号会互相干扰。
- 直接删掉有外链的旧页面:如果旧 URL 有外部链接或历史流量,先看能不能把内容合并到新页面并做跳转,而不是直接 410。
- 只看收录数量,不看页面构成:收录数下降不一定是坏事,如果减掉的是空壳和软 404,索引质量反而更干净。
- 把内容少直接等同低质量:短页面只要有独特信息,依然可以被索引和展现,不需要因为是短就删。
薄内容和空壳页的处理,本质上是一次对页面价值的重新确认。先分类型,再定动作,最后看索引状态变化,这个顺序比批量套用标签更稳。