在站点运营中,nofollow像一把双刃剑。许多站长都知道它能控制爬虫的链接传递,却忽略了它对URL发现过程的负面影响。尤其是当nofollow被错误地用在站内链接上时,搜索蜘蛛就无法通过这条路径发现目标页面,从而造成有效内容长期沉没在抓取盲区里。
站内nofollow:看起来安全的阻断器
nofollow最初是为了对付垃圾评论而设计,后来大量用于外链管理。但在实际站点中,不少运营者因为听过“集中权重”或“防止爬虫浪费预算”的说法,就把站内链接也加上nofollow。比较典型的做法有几种:为了强调首页权重,给全站页脚的所有链接加上nofollow;在列表页模板中给“查看更多”按钮加上nofollow;甚至有人给正文里的“相关推荐”区块统一添加nofollow。
这些操作表面上看是“引导”蜘蛛,实际却是在给自己制造抓取断层。因为当搜索蜘蛛从一个页面发现新URL时,主要就是靠普通链接。一旦链接带有nofollow,搜索引擎大概率会忽略这条路径。如果目标页面没有其他入口,那它就很难被及时爬取,更不用说参与后续排序。
为什么说误用会直接拖慢URL发现
URL发现是抓取的前置步骤。搜索蜘蛛通常是从首页、sitemap或外链进入站点,然后沿着当前页面上的可抓取链接逐层遍历。假如某一层中若干个关键导航链接都被nofollow,蜘蛛就无法进入下一层,对应的二级或三级页面只能等下一次通过别的方式碰见。
比如一个电商站点,分类页到商品详情页的链接被加上nofollow,并且商品详情页没有出现在sitemap中,那么蜘蛛每次进入分类页也会忽略这些商品链接。结果是商品页的收录周期变得非常长,新增商品的曝光几乎为零。更麻烦的是,这种问题在日志里不会表现为错误码,而是干净的“未抓取”状态,只看统计很难定位。
用蜘蛛池审计“被遗忘”的入口链接
既然肉眼排查容易漏,又不想等待搜索引擎自行反馈,我们可以借助自建的蜘蛛池来做主动审计。蜘蛛池可以模拟主流搜索引擎的UA,按照我们设定的频率对站内关键入口进行抓取,同时记录每个抓取出来的页面中带有rel="nofollow"的链接。
具体做法是:先梳理站点的核心目录层级,通常包含首页、频道页、列表页、详情页。然后配置蜘蛛池,从首页开始模拟爬取两层到三层深度,并输出所有带nofollow属性的内链地址。这些地址组成一份“被阻断候选清单”。再结合站点结构和业务重要性,人工或写脚本判断哪些属于误加。
审计时需要关注的几类典型误伤位置
- 面包屑导航:虽然面包屑对抓取权重贡献不大,但它能帮助蜘蛛明确路径关系。若给面包屑中的父级页面添加nofollow,会导致父级页面失去一个稳定的内链入口。
- 分页链接:列表页的第二页、第三页往往依赖“下一页”链接被蜘蛛发现。如果这个链接上出现了nofollow,深分页的内容就可能长期无法抓取,尤其是列表很少被外部引用时。
- 正文中自然产生的锚文本链接:不少内容编辑系统会自动给相关文章或标签添加nofollow,这种普遍性误伤会让整站的内部链接网络变得稀疏。
- 页脚常用链接:关于我们、联系页等虽然不追求排名,但如果被nofollow,无伤大雅。但一些站点把这些链接都加了nofollow后,页脚又作为唯一入口,那这些基础页面的发现也会受到影响。
修复思路:从移除误加开始,而不是增加更多限制
当我们用蜘蛛池拿到清单后,第一步并不是简单地把所有nofollow移除,而是根据链接语义重新判断。核心原则是:站内链接是用来构建信息架构的,不宜使用nofollow。如果你想阻止某些页面被收录,应该使用robots meta或者更直接的在robots.txt里屏蔽,而不是阻断链接路径。
清理时,优先处理结构入口的链接,比如主导航、侧栏推荐、内容区前置位。这些位置的nofollow消除后,蜘蛛池再抓一次,就能看到下一级URL的发现率有明显提升。其次,检查模板代码,很多程序会在循环列表时统一给输出链接加上nofollow属性,特别是内容管理系统中的“自动加nofollow”插件,有时会误伤内部链接。建议在开发层面区分外部链接和内部链接,只对外链域名加nofollow。
对于安全登录、后台入口这类确实不希望蜘蛛跟踪的链接,可以继续保留nofollow,但更好是用robots meta或登录页的noindex来限制收录,同时保留链接路径,让蜘蛛知道这些入口存在但不应入索引。
用蜘蛛池做持续巡检,避免回归
修复不是一次性的任务。随着内容团队不断编辑页面,新的“友情链接”、赞助商模块等都可能被习惯性地加上nofollow。如果没有持续监控,nofollow误加就会悄悄回来。
我们可以把蜘蛛池的审计脚本设置成周期性任务,比如每周或每两周对全站重要模板页面跑一遍。发现新出现的nofollow内链就通知运营审核。这种主动审计不需要真实搜索引擎反复请求,也不会给服务器带来很大压力。相比等待搜索引擎自己发现并更新,这种方式能让站点在URL发现阶段就保持通道干净。
最后说一点:nofollow不影响“抓取”本身?
有的资料说nofollow只是不传递权重,蜘蛛仍然可能抓取该链接。这并不矛盾。在真实抓取中,搜索引擎通常仍会跟踪并抓取nofollow链接,但不会将其视为推荐的信任票。对于URL发现而言,重要的不是能不能发现,而是搜索引擎是否把它当作一个值得分配抓取预算的入口。大量nofollow会让蜘蛛认为该链接不重要,从而降低后续抓取的深度和频次。
因此,不要指望搜索蜘蛛会每次都“顺路”抓一下nofollow链接。更稳妥的思路是,让所有需要被发现的URL都有至少一个不带nofollow的内链入口,再配合sitemap和外链作为补充。站点运营是一项长期工程,把误加在站内链接上的nofollow清理干净,就是为搜索蜘蛛铺平一条通畅的发现路径。