一条链接里,读者真正读到的只有几个字。地址藏在属性里,样式在样式表里,能被眼睛读出来的只有那段可见文字——这就是锚文本。锚文本是链接唯一的可见部分,它同时承担给读者指路和替目标页命名两件事,所以它不是随手写的几个字,而是这条链接里唯一被真正传递出去的信息。
做外链时经常听到"锚文本要自然、不要堆词"这类说法,缺了理由就变成了口号。下面把它承担的三件事拆开,再给出能当场执行的自查动作。
锚文本是链接里唯一被读到的文字
Google 在链接如何被发现和传递的说明里,把锚文本(也称链接文字)定义为链接的可见文字,并说它同时告诉读者和 Google 关于目标页的一些信息。同一个页面里还给出了正反例:把锚文本写成"点击这里""阅读更多""我们的网站"属于过于笼统;写成能让读者预期下一个页面内容的描述,才算合格的锚文本。
这解释了一件事:锚文本的判断标准是"脱离上下文单独读还能不能看懂"。如果只把锚文本三个字拎出来,你不知道那是个什么页面,锚文本就写得太泛了。
锚文本承担的三件事
- 给读者指路:告诉对方点进去会看到什么,决定了他要不要点。这一条纯从体验出发,跟搜索无关,但对 B2B 站点的引荐质量影响最大。
- 替目标页命名:目标页的标题、导航、页面主题都是从多个信号里推断出来的,锚文本是其中最直接的一个文本信号。
- 给链接定位:锚文本和周围的句子一起,决定这条链接在讲什么。Google 明确提示,链接前后的词有意义,要按整句来看,并且不要把链接一个挨一个连成一串。
第三条是实际操作中最容易忽略的。同一条链接,放在"我们参考了某某机构的年度报告"这句话里,和孤零零地出现在推荐位里,指向的信息量完全不同。周边没有文字的链接,读者只能靠锚文本猜,猜错了就跳出去,页内阅读到此为止。

写锚文本时的三个自查动作
- 单独读一遍:只把锚文本拎出来,看能不能独立说明目标页是关于什么的。读不出来就重写。
- 看前后文:读一下这个链接所在的那一整句,确认读者能推断出为什么要点它。句子里不要同时塞三个链接。
- 看长度:描述性优先,但别把整句话塞进锚文本。Google 给的提示是写得自然,不要硬塞进所有相关关键词,并提醒关键词堆砌属于它列举的违规情形。
外链侧的锚文本还有一层要求:它应该描述对方的页面,而不是描述你自己想被当成什么。写成自己品牌名、写成"点击这里"、写成和对方页面无关的词,三种都让这条链接的指向变模糊。跨站点锚文本的分布原则,锚文本要多样化还是保持克制里给的是判断方法。
还有一件容易漏的事:常规链接不需要任何声明。Google 在rel 属性的官方定义里说,对于你希望 Google 照常抓取和解析的普通链接,不用加 rel 属性;sponsored 用于广告和付费位置,ugc 用于评论和论坛帖这类用户生成内容,nofollow 用于其他值都不适用、并且你不希望 Google 把你的站点和目标页关联或从你的站点去抓取它的时候。很多站长把每个外链都加上 nofollow,这属于对规则的误读。
两种例外:空锚文本与图片链接
- a 元素里没有文字时,Google 可以退回使用该元素的 title 属性作为锚文本。所以空链接不是完全没信息,但这是兜底,不是首选。
- 图片做链接时,Google 用 img 元素的 alt 属性作为锚文本。空 alt 加空锚文本,读者和抓取程序都拿不到任何描述。
- 用 JavaScript 动态插入锚文本时,要确认它确实出现在渲染后的 HTML 里,而不是只存在于原始源码。
怎么验证锚文本真的被读到
三步。第一步看渲染后的页面:右键复制链接地址、对比锚文本,确认地址就是你要的那个目标页,而不是被某个脚本换成了别处。第二步看密度:把一页里所有出链的锚文本抄到一张表上,横着读一遍,如果出现三处以上完全相同的锚文本,或者全篇都是同一个品牌名,这页的锚文本就分布有问题。第三步看落点:对方页面拿到你的这条链接时,锚文本有没有准确描述它。
反例对照比正向建议好用。同一篇文章,把"点击这里"换成对方页面的实际主题、把放在列表末尾的链接挪到正文段落中间、再把连在一起的三个链接拆开分布在不同句子里——这三处改完不需要重新排名测试,读者点进去的意愿就已经变了。判断链接位置是否需要调整,垃圾外链识别信号里也有一部分标准可以借用。
下次写外链沟通话术时,把锚文本当成正文的一部分来写,而不是当成一个链接生成器吐出来的默认文字。