robots 拦的是"来不来抓",noindex 拦的是"进不进库"。想让页面从搜索结果里消失,用 noindex;想省抓取预算、不想让蜘蛛为它浪费请求,用 robots。最危险的做法是两个一起上。
为什么叠在一起会出事
被 robots 屏蔽的 URL,蜘蛛不会去读页面上的 noindex。如果站内或外站有链接指向它,它仍然可能被收录,只是收录成一个没有摘要、标题是 URL 本身的条目。用户搜到它,看不到内容,也不知道它是什么。2025 年 11 月一个开发者工具站就踩了这个坑:老版本文档页同时写了 robots 和 noindex,侧边栏链接还删了,半年后这批页面仍挂在搜索结果里,点击率 0.4%。
清理的时候我们花了两步:先把侧边栏链接加回去,删掉 robots 里的那行规则,保留 noindex。六周后这批页面才从搜索结果里消失。
选择标准
| 场景 | 用什么 | 原因 |
|---|---|---|
| 后台、API、测试环境 | robots | 没有内容价值,也不该被访问 |
| 已下线但保留给用户看的老页面 | noindex | 保留内链,权重还能流动 |
| 分页的深层页 | canonical 或 noindex | 用 robots 会切断内链发现 |
| 参数筛选页 | canonical 优先 | 必要时 robots 拦组合参数 |
| 站内搜索结果页 | noindex | 大量低质重复页 |
验证方法
GSC 的网址检查会明确告诉你页面处于哪种状态:"已被 robots.txt 屏蔽"和"已排除,被 noindex 标记"是两个不同的结论,别混。curl 一下页面看 meta 里到底写了什么,再看 robots.txt 里有没有匹配规则。
还有一个容易忽略的点:noindex 要保留至少几周再撤内链。搜索引擎需要重新抓一次才能读到标记,撤太快等于什么都没做。
两个常见误解
第一个误解:以为 robots 屏蔽后页面就不占索引位置了。实际上它可能还在索引里,只是没有摘要,这种条目对品牌形象是负分。第二个误解:以为 noindex 页面会被立刻删除。搜索引擎要重新抓取才会读到标记,页面多的时候排期很长,所以别在上线第二天就催结果。
还有个反直觉的点:对分页的深层页用 robots 屏蔽,会让蜘蛛找不到更早的列表内容,反而伤害收录。这类页面交给 canonical 更合适,实在要挡,只挡 ?page= 超过某一页的参数。
我们给客户的默认配置
后台和 API 路径进 robots;测试环境整站加 Basic Auth,不用 robots;老页面保留 noindex 并留在导航的归档区;站内搜索结果页 noindex;参数页先配 canonical,再按抓取量决定是否屏蔽。这套配置几年不用改。
立场
一个页面只用一种控制指令。要它消失,用 noindex,别加 robots;要蜘蛛别来,用 robots,但它不会从索引里消失。想让两者同时成立,那你其实想要的是 404 或 410——直接删除,比掖着藏着干净。
元析智能
为软件公司做 SEO 和 GEO 优化