在蜘蛛池或站群入口页的配置中,很多人会用 meta robots 控制页面是否被索引。常见写法有 noindex、nofollow,或者两者同时出现。问题在于:这些指令对“搜索蜘蛛发现入口页里的目标 URL”究竟有什么影响?不少运营者把 noindex 和 nofollow 混为一谈,结果入口页虽然能被抓取,目标 URL 却迟迟没有发现记录。
先分清 noindex 和 nofollow 的作用对象
meta robots 写在 HTML 的 head 区域,也可以放在 HTTP 响应头 X-Robots-Tag 里。它们的作用对象不同:
- noindex:告诉搜索蜘蛛不要把当前页面放入索引。它主要影响“页面本身是否出现在搜索结果中”。
- nofollow:告诉搜索蜘蛛不要追踪当前页面上的链接。它影响的是“页内链接是否被继续发现和抓取”。
所以,如果入口页只写了 noindex,但允许 follow,搜索蜘蛛仍然可以抓取入口页,并顺着里面的链接发现目标 URL。入口页自己不被索引,并不等于链接不会被跟进。
meta nofollow 会直接卡住目标 URL 的发现
当入口页的 meta robots 写成 noindex, nofollow 或单独的 nofollow 时,搜索蜘蛛虽然可能抓取这个入口页,但会收到“不要继续追踪页内链接”的提示。对于依赖入口页传递发现路径的蜘蛛池来说,这往往意味着目标 URL 很难被自然发现。
注意:nofollow 通常被视为一种提示,不同搜索引擎的执行细节不完全一致,但把入口页整体标成 nofollow,会增加目标 URL 不被跟进的风险。
如果你希望入口页不被收录,同时又要让目标 URL 有机会被发现,更稳妥的写法是 noindex, follow,而不是 noindex, nofollow。
常见误区与检查顺序
- 只看 robots.txt,不看 meta robots。 robots.txt 禁止抓取会直接阻止搜索蜘蛛获取入口页内容,而 meta nofollow 是在抓取之后才起作用的指令。两者要分开检查。
- 把 noindex 当成“不传递权重”。 noindex 主要管索引,不必然切断链接发现。真正影响链接跟进的是 nofollow 或链接上的 rel="nofollow"。
- 忽略 HTTP 头里的 X-Robots-Tag。 有些站点通过服务器配置输出 X-Robots-Tag: nofollow。它在 HTML 里看不到,但搜索蜘蛛同样能读到。
- 入口页模板批量带了 nofollow。 站群或蜘蛛池程序如果模板统一输出 meta robots="noindex,nofollow",所有入口页的目标 URL 发现都会受影响。
怎么排查入口页是否影响了目标 URL 发现
可以按下面几步做基础检查:
- 查看入口页 HTML 的 head 中是否有 <meta name="robots" content="...">,确认里面有没有 nofollow。
- 查看 HTTP 响应头是否带有 X-Robots-Tag,确认是否包含 nofollow 或 noindex。
- 如果入口页链接本身还加了 rel="nofollow",即使页面级 meta 允许 follow,链接也可能不被跟进。
- 对比入口页的搜索蜘蛛访问日志和目标 URL 的抓取记录,看蜘蛛是否在抓取入口页后继续请求了目标 URL。
如果确认是 meta nofollow 导致的,调整入口页模板,保留 follow,只对入口页做 noindex,通常更符合“入口页不收录、目标 URL 可被发现”的常见需求。调整后仍需观察日志和抓取记录,搜索蜘蛛重新抓取和跟进需要时间。
最后提醒:meta robots 只是影响发现和抓取的一个环节,目标 URL 能否被收录还取决于内容质量、站点结构、服务器响应等多种因素。不要因为改了 noindex/nofollow 就期待立刻出现收录变化。