rel="nofollow"不阻止收录,仅放弃当前链接投票权;它本质是提示而非指令,真实意图需匹配rel值(如ugc、sponsored),且仅对静态标签有效。

加了 rel="nofollow" 并不能阻止搜索引擎收录目标页,它只放弃当前链接的投票权;真正影响权重流动的是这个属性值是否匹配链接真实意图,而不是“有没有加”。
rel="nofollow" 不等于禁止抓取或屏蔽收录
很多人看到目标页被收录了,就怀疑 rel="nofollow" 失效——其实不是。搜索引擎仍可能通过其他路径发现该页:站内导航、sitemap 提交、第三方高权重外链等。它只表示“我不为这个链接背书”,不等于“别去看它”。Google 自 2019 年起明确将其视为 hint(提示),而非指令。
- 加了
rel="nofollow"的链接,锚文本关键词不会计入目标页相关性计算 - 页面出站链接中带
rel="nofollow"的部分,其原始权重会留在本页或流向其他非 nofollow 链接 - 若目标页本身有大量高质量外链,即使所有入口都加了
rel="nofollow",它仍可能获得索引和排名
哪些链接必须用 rel="nofollow"、rel="ugc" 或 rel="sponsored"
混用或错用这三类值,会影响 Google 对链接意图的理解,甚至触发人工审核。语义越精准,越利于长期 SEO 健康。
-
rel="ugc":适用于用户生成内容中的外链,如评论、论坛回帖、留言板签名——它比rel="nofollow"更准确表达“我们不审核,但也不认为有害” -
rel="sponsored":专用于广告、联盟、返佣、软文推广等存在商业关系的链接;仅加rel="nofollow"不够,Google 要求必须显式声明商业属性 -
rel="nofollow":适合临时不可信、未审核、低价值内链(如登录页、404页)——但它正逐步被前两者替代,新项目建议优先选更具体的值 - 多值共存写法正确:
rel="nofollow ugc"或rel="sponsored ugc",但rel="ugc sponsored"是冗余的,因为sponsored已隐含不传递权重
target="_blank" 必须配 rel="noopener noreferrer",否则有安全风险
target="_blank" 本身不影响 SEO 权重,但它默认允许新开页面通过 window.opener 控制原页面——这是真实存在的反向标签劫持(reverse tabnabbing)漏洞,TikTok 2023 年已遭利用。
立即学习“前端免费学习笔记(深入)”;
- 只加
target="_blank"不加rel="noopener",等于主动暴露 XSS 入口 -
rel="noopener"必须与target="_blank"同时出现才生效;单独写无效 -
rel="noreferrer"在旧版 Safari 中不保证切断window.opener,所以二者要一起写,推荐顺序:rel="noopener noreferrer nofollow" - WordPress 等 CMS 自动生成外链时,常漏掉
rel="noopener",需检查模板或插件输出逻辑
rel 属性只对静态 HTML 中的 <a> 标签有效
rel 的语义解析发生在 HTML 解析阶段,JS 动态插入的 <a> 标签、<link> 标签里的 rel、或者 CSS 伪元素生成的链接,都不会被搜索引擎识别为链接关系信号。
-
<a href="xxx"></a>中的rel才参与权重判断;<link rel="stylesheet">里的rel完全无关 - 通过 JS 拼接字符串插入的链接,即使写了
rel="nofollow",爬虫也无法解析其语义 - 服务端渲染(SSR)页面中,
rel值必须在初始 HTML 中存在,CSR 页面需确保 hydration 后仍保留该属性 - 误以为给
<link rel="canonical">加rel="nofollow"会影响权重归集——这是混淆了不同标签的作用域
最容易被忽略的点是:SEO 权重控制的关键不在“加不加 nofollow”,而在“链接结构是否可信”。大量指向低质、被黑或主题无关站点的 rel="nofollow" 链接,仍可能被 Google 判定为关联垃圾网络;而一个干净、语义清晰、来源可信的 rel="ugc" 链接,反而更利于长期信任积累。



















