一句话回答
索引膨胀是指搜索引擎收录的网站 URL 远多于网站有价值的页面,通常来自参数变体、站内搜索、单薄归档和重复页面,浪费抓取资源并稀释质量信号。
什么是索引膨胀?
索引膨胀(Index Bloat)是指搜索引擎收录的网站 URL 远多于网站真正值得被搜到的页面:筛选组合、站内搜索结果、标签归档、带追踪参数的变体、自动生成的单薄页面。有价值的页面还在,但要和成千上万个低价值的近似重复页分享抓取精力和质量信号。
(在数据库里,「index bloat」是另一回事:数据库索引比实际数据需要的大得多,比如 PostgreSQL 经过大量更新之后。本文讲的是 SEO 含义。)
怎么判断有没有索引膨胀
对比三个数字:
| 数字 | 来自哪里 | 示例网站 |
|---|---|---|
| 希望被收录的页面 | CMS 或商品目录 | 3,200 |
| XML 站点地图里的 URL | 你提交的站点地图 | 3,400 |
| 已收录的 URL | Search Console 网页索引报告 | 21,800 |
已收录 URL 是你想排名页面的好几倍,就是膨胀了。这个示例里多出大约 18,600 个 URL。按 URL 规律拆开:
| 规律 | 收录 URL 数 | 原因 |
|---|---|---|
/shop?color=…&size=…&sort=… | 12,900 | 分面筛选产生的组合 |
/search?q=… | 3,100 | 「热门搜索」链接出去的站内搜索结果 |
/tag/… | 1,700 | 每个只有一两篇文章的标签 |
?utm_source=… 变体 | 900 | 没有 canonical 的活动链接 |
为什么要紧
- 浪费抓取。 爬虫把时间花在近似重复页上,而不是新的或更新过的页面,见抓取预算。
- 稀释质量信号。 大量单薄页面可能拉低网站内容的整体评价。
- 关键词内耗。 几个相似 URL 争同一个查询,见关键词内耗。
- 报表混乱。 Search Console 和统计报表里塞满变体,页面级分析更难做。
常见原因
- 分面导航和排序参数
- 站内搜索结果页
- 内容很少的标签、作者、日期归档
- URL 里的会话 ID 和追踪参数
- 打印版、AMP 或协议 / 域名重复的版本(http 和 https、带不带 www)
- 对爬虫开放的预发或测试环境
- 没有独特内容的批量页面(每个城市一页、每个关键词一页)
怎么解决
| 情况 | 处理 |
|---|---|
| 同一页面的重复变体 | rel="canonical" 指向主 URL |
| 对访客有用、对搜索没用的页面 | noindex(保持可抓取,让标签能被看到),见 X-Robots-Tag |
| 没有用处的低价值页面 | 删除并返回 404 或 410,或合并进更强的页面,见内容修剪 |
| 无限的参数组合 | 不再给它们加链接;限制可抓取的筛选组合;等它们移出索引后再考虑在 robots.txt 里禁止 |
| 预发网站 | 用密码保护,不要只靠 noindex |
顺序很重要:在 URL 被移出索引之前就用 robots.txt 拦住,爬虫就看不到 noindex 标签了,这些 URL 可能一直留在索引里。先移除,再拦截。
修复后,随着爬虫重新访问这些 URL,收录数会在几周到几个月内下降。
在 TapCub 里
TapCub 的抓取健康报表显示各搜索引擎实际抓了哪些 URL;设置站点地图 URL 后,还会把抓取情况和站点地图对比。如果爬虫的大部分抓取都花在不在站点地图里的参数 URL 或搜索页上,就是膨胀的早期信号,往往在收录数上涨之前就能看到。状态码和完整 URL 来自导入的服务器日志,见 SEO 日志分析、内容审计和抓取深度。
参考资料
- Google Search Central. Managing crawling of faceted navigation URLs.
- Google Search Central. Consolidate duplicate URLs.
- Google Search Central. Block search indexing with noindex.
这个解释清楚吗?
我们会根据反馈修改和补充这篇内容。
提交没有成功,请稍后再试。
谢谢你的反馈,我们会据此改进这篇内容。你已经反馈过这篇了,谢谢。
