在蜘蛛池的日常操作里,入口页指向目标URL的那一条链接是整件事的关键。有人担心入口页把权重“漏”出去,顺手给链接加上 rel="nofollow";也有人直接套模板,没注意链接属性里被带上了 sponsored 或 ugc。这些属性会不会让搜索蜘蛛停下来不再跟进,是问得比较多的一类问题。
先分清两件事:不传递和不访问
rel="nofollow" 最初的作用是告诉搜索引擎“这个链接不是我推荐的,不要把我对它的信任传过去”。它约束的是评价信号的传递,并不是直接命令搜索蜘蛛“不许访问”。搜索蜘蛛看到 nofollow 链接,仍有可能去访问这个地址,只是它不太会把入口页的信任值算到目标URL头上。
所以加了 nofollow 之后,目标URL“被发现的概率”通常不会立刻归零,但“被持续、稳定地抓取”这件事会变得不可控。如果入口页本身没有其他出链,目标URL很可能只被抓一两次就沉下去。
几种链接属性要分开看
- rel="nofollow":不传递信任,抓不抓由搜索引擎自行判断,实践中更接近“可能抓,但不当作推荐”。
- rel="sponsored":标明是付费或广告性质的链接,作用与 nofollow 接近。
- rel="ugc":标明来自用户生成内容,比如评论、论坛帖,同样属于不传递信任的一类。
- 不带 rel 的普通链接:默认按可传递信任处理,搜索蜘蛛跟进的可能性最高。
如果做入口页的目的就是让搜索蜘蛛顺着链接找到目标URL,那么这几种属性都不适合出现在关键链接上。
哪些情况会把问题放大
单独一条 nofollow 链接,影响未必看得出来。但下面这些情况叠加时,跟进概率会明显下降:
- 入口页只有一条指向目标URL的链接,而且带 nofollow,等于唯一的通道被削弱了。
- 入口页本身的抓取频次就低,搜索蜘蛛本来也来不了几次。
- 目标URL在新域名或新目录下,外部链接很少,只能靠入口页带路。
- 链接由 JavaScript 动态生成,同时 a 标签上又写了 rel="nofollow",等于双重不确定。
怎么验证是不是真的被跟进了
不要靠猜,用日志和对照实验说话:
- 在入口页放一条带 nofollow 的链接指向测试用目标URL,其余条件保持不变。
- 观察服务器日志里该目标URL的抓取记录,记下第一次出现的日期和之后每次的间隔。
- 再做一个对照组:结构和入口页一致,但链接不带任何 rel 属性,看抓取频次和持续时间差多少。
- 对比两组数据。如果带 nofollow 的那组只在最初被抓一两次,之后长期没有动静,说明这条通道基本失效。
需要提醒的是,日志里的 User-Agent 可以伪造,只看 UA 并不足以判断来访者是不是真的搜索蜘蛛。可以结合反向解析结果、是否请求 robots.txt、回访间隔是否规律等行为特征一起判断。
更稳妥的写法
如果入口页存在的意义就是把搜索蜘蛛引到目标URL,关键链接就写成普通链接,不加任何 rel 属性。想控制信号传递,应该从入口页的质量、规模、链接去向的合理性上做取舍,而不是靠加一个属性来图省事。
把 nofollow 当成开关的人,往往会发现这个开关没那么好使:它影响的是搜索蜘蛛如何看待这条链接,而不是它今天来不来。
最后要说的是,任何调整都只是提高被发现的概率,不等于目标URL一定被抓取,更不等于会被收录。抓取、收录、排名是三件不同的事,蜘蛛池和入口页能帮上忙的,只是最前面那一段。