在学习SEO优化的过程中,很多小伙伴常常会对 robots.txt 文件和 nofollow 标签感到困惑,尤其是在具体应用时,很容易将两者混淆。
什么是robots.txt?
robots.txt是一个存放在网站根目录下的纯文本文档。当搜索引擎的“蜘蛛”(爬虫程序)访问一个网站时,它会首先检查根目录下是否存在这个文件。
如果robots.txt文件存在,搜索引擎通常会遵循其中设定的规则来抓取网站内容;如果不存在,那么蜘蛛就可以访问和抓取站点上的所有页面。需要注意的是,虽然并非所有爬虫都会100%遵守robots.txt的规则,但主流的搜索引擎(如Google, Bing)都会严格遵循它。
什么是nofollow?
我们可以将整个互联网想象成一个巨大的城市地铁系统,每个网站就像一个独立的站点。搜索引擎蜘蛛的目标就是走遍这个城市的所有站点,而连接站点之间的最主要方式就是链接。
蜘蛛会顺着一个链接不断爬行,从而发现新的内容。在这个过程中,有的站点被链接的次数多,有的则少。这就带来了一个问题:是不是被链接次数越多的网站,排名就越高?
早期,确实有人利用这个机制,通过在各种不相关的网站上发布大量指向自己网站的“垃圾外链”来作弊,从而提升排名。为了应对这种情况,搜索引擎不但改进了算法,还推出了nofollow属性来规范链接市场。
nofollow 是HTML中<a>标签的一个属性值,用法如下:
<a href="URL链接" rel="nofollow">链接文本</a>
一旦<a>标签加上了rel="nofollow",就等于在告诉搜索引擎:“不要追踪这个链接,它可能不受信任,请不要将当前页面的权重传递给它。”
nofollow和robots.txt都能完全禁止搜索引擎抓取吗?
答案是否定的。
很多人误以为一个链接被加上nofollow后,搜索引擎就绝对不会抓取那个页面了。实际上,nofollow只是告诉蜘蛛“此路不通”,不要顺着这条路爬过去,也不要给它投票(传递权重)。但这并不意味着搜索引擎不能通过其他路径(比如其他网站的链接)发现并抓取这个页面。
同理,即便一个网站使用了robots.txt来禁止抓取,但如果有其他网站链接到了这个被禁止的页面,搜索引擎仍然有可能发现它,甚至将其收录到索引中(尽管可能只显示一个URL,没有描述)。
nofollow和robots.txt的屏蔽范围一样吗?
答案是否定的。
两者的作用范围和层级完全不同:
- nofollow 针对的是单个链接,是页面级别的指令,用于阻止蜘蛛顺着某条特定的路径继续前进。
- robots.txt 则是站点级别的指令,它可以禁止搜索引擎抓取某一个URL、某一个目录下的所有页面,甚至是整个网站。
此外,nofollow既可以用于站内链接,也可以用于指向站外的链接;而robots.txt只能控制对自己网站内容的抓取,无法干涉站外链接。
加上nofollow,这个链接就真的没价值了吗?
虽然nofollow链接不直接传递SEO权重,但它依然具有重要的间接价值。比如,当在高权重的论坛或知名博客上留言评论时,网址链接通常会被自动加上nofollow。但这难道就没有意义了吗?当然不是。
- 品牌曝光: 你的网站或品牌名多出现一次,就增加了一次曝光的机会。
- 引荐流量: 其他用户可能会点击这个链接,直接访问网站,带来真实、有效的自然流量。而高质量的引荐流量本身就是搜索引擎衡量网站价值的一个积极信号。
应该在什么时候使用robots.txt,什么时候使用nofollow?
- 使用robots.txt: 当您不希望搜索引擎抓取网站的整个区域时,例如后台登录页面、用户个人中心、测试目录等。
- 使用nofollow: 当您不希望为某个特定的链接“背书”或传递权重时,例如评论区的用户留言链接、广告链接或指向不受信任网站的链接。

