做蜘蛛池入口页时,经常有人问:链接上加了 nofollow,搜索蜘蛛是不是就不跟了?这个问题没有一句话的答案,它取决于 nofollow 加在哪一层,以及搜索引擎具体怎么处理它。
nofollow 原本管的是什么
nofollow 最早是给“非自然链接”打标记用的,意思是“这个链接不是我推荐的,别把权重算过去”。也就是说,它主要影响权重传递,而不是直接决定“能不能被抓到”。这一点在入口页场景里非常关键:你要的是目标 URL 被发现,而不是权重。
两种写法,影响完全不同
页面级:head 里的 meta robots nofollow
写在入口页的 head 中,等于告诉搜索引擎“本页所有链接都别跟”。这种情况下,搜索蜘蛛可能仍会抓取入口页本身,但不保证会沿着里面的链接继续走。对蜘蛛池来说,这基本等于自断链路,除非你还有其他入口页在承担同样的任务。
链接级:单个 a 标签上的 rel=nofollow
只给个别链接加,理论上其他链接不受影响。入口页上那些你不想被跟的链接,比如后台地址、临时跳转、日志页,可以单独加。但如果把目标 URL 也加上 nofollow,就等于把入口页最核心的作用削掉了一半。
加了 nofollow 就一定不抓吗
不一定。搜索引擎对 nofollow 的处理更接近“提示”而非“硬性命令”,不同引擎、不同时期的实现都有差异。实践中能观察到:加了 nofollow 的链接被抓取的概率确实会下降,下降幅度并不稳定,但通常不会直接降到零。
反过来说,也不能因为“偶尔还能被抓”就把 nofollow 当无物。蜘蛛池的价值在于稳定、持续地让搜索引擎发现目标 URL,用这种“可能抓、可能不抓”的方式去赌,性价比很低。
入口页常见的几种误用
- 整页 nofollow:入口页唯一的任务就是暴露链接,整页加 nofollow 等于把任务目标取消了。
- 给全部目标链接加 nofollow:表面上是控制权重流向,实际上是降低 URL 被发现的机会。
- 只给外链加,忘了站内页面:如果目标 URL 和入口页在同一站点下,nofollow 会拦住本该顺畅的爬取路径。
- 以为 nofollow 能防爬:它拦不住蜘蛛来抓,也不解决内容质量问题,只是减少一部分传播。
实际该怎么设置
- 入口页上指向目标 URL 的链接,默认不加 nofollow。
- 确实不想被跟的链接,比如测试页、带敏感参数的页面、无意义的跳转,单独加 rel=nofollow。
- 不要用页面级 meta nofollow 来省事,它对整个入口页的链接发现都是负面信号。
- 如果确实要限制某个目录被抓,用 robots.txt 更直接,而不是靠 nofollow 绕。
- 调整后观察服务器日志里搜索蜘蛛的抓取量变化,再决定是否继续改,不要凭感觉一次性把全部入口页都动一遍。
nofollow 管的是“我不推荐这个链接”,不是“别来抓这个链接”。分不清这两件事,是蜘蛛池入口页最常见的失误之一。
最后提醒:无论加不加 nofollow,都不能保证目标 URL 一定被抓取或被收录。入口页能做的只是把发现路径铺顺,剩下的取决于目标页本身的质量、站点整体状况以及搜索引擎自己的调度策略。