外链被打折之后:rel=nofollow、sponsored 与 ugc 属性的语义差异与站点落地

2026-10-02 01:18:57 0 次浏览
SEOGoogle搜索外链建设rel属性网站优化链接权重

适用读者:管着制造业 B2B 官网的开发工程师和 SEO 执行者。你的站上有合作商目录、广告位、访客评论区,这些位置挂出去的每一根外链,都可能牵动整站的链接信号。这篇文章把 rel 三个属性讲透,再给一张能照着改的链接清单。

上个月帮一家做工业阀门的外贸厂做技术 SEO 体检,运营负责人老周翻着后台直嘟囔:花了两万多在三个行业媒体投软文,目标词排名纹丝不动。我点开他投的软文页面一看,跳回来的链接全带着 nofollow,再问他知不知道 2019 年 Google 把 nofollow 从指令降级成了提示、还顺手加了两个新属性,他愣了半天说「nofollow 不就是不让传递权重吗,有区别吗」。区别大了——这事儿一晃过去五年多,不少站的操作还停在 2018 年。

2019 年 9 月,Google 官方博客发文宣布调整外链标记体系:nofollow 不再是硬性指令,变成给排序系统的一个「提示」;同时引入 rel="sponsored" 专门标付费和广告链接,rel="ugc" 标用户生成内容的链接。三个属性长得像,语义完全不同,站点该在哪个位置用哪一个,值得从头捋一遍。

nofollow 跑了十四年,那次到底改了什么

2005 年,博客评论垃圾链接泛滥,Google 推出 nofollow,本意是让站长一句话掐断评论区的垃圾外链。WordPress 等建站系统默认给评论区链接加上这个属性,no follow 逐渐从「堵评论垃圾」扩散成外链处理的默认姿势,一直用到 2019 年。

链接标签与权重传递的主题插画

这十四年里,nofollow 是指令:Google 承诺不抓取(作为抓取目标)、不传递权重、不把它当作排名信号。规则写得明明白白,站长说了算。

2019 年的改变把这套确定性拆掉了。nofollow 从指令降级成提示:Google 的各个系统「可以自行决定」如何处理带这个属性的链接——可能不抓,也可能抓;可能不计权重,也可能把链接用作其它用途,比如发现新页面。官方给出的理由是:十五年过去,各团队对链接信号的使用早已超出当年的硬规则,与其让一条过时的指令框死所有用途,不如把决定权收回到排序系统内部。

当年一同上线的就是另外两个新属性,把原来 nofollow 一锅炖的场景拆细了:

属性 引入时间 语义 对权重传递 对抓取 典型场景
rel="nofollow" 2005(2019 改提示) 拿不准、不背书、兜底 提示级降权或置零 系统自行决定是否抓 采集数据、不确定来源
rel="sponsored" 2019 付费或广告链接 同样只作提示 系统自行决定 广告位、软文、联盟链接
rel="ugc" 2019 用户生成内容里的链接 同样只作提示 系统自行决定 评论区、论坛帖子、访客投稿

关键点:三个属性在「不给权重」这件事上效果类似,差别在语义诚实度。 Google 明确说 sponsored 和 ugc 在处理上视同 nofollow 作为提示,但它们告诉 Google 的信息更精确——这根链接为什么不值得直接背书。

三个属性的语义差在哪

rel=nofollow 是兜底的不确定

现在 nofollow 的官方定位是「适用于其它属性覆盖不了的场景」:来源不明的聚合数据、你不想背书又不敢判断的链接、历史遗留批量加过属性的旧链接。它的潜台词是「我说不清这根链接的性质,系统你自己看着办」。

rel=sponsored 标的是钱

凡是花过钱换来的链接曝光——广告位、赞助内容、软文投放、联盟营销跳转链——都应该用 sponsored。注意它的判断标准是商业交易,不是链接质量。一根软文链接写得再有含金量,只要钱到了对方手里,语义上就是 sponsored。Google 的链接垃圾政策里明确要求付费链接必须做限定标记,不标属于违规。

rel=ugc 标的是你管不住的人

评论区、论坛、访客留言、用户提交的资料页——凡是你站点上内容由访客产生、你没法逐条审核的,挂出去的链接用 ugc。制造业 B2B 官网常见的场景是产品评价区和留言板,访客顺手贴了自己公司的网址,这根链接你既删不掉又不敢背书,ugc 就是为这种局面设计的。

三个属性怎么选,画成决策图一眼就明白:

flowchart TD
    S["站点 outbound 链接"] --> Q1{"对方收钱了没"}
    Q1 -->|收了| R1["rel=sponsored"]
    Q1 -->|没收| Q2{"内容是谁写的"}
    Q2 -->|访客 评论区 投稿| R2["rel=ugc"]
    Q2 -->|编辑自己核过的| R3["不加属性 正常传递信号"]
    Q2 -->|拿不准 采集聚合来的| R4["rel=nofollow 兜底"]

外链信号在抓取索引排序链路里的哪一步被消化

很多人把 rel 属性当成纯排名话题,其实它的作用点分布在链路的两个不同阶段。先把整条链路摆出来:

flowchart LR
    A["抓取调度器"] --> B["下载页面 解析链接"]
    B --> C["链接图谱 记录 rel 标记"]
    C --> D["索引阶段 收录与去重"]
    C --> E["排序阶段 外链信号加权"]

抓取阶段,rel 提示主要影响两件事:调度器要不要把链接加入抓取队列,以及抓到目标页之后要不要继续顺着链接扩散。2019 年之后 nofollow 链接可能被抓取这一点是官方明说的,用意是发现新页面——对你有利的一面是:即使别人用 nofollow 指向你,你的新页面仍可能被爬虫顺着摸到。

索引阶段处理的是收录与去重,rel 属性在这一步基本不参与,页面能不能进索引主要看内容质量和站点整体状况。

排序阶段才是权重计算发生的地方。链接图谱里记录的 rel 标记,作为特征输入给各个排序系统,每个系统自行决定这个提示值多少分。这也解释了一个常见现象:同样一根 nofollow 外链,在不同查询下的效果并不一致——因为提示的消化方式不是一个固定公式,而是分散在多个系统里各自处理。

原理剖析:从指令到提示,权重流动的底层逻辑变了什么

把外链看成图结构上的边,PageRank 一类的权重流动模型就好理解了:页面的分数沿着出链分给目标页,出链越多每根分到的越少。

指令模型下(2005 到 2019 的 nofollow),规则引擎在链接解析时直接改写图结构——带 nofollow 的边被视作不存在,权重不流过去。这是硬约束,确定性拉满,但代价是图结构失真:一个页面十根出链掐掉三根,剩下七根的分法要么按原比例放大,要么那份权重直接蒸发,两种处理都不符合真实世界「这根链接有点可疑但未必一文不值」的判断。

提示模型下,rel 标记不再改写图结构,而是变成了排序特征。边还在图里,带着 sponsored、ugc、nofollow 的类别标签进入计算,各排序系统把这个标签当作一个信号维度去学习。说得白话一点:Google 不再「立法禁止」可疑链接参与权重流动,而是让各个模型自己学会给可疑链接打折,打几折、什么时候打,由模型从训练数据里学出来。

这个变化对站长意味着两件事。一是效果不再二元化——nofollow 外链不是「零作用」,官方博客明确提到它仍可用于抓取发现,排序层面的影响也由硬置零变成了软降权。二是可控性下降——指令时代你说了算,提示时代系统说了算,站长能做的只是把语义标准确,让系统拿到最干净的输入。

站点落地:一张 outbound 链接清单

理论捋完,回到老周那类制造业 B2B 官网。站上的 outbound 链接位置就那么几类,逐个过一遍:

链接位置 典型例子 该用的属性 理由
合作商/经销商目录 编辑逐家核过的伙伴页 不加属性 编辑性背书,是正常信任信号
侧边栏/页脚广告位 客户付费的展位链接 rel="sponsored" 钱到位了,语义必须诚实
评论区/留言板 访客贴的签名和官网链接 rel="ugc" 内容非你产出,不背书
参考资料引用 行业报告、标准文件的原文页 不加属性 编辑性引用,正常分流
赞助内容外链 花钱买的媒体软文回链 对方页面控制 对方应标 nofollow 或 sponsored
采集/聚合数据里的链接 目录站抓来的第三方地址 rel="nofollow" 来源不可控,兜底
联盟营销跳转 带追踪参数的推广链 rel="sponsored" 商业交易属性明确

落到代码上,同一页面的四种写法长这样。环境要求:HTML5 模板,无需额外依赖:

<!-- 场景一 合作商目录 编辑核过的伙伴 正常加 -->
<a href="https://partner-a.example.com">华信阀门官网</a>

<!-- 场景二 侧边栏广告位 客户付费买 标 sponsored -->
<a href="https://expo.example.com" rel="sponsored">伺服电机展位</a>

<!-- 场景三 评论区访客签名 非站长产出 标 ugc -->
<a href="https://blog.example.com" rel="ugc">技术博客一枚</a>

<!-- 场景四 聚合目录数据 来源拿不准 用 nofollow 兜底 -->
<a href="https://dir.example.com" rel="nofollow">行业目录页</a>

清单落不了地多半是因为站上链接散落在几十个模板里,写个小脚本全站扫一遍就能摸清家底。依赖:requests、beautifulsoup4,环境 Python 3.8 以上:

# 依赖 requests、beautifulsoup4,环境 Python 3.8+
# 用途 扫模板里的 outbound 链接 按 rel 属性分组输出
import re
from urllib.parse import urlparse
from bs4 import BeautifulSoup

def scan(html, own_domain):
    soup = BeautifulSoup(html, "html.parser")
    for a in soup.find_all("a", href=True):
        url = a["href"].strip()
        # 跳过锚点、js 伪协议这类非链接项
        if url.startswith(("#", "javascript:", "mailto:")):
            continue
        # 站内跳转不参与 outbound 信号 不用管
        if urlparse(url).netloc == own_domain or not urlparse(url).netloc:
            continue
        # rel 可能是多值空格分隔 比如 noopener nofollow
        rel = " ".join(a.get("rel", [])) or "无属性"
        # 输出后按域名归类 人工过一遍该标什么
        print(urlparse(url).netloc, "|", rel, "|", url[:60])

跑出来的结果按域名归堆,逐个对照上面的表格决定属性,改模板比改页面省事得多。老周的站这样扫了一轮,从 CMS 模板里一次性修掉了两百多根该标未标的链接,评论区模板从默认 nofollow 换成了 ugc,广告位标了 sponsored。

三个常见的坑

坑一:全站无脑 nofollow。 有团队听说 nofollow 省心,把所有 outbound 一律加上。这么干等于告诉 Google「我的页面上没有任何一根值得背书的链接」,而 outbound 链接质量本身是站点整体质量信号的一部分,把编辑性引用也掐掉,白费劲还倒扣印象分。

坑二:sponsored 和 ugc 随手混用。 两个属性行为上确实等效,但语义不同。广告位标成 ugc、评论区标成 sponsored,短期看不出差别,等系统对两类链接的细分处理越来越精,标错的页面就要吃亏。标注成本一样,按语义来就好。

坑三:只改 a 标签忘了 CMS 的组合写法。 很多模板里 rel 是多值的,比如 rel="nofollow noopener",改的时候要么漏掉其中一个类目,要么把 noopener 这类安全属性误删。改完用上面的脚本再扫一遍,确认每个类目的 rel 值都符合预期。

结尾:外链之外,AI 引用是另一条线

把 rel 属性用准,本质是把站点对外的信任信号说清楚——哪些链接你背书、哪些不背书、为什么不背书。传统搜索引擎时代,这套信号直接进入排序计算;往后走,生成式搜索引擎也开始消费同样的网页语料,只是路径更间接:AI 引用更看重内容是否被多个独立来源一致提及,外链对它的影响要经过发现和权威建立这两道中转。所以 rel 属性的活儿仍是基础功,标准了,不管下游是经典排序还是 AI 引用,你的页面都拿到的是干净的输入。你的站上还挂着哪类链接拿不准属性,欢迎评论区贴出来一起看。

参考与延伸

  • Google 官方文档:限定出站链接(qualify outbound links)—— https://developers.google.com/search/docs/crawling-indexing/qualify-outbound-links
  • Google 官方博客:Evolving nofollow —— https://developers.google.com/search/blog/2019/09/evolving-nofollow
  • Google 搜索要素:垃圾内容政策(链接垃圾一节)—— https://developers.google.com/search/docs/essentials/spam-policies

SEO、网站优化、nofollow、sponsored、ugc、外链权重、技术SEO

🤖
本内容由 AI 辅助生成,经人工校对审核;部分素材、资料来源于公开网络,仅作个人观点分享与交流使用,无任何商业侵权意图。若内容、图片、文字涉及您的合法著作权、版权权益,请联系本人,核实后将第一时间删除、修改相关内容。