做蜘蛛池入口页时,最常见的目标就是让搜索蜘蛛顺着链接走到目标 URL。可有些模板、CMS 插件或安全策略,会默认给外链加上 rel=nofollow。这时候不少人就开始纠结:加了 nofollow,搜索蜘蛛还会不会跟过去?
先分清 nofollow 的三种写法
日常说的 nofollow,其实至少可以出现在三个位置,影响范围完全不同:
- 链接级:写在 a 标签上的 rel=nofollow,只作用于这一条链接。
- 页面级 meta:写在 head 里的 robots meta,content 带 nofollow,作用于当前页面上的所有链接。
- 响应头级:X-Robots-Tag: nofollow,写在 HTTP 响应头里,同样作用于整个页面,但不像 HTML 那样肉眼可见,很容易被忽略。
还有一种容易被误伤的情况:页面里的 robots meta 同时写了 noindex 和 nofollow,或者 CDN、WAF 统一给某个目录加了 X-Robots-Tag,入口页自己都不知道已经被顺手封上了。
加了 nofollow,搜索蜘蛛还会跟吗
结论不绝对,但可以这样理解:nofollow 更多是一种提示,而不是一道硬门。主流搜索引擎近年的文档都倾向于把它当成抓取和权重传递的参考信号,而不是绝对禁令。也就是说,搜索蜘蛛仍有可能通过其他路径发现并抓取这个 URL,只是概率、优先级和后续处理方式会打折扣。
而且不同搜索引擎对 nofollow 的支持程度并不一致,官方口径也调整过好几轮,所以不建议把“加了 nofollow 一定拦得住”或者“加了 nofollow 完全没影响”当成定论。具体以目标搜索平台的官方说明为准。
三个常见误判
1. 把 nofollow 当成 noindex
nofollow 管的是要不要顺着链接继续走,noindex 管的是这个页面要不要出现在结果里。两者经常被混着用,结果入口页还在被索引,目标 URL 却因为链接被 nofollow 而少了一条发现路径。
2. 只检查首页,没检查全站模板
很多 CMS 的外链 nofollow 是写在列表模板、评论模板或分页模板里的。首页看着正常,入口页一渲染出来,链接全带上了 rel=nofollow。
3. 只看 HTML,没看响应头
页面源码里干干净净,但服务器或安全组件在响应头里塞了 X-Robots-Tag。这种情况只翻 HTML 是查不出来的。
排查入口页 nofollow 的实操顺序
- 用浏览器开发者工具的 Network 面板打开入口页,先看 Response Headers 里有没有 X-Robots-Tag。
- 再用查看网页源代码(不是 Elements 面板,那个是渲染后的结果)看 head 里有没有 robots meta。
- 搜索源码中的 rel=nofollow,确认是否命中了目标链接所在的那一段模板。
- 如果链接是 JS 动态插入的,注意检查拼接的字符串里是否也带了 nofollow。
- 换一个网络环境或 UA 再抓一次,确认不是某个中间层临时加上去的。
确实想让蜘蛛跟过去,可以怎么做
如果入口页存在的意义就是暴露 URL,那就不要把 nofollow 加在目标链接上。需要控制的地方(比如页脚广告、用户评论)单独加,别在全局模板里一刀切。
换一种思路也行:与其纠结某一条链接会不会被跟,不如让 URL 通过多条路径暴露出来,例如正常的站内链接、sitemap,以及各搜索平台提供的 URL 提交入口。路径多了,单条链接的信号强弱就没那么关键。
把 nofollow 当成调节旋钮,而不是一扇锁死的门:它影响的是“愿不愿意跟”,而不是“能不能被发现”。
小结
入口页链接加了 nofollow,搜索蜘蛛不一定完全不跟,但发现目标 URL 的路径明显变窄,优先级也会降低。与其反复猜,不如把响应头、meta、链接属性三个位置都过一遍,确认自己的入口页没有被模板或安全策略顺手锁上。如果这条入口页本来就是为 URL 发现服务的,最省事的做法就是:别加 nofollow。