在蜘蛛池入口页的链接上加 nofollow,是一个看着简单、实际很容易想当然的操作。有人把它当安全阀,有人把它当开关,还有人以为加了 nofollow 搜索蜘蛛就完全不会访问。真实的抓取行为比这几种理解都要复杂一些。
nofollow 到底在表达什么
nofollow 写在超链接的 rel 属性里,本意是“这个链接不是我推荐的”。它最早用于防垃圾评论和付费链接传递权重,后来各家搜索引擎对它的处理逐渐分化。它是一句提示,不是一条禁令。
搜索蜘蛛遇到 nofollow 链接会怎么做
- 能不能抓到,和传不传权重,是两件事。nofollow 主要影响推荐与权重信号,而不是直接禁止访问。
- 多数情况下,搜索蜘蛛仍然会抓取 nofollow 链接指向的 URL,只是不会把它当成被推荐的链接。
- 是否跟进,还受入口页整体质量、链接所处位置、页面链接数量、目标 URL 是否已被发现等因素影响。
- 不同搜索引擎实现不同,同一引擎在站内导航、正文、评论区等不同位置的处理也可能不一样。
在入口页加 nofollow 会有什么结果
如果目的是让搜索蜘蛛发现并抓取目标 URL,那么给这些链接加 nofollow 通常不是好选择。它不会彻底切断抓取,但会降低这条链接在搜索引擎眼中的分量;当入口页本身质量一般、链接数量又多时,被跳过的概率会上升。
如果目的是隔离一部分不想被推荐的 URL,比如中间跳转页、统计链接、与主目标无关的页面,加 nofollow 是合理的,它可以减少无意义链接对页面主题的稀释。
更稳妥的几种处理方式
- 只把真正需要被发现的链接留成普通链接,其余链接要么加 nofollow,要么干脆不放。
- 控制入口页链接总数,把重点链接放在正文靠前、容易被解析到的位置。
- 需要彻底隔离的页面,用 robots.txt 或页面级 robots 标签做更明确的控制,不要只靠 nofollow。
- 链接如果是脚本动态插入的,确认它在 HTML 源码里就存在,而不是等脚本执行后才出现。
常见误区
误区一:加了 nofollow 蜘蛛就不来了。抓取仍可能发生,只是信号含义变了。
误区二:把 nofollow 当收录开关。收录由目标页自身内容、质量和站点整体情况决定,链接属性只影响发现路径和权重传递,不决定收录结果。
误区三:入口页所有链接都加 nofollow 更安全。如果目标 URL 全被标记,入口页的发现价值会明显下降,等于自己把路走窄。
怎么验证有没有被跟进
先看入口页所在服务器的日志,确认搜索蜘蛛确实抓过入口页;再看目标 URL 所在站点的日志,确认它有没有继续跟进。两段日志要按时间对照,判断请求是顺着入口页进来的,还是从别的路径单独抓取的。只看到入口页被抓,并不能推断目标 URL 一定被访问。
nofollow 是提示而不是命令,不同搜索引擎、不同抓取上下文的处理并不一致。与其纠结这一个属性,不如把入口页的可访问性、链接结构和日志观察做扎实,结果更可控。