常见问题

入口页设了 noindex 或 X-Robots-Tag:里面的目标 URL 还会被搜索蜘蛛发现吗

入口页加 noindex 或 X-Robots-Tag,只是告诉搜索引擎不要收录这个页面,并不等于里面的链接不会被跟进。真正会挡住 URL 发现的是 robots.txt 里的 Disallow,以及顺手配上的 nofollow。本文说明 noindex 与 nofollow 的区别、常见配错的组合,以及入口页 noindex 后要注意的抓取预算问题。

常见问题

入口页设了 noindex 或 X-Robots-Tag:里面的目标 URL 还会被搜索蜘蛛发现吗

做蜘蛛池的时候,很多人会在入口页上加 noindex,想法很简单:不想让这个满屏链接的页面出现在搜索结果里,但里面的目标 URL 还是希望被搜索蜘蛛顺着爬过去。这个思路本身没问题,前提是你要分清 noindex 和 nofollow 管的是两件不同的事。

noindex 管的是要不要收录,不是要不要抓

noindex 的语义是:这个页面可以抓,但不要放进搜索结果。搜索蜘蛛顺着链接爬到入口页后,只要没有别的阻拦,仍然会下载 HTML、解析其中的链接并继续跟进。发现 URL 和收录页面是两条独立的路,入口页自己不被收录,并不代表里面的链接就一定不会被发现。

真正会挡住这一步的是 robots.txt 里的 Disallow:爬虫连页面都不会下载,自然读不到页面上的链接。所以如果入口页被 robots.txt 屏蔽了,就别指望它还能起到导流作用。

几种常见写法,效果差别很大

  • meta robots noindex:写在 HTML 的 head 里,只对当前页面生效,链接跟进默认不受影响。
  • X-Robots-Tag: noindex:走 HTTP 响应头,对整个响应生效,也适用于非 HTML 文件。如果写成 noindex, nofollow,链接就不会被跟进了,这是最容易配错的地方。
  • noindex 叠加 robots.txt Disallow:页面既不被收录也不被抓取,入口页基本失去 URL 发现的意义。
如果你只想去掉入口页在搜索里的展示、保留它作为链接中转,用 noindex 通常就够;一旦顺手加上 nofollow 或 Disallow,等于把入口页废掉。

需要注意的几个副作用

抓取预算会被占用

noindex 页面仍会被定期抓取,用来确认这个标记还在不在。入口页如果数量多、更新频繁,会持续消耗抓取预算,可能挤占目标页的抓取机会。页面越空、链接越杂,回访间隔通常越长。

别指望它长期当导航

搜索引擎不太会把一个不打算收录的页面长期当作稳定的链接来源重点回访。入口页的价值更多体现在第一次发现,后续能否被持续抓取,取决于目标 URL 自身有没有其他入口和内容支撑。

局部控制要用 rel

noindex 是整页级别的开关,没法只对页面上某几条链接生效。只想让个别链接不被跟进,用 rel="nofollow";想整体放开但标明链接来源,可以用 rel="ugc" 之类的属性。

实操上可以这样选

  1. 入口页能抓、不想被收录:用 meta robots noindex,不加 nofollow,同时保持 robots.txt 允许抓取。
  2. 入口页已被当成低质页、抓取频率被压得很低:与其反复调 noindex,不如换成可索引、有实质内容的页面来承载链接。
  3. 页面里混着垃圾链接和正常链接:对垃圾部分单独加 nofollow,不要整页 noindex 把正常链接一起牵连。
  4. 改完之后看日志:确认搜索蜘蛛是否仍在回访入口页、是否继续请求里面的目标 URL,再决定要不要调整。

最后提醒一句:noindex 只是表达偏好,能不能被发现、什么时候被抓,最终还是由搜索引擎决定。别把入口页当成可靠的收录通道,链接能否被跟进,和页面结构、目标 URL 本身的质量以及整个站点的抓取情况都有关系。