Nofollow是什么意思:三个rel值怎么分,2019年起排名只当提示

倪叶明

作者

更新于

2005年为了打压评论垃圾,nofollow被加进了HTML。到2019年Google改口了:你在a标签的rel里写上这个值,等于说这条链接我不背书,话它收到了,但它只当参考,不会完全照办。

做英文站的人每天都在往外放链接。产品页里提到别人的工具,投稿里答应了对方的链接,评论区里读者自己贴的网址。这些链接标不标、标哪个值,决定Google怎么读你和这些站的关系,也关系到广告和赞助链接有没有按规则标清楚。

WordPress 编辑器说明页截图
实操截图:WordPress 官方编辑器说明页,链接在编辑器里改。
  • nofollow是rel的一个取值,用来标记不想背书、也不想传排名权重的链接。
  • 三个值的分工:广告和赞助用sponsored,评论、论坛帖这类用户内容用ugc,其余不想背书的用nofollow。
  • 2019年9月10日起,三个值在排名上都只当提示,用来判断哪些链接考虑、哪些排除。
  • 写法是在a标签里加rel值,一条链接可以写多个值。
  • 它不是用来挡索引的,挡索引用noindex,挡抓取用robots.txt的disallow。

nofollow是什么意思:给不想背书的链接加一个标记

Google给的定义很直接:你想链到某个页面,又不想表达任何形式的认可,包括不想把排名权重分给它,就用这个值。

Google nofollow 公告页截图
官网说明截图:Google 的 nofollow 公告,三个值和旧链接怎么处理。

它最初的用途很窄,主要帮着打压评论区里的垃圾链接。

其实难的地方不在写,在什么时候不写。普通链接,你希望Google正常抓取、正常解析、不加任何限定,就不需要加rel属性。先看这条链接带没带钱,再看是不是用户自己贴的,两个都不是,你又不想给它背书,才轮到nofollow。

页面源码里 rel nofollow noopener 的实操截图
实操截图:文章源码里作者站外链的 rel="nofollow noopener"。

这几个rel属性只用在Google能抓到的a元素上,nofollow是例外,它还可以当robots meta标签用。链接层面和页面层面,这两件事别混。

外链本身的定义在外链是什么那篇,rel值只决定这条链接带什么标记;站内那类内部链接是另一套东西,跟这里讨论的属性不是一回事。

nofollow、sponsored、ugc三个值分别用在哪种链接上

sponsored管的是带钱的链接。作为广告、赞助或其他补偿协议一部分创建的链接,就用它标记。别人给了你钱、给了你货、给了你折扣,这条链接该是这个值。

ugc是User Generated Content的缩写,用在用户自己产出的内容里。评论区和论坛帖是典型。评论区开不开是你的事,开了,里面读者贴的链接就该用这个值。

站上要是有论坛或问答区,用户能自己插链接,这些链接也一样,加ugc或nofollow。反过来,某个用户长期贡献质量高,你也可以把这条属性从他发的链接上撤掉。

前面两个都不合适,你又不想给这条链接背书,就用它。

除了赞助链接这一种情况,没有用错属性这回事。你把一条普通的非广告链接标成sponsored,Google收到的是「这条不算权重」的提示,最坏结果也就是这条链接不给它指向的页面加分。

反过来才是真问题。任何明显是广告或赞助的链接,都该用sponsored或nofollow,Google更偏好sponsored,nofollow也可接受,在这个用途上两者被同等对待。

一条链接写多个值是合法的。rel="ugc sponsored"表示这条链接既来自用户内容、又带赞助;也可以把nofollow和新属性写在一起,比如rel="nofollow ugc",目的是兼容那些还不认新属性的服务。Google说,用新属性可以让它更好地处理链接、分析站点之间的关系,这也是它新增sponsored和ugc的原因。

和它相对的叫法dofollow,说的是不加rel属性的普通链接:你希望Google正常抓取和解析,就不需要写任何限定值。所以不用记「dofollow链接」这种词,记「加不加、加哪个值」就够了。

WordPress 链接设置 Advanced 面板的实操截图
实操截图:WordPress 链接设置里点 Advanced,rel 值在这个面板里填。

2019年之后排名上nofollow只是提示,不是指令,原话怎么说

2019年9月10日,Google发布了sponsored和ugc两个新值,和原来的nofollow并排。同一天它把旧账翻出来讲清楚了:nofollow刚出来那会儿,Google不会把这样标记的链接当成搜索算法信号,现在这一点已经改了。

现在的口径是,sponsored、ugc、nofollow三个值都当作提示,用来判断在搜索里考虑哪些链接、排除哪些链接。Google写的是:All the link attributes, sponsored, ugc, and nofollow, now work today as hints for us to incorporate for ranking purposes. 提示的意思是它会看,然后自己决定怎么处理,不是你说不算就不算。

那为什么不干脆全部忽略?说白了,它要的不是挡住链接,是读懂链接。链接文字怎么描述它指向的页面,是有价值的东西;把一条条链接都过一遍,也更容易看出不自然的链接模式。你要的「别传权重」它收到了,它同时还要用这条链接读懂两个页面在讲什么。

这里有个时间差容易看漏:排名用途上,三个值2019年就生效;抓取和索引用途上,nofollow要到2020年3月1日才变成提示。拿2020年之前的老经验去解释今天的抓取行为,很容易对不上。

改成提示,官方说ugc和nofollow仍会是进一步的威慑。存量不用动,用nofollow屏蔽赞助链接、或者表示你不为某个页面背书,会继续被支持,方便的时候再换成sponsored,不换也没事。先把新写的链接标对,比翻旧账有用。

nofollow怎么加:a标签写法、多个值怎么排、WordPress函数能做什么

WordPress 链接教程目录里 Mark a link as nofollow 的截图
实操截图:WordPress 链接教程的目录,「Mark a link as nofollow」在右侧。
  1. 先给每条链接定一个值。广告、赞助、带补偿的写sponsored,也可以写nofollow,Google更偏好sponsored;评论区、论坛帖里的写ugc;剩下你不信任的来源写nofollow。归错堆的代价不大,漏标广告链接才是真麻烦,核对的时候重点看带钱的那几条有没有漏。
  2. 在a标签里写rel。单值写法是<a rel="nofollow" href="https://example.com/">链接文字</a>,把href换成你自己的目标地址,sponsored和ugc同理。要写多个值,空格和逗号两种分隔都可以,比如rel="ugc nofollow",也可以写成rel="ugc,nofollow"。核对就看两件事:值有没有拼错,多个值之间有没有分隔符。
  3. WordPress的wp_rel_nofollow()函数是保存前的过滤器,会给内容里所有a元素加上rel="nofollow",WordPress 1.5.0就有了。它不分类,站内链接也会一起加上;普通站长不用写PHP,存量文章还是在编辑器里一条条改。

多个值之间用空格或逗号都行,rel="ugc nofollow" 和 rel="ugc,nofollow" 都合法。rel 写在 a 标签里,和 href 并列;不是写在链接文字上,也不是写在 CSS 里。归堆时先看钱,再看是不是用户自己贴的,两个都不是,再考虑 nofollow,别凭感觉分堆,先归堆再写。

页面级的 nofollow 写在 robots meta 里,告诉 Google 不要顺着这页的链接往下抓;它和链接级的 rel="nofollow" 不是一回事。

函数只负责加标记,不负责判断该不该加。站内链接、导航、正文里的普通链接都会被一起加上 nofollow,它不适合拿来做精细分类。

保存后回前台刷新页面,看链接和正文有没有按预期显示;不放心再右键看源码。多检查一遍不吃亏,后面少返工。

投稿换来的链接更要过一遍这三步,客座博客外链那篇讲这类链接怎么用。

WordPress 官方链接教程页的实操截图
实操截图:WordPress 官方链接教程,目录里就有「Mark a link as nofollow」。

nofollow写错的四个地方:挡索引、全站加、广告漏标、以为不会被抓

拿它当挡索引的开关

挡不住,也不该这么用。用nofollow单独阻止页面被索引,从来不是推荐做法;想挡索引,就允许抓取再加noindex规则,想挡抓取,用robots.txt的disallow。核对动作很简单:那个页面你到底是不想让它被抓,还是不想让它被索引,先答清楚这一句,再去改对应的设置。

这两件事各有一个更可靠的开关,做法在站内SEO优化里,别指望一个rel值把两件事一起办了。

给站上每个外链都加

不需要。Google给的界限很清楚:只在你不信任来源的时候用,不要给站上每条外链都挂上。核对就翻几篇文章,把外链列出来,逐条问一句「我信不信任这个来源」,不信任的那几条才留nofollow。

广告和赞助链接漏标

这是唯一算用错的情况。明显是广告或赞助的链接,必须用sponsored或nofollow,优先sponsored。核对把这个月所有收了钱、收了货、做了置换的链接列出来,看每条有没有带值。买来的链接牵扯到另一头的风险,买外链有用吗讲的是那头的坑,这篇只管属性怎么写。

以为加了nofollow就不会被抓

不一定。带这些rel值的链接通常不会被跟随,但被链页面还能通过sitemap、通过别的站的链接被发现,照样可能被抓取。核对看的是页面自己的设置,不是这条链接上的值。

AI能帮你查rel值,这三步必须自己动手

改rel这件事,AI最适合干的是把清单先摆出来,判断和动手留给你自己。

  • 让AI把一段HTML里的a标签全列出来,标出哪些带rel、哪些没带。
  • 让它按广告或赞助、用户内容、其他不背书这三堆,给每条链接一个建议值。
  • 让它把多值写法过一遍,看有没有拼错、漏写、少分隔符。

下面三条提示词是本文给的示例,不是官方模板,复制就能给AI用:

  • 「下面是一段HTML,请列出所有a标签,逐条标出href、现有rel值,以及是否缺少rel,不要改代码,只做清单。」
  • 「按Google的三种rel值sponsored、ugc、nofollow的定义,帮我判断下面这些链接各该用哪个值,逐条给理由,理由只引用我给的定义,不要自己加规则。」
  • 「检查下面这些a标签的rel写法,多个值是否用空格或逗号分隔,指出格式问题,不要改内容。」

AI给你的只是清单,别直接贴进页面。必须你亲手做的有三件:打开要改的那篇文章,在编辑器里给链接手动写上rel值再保存;改完在浏览器里打开页面,右键查看源代码,搜rel=,确认值真的写进去了;决定哪条加、哪条不加,广告和赞助的加sponsored或nofollow,评论和论坛的加ugc或nofollow,你信得过的来源不加。这三件事AI都替不了。

清单列完,逐条整理、标记哪些缺rel、哪些写错了,这种活可以交给猎者出海的AI Agent里做SEO/GEO那一块,判断和手动填值还是你自己来。先拿一篇文章试,把外链归成三堆,按上面的示例写rel,再自己核一遍源代码。

常见问题

nofollow和dofollow有什么区别?

dofollow不是官方术语,指没加rel的普通链接。加了nofollow,等于告诉Google这条链接你不背书;不加,就按普通链接处理。

nofollow的替代方案是什么?

sponsored用于广告和赞助链接,ugc用于用户内容,它们各管一类,不是nofollow的通用替代。挡索引、挡抓取各有自己的开关,nofollow顶不了。

我以前加的nofollow需要全部改成sponsored吗?

不需要。已有的nofollow不用改,方便的时候换成sponsored就行,不急。

一条链接能同时写nofollow和ugc吗?

能。多个rel值合法,rel="nofollow ugc"本来就是为兼容不认新属性的服务准备的,两个值写在一起不冲突。

用错属性会不会出问题?

除了广告和赞助链接,别的用错几乎没有代价,最坏是那条链接不算权重。

发表评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注