搭建入口页时,很多人会顺手给指向目标 URL 的链接加上 rel="nofollow",以为这只是“不传递权重”,不影响蜘蛛发现。实际上 nofollow 影响的不只是权重,它还会改变搜索蜘蛛对这条链接的抓取意愿。搞清楚这一点,才知道在蜘蛛池里该不该用它。
nofollow 表达的是什么意思
nofollow 最早的作用是告诉搜索引擎:这条链接不是我自己推荐的,不要按正常链接对待。落到具体行为上,它包含两层含义:一是不把这条链接当作投票,二是不保证会去抓取链接指向的地址。
注意“不保证”这三个字。它不是一个硬性禁令,而是一个提示(hint)。搜索引擎可以自行决定是否跟进,这就导致同一条链接在不同引擎、不同时间点的结果可能不一样。
不同搜索引擎的处理差异
- Google:把 nofollow 当作提示,可能仍然抓取这个 URL,只是不传递信号。是否真的抓,取决于该 URL 是否从别处被发现,以及站点整体的抓取价值。
- Bing 等:过去执行得更严格,倾向于不跟进;近年也在向提示化靠拢,但保守处理仍属常见。
- 中小引擎与部分站内搜索:规则不统一,有的直接忽略,有的完全遵守。
结论是:加了 nofollow 之后,目标 URL 被发现的概率会明显下降,但不会归零。如果你的目标就是让目标 URL 尽量被看到,那这是一个负向操作。
rel="ugc" 和 rel="sponsored" 能不能用
这两个属性是 nofollow 的细分版本:ugc 用于用户生成内容(评论、论坛帖),sponsored 用于付费链接。它们同样属于提示类属性,对抓取的影响与 nofollow 接近。
关键问题在于“是否如实”。入口页明明是你自己控制的页面,却标成 ugc 或 sponsored,就是属性与内容不符。这种不一致本身容易被识别为异常信号,得不偿失。
页面级 nofollow 影响范围更大
链接级 nofollow 只管一条链接,而页面级的 <meta name="robots" content="nofollow"> 以及 HTTP 响应头里的 X-Robots-Tag,作用于整页所有链接。一旦写错,入口页上所有指向目标 URL 的链接都会被打上标记。
排查入口页问题时,先看响应头再看 HTML。不少“链接明明在,蜘蛛却不来”的情况,源头就是响应头里多了一个 nofollow。
蜘蛛池场景下的处理建议
- 想让目标 URL 被发现的入口页,不要加 nofollow。链接级、页面级、响应头级,三处都要检查。
- 确实不想传递权重的链接可以加,但要接受发现概率下降。如果你指望这条链接做 URL 发现,就别加。
- 不要用 nofollow 控制抓取频率。频率控制应该交给 robots.txt、站点响应速度和内链结构。
- 用日志验证,而不是靠猜。加之前和加之后分别看搜索蜘蛛对目标 URL 的抓取记录,再决定保留还是去掉。
一个常见的误判
有人发现加了 nofollow 目标 URL 还是被抓了,就断定 nofollow 没用。更可能的原因是:这个 URL 从别的入口页、sitemap 或外链已经被发现,nofollow 那条链接只是陪跑。判断 nofollow 是否生效,要看只通过这一条链接能否被跟进,而不是看最终结果。
反过来,去掉 nofollow 也不等于一定被抓。它只是把提示恢复成正常状态,剩下的仍然取决于链接在页面中的位置、入口页质量、目标 URL 的可访问性和服务器响应速度。