rel="nofollow" 已非禁止爬虫指令而是语义提示,谷歌自2020年起将其降级为“hint”,仍可能抓取并收录链接;配合rel="ugc"或rel="sponsored"可更精准传达链接意图。

rel="nofollow" 不再是“禁止爬虫访问”的铁律,而是搜索引擎用来理解链接意图的提示信号——它主要影响权重分配逻辑,而非抓取行为本身。
为什么加了 rel="nofollow 还可能被收录?
2020年起,谷歌已将 rel="nofollow" 从硬性指令降级为“提示(hint)”。这意味着:
- 爬虫仍可能主动发现并抓取该链接目标页(尤其当其他高权重页面链向它时)
- PageRank 或类似权重传递机制会大幅弱化,但不绝对归零
- 若同时存在
rel="ugc"或rel="sponsored",搜索引擎能更精准建模链接性质,反而比单用nofollow更有效
rel="nofollow" 在外部链接中的实际权重影响
对外链使用 rel="nofollow" 的核心目的不是“封死”,而是“去背书”:
- 不传递锚文本相关性:目标页无法通过该链接获得关键词匹配加成
- 稀释页面出站权重池:一个页面的出站链接越多,每个链接分到的原始权重越少;加
nofollow后,这部分权重不会被“浪费”,而是留在当前页或流向其他非nofollow链接 - 对友情链接无效:给友链加
rel="nofollow"属于反SEO操作,对方很可能同步撤下你的链接
什么时候该用 rel="ugc" 或 rel="sponsored" 替代?
单纯写 rel="nofollow" 已是过时做法。按内容性质选择更细粒度的值:
立即学习“前端免费学习笔记(深入)”;
- 用户评论、论坛发帖里的外链 →
rel="ugc"(明确告诉搜索引擎“这是用户写的,我未审核”) - 广告位、联盟推广、付费导流链接 →
rel="sponsored"(符合 Google Ads 政策,避免被判定为操纵排名) - 既属用户生成又含商业意图(如带返佣的读者投稿推荐)→
rel="ugc sponsored"(多值空格分隔,合法且语义清晰)
容易被忽略的兼容与实操细节
前端写法看着简单,但几个细节常导致失效:
-
rel必须写在<a>标签内,不能只靠<meta name="robots" content="nofollow">代替——后者只作用于整页所有链接,粒度太粗 - 多个
rel值之间用空格分隔,不是逗号:rel="ugc nofollow"错,rel="ugc nofollow"对(注意空格) - 如果链接还用了
target="_blank",务必补上rel="noopener"(安全必需),组合写法如:rel="ugc noopener" - WordPress 等 CMS 可能自动过滤
rel属性,需检查编辑器设置或用插件白名单
真正关键的不是“要不要加 nofollow”,而是“你想让搜索引擎怎么理解这条链接”。把 rel 当作语义标签来用,而不是权重开关。



















