搜尋抓取

連結周围的文字:锚文本與上下文怎样影响蜘蛛對 URL 的理解和抓取

锚文本和連結周围的文字,是蜘蛛理解一個 URL 的重要线索。本文說明連結里包含哪些抓取信息、哪些锚文本寫法信息量過低,以及如何通過連結位置、上下文和内鏈一致性,让蜘蛛更顺利地判断連結指向什么内容。

搜尋抓取

連結周围的文字:锚文本與上下文怎样影响蜘蛛對 URL 的理解和抓取

很多站点在做内鏈时只關心“有没有連結”,很少關心連結怎么寫。结果頁面上堆着大量“点击這里”“了解更多”“查看詳情”,蜘蛛能看到 URL,但對這個 URL 是什么、值不值得優先抓,几乎没有額外信息。锚文本和連結周围的文字,就是用来补上這层信息的。

蜘蛛從一個連結里能讀到什么

一個普通的 a 标簽,在抓取阶段會被拆成几部分信息:

  • 目标地址本身,也就是 href 指向的 URL;
  • 可点击的文字,也就是锚文本;
  • 連結所在句子的前後文,這是最容易被忽视的一部分;
  • 連結在頁面里的位置,導航、正文、頁脚传递的含义並不相同;
  • 同一個 URL 在站内被連結了多少次,用的是什么文字。

這些信息不會决定一個 URL 能否被發現,但會影响蜘蛛對它的描述,以及後續再抓取时的判断。

锚文本不會让 URL 被“抓得更多”,但能减少誤判

需要說明的是,锚文本不是抓取開關。寫得好,不會让蜘蛛立刻多抓几百個頁面;寫得糊,也不會让頁面彻底消失。它真正的作用是降低歧义:当一個頁面同时存在几十個指向不同栏目、不同參數地址的連結时,清楚的锚文本能帮助蜘蛛区分它們是不是同一類内容,减少重复抓取和路径缠绕。

几類常见但信息量很低的锚文本

  • 点击這里 / 了解更多:任何頁面都能用,等于没寫;
  • 連結 / 原文 / 出處:只說明這是引用,不說明内容;
  • 孤零零的頁碼數字:分頁可以用,但不寫清是什么列表,容易和其他頁混淆;
  • 關鍵詞堆砌:把三四個词硬塞進一句,讀起来不像人话,上下文也會被拉乱;
  • 同一目标頁几十種说法:说法太散,反而不容易收敛成一個清晰主题。

寫得更有信息量的几個做法

  1. 让锚文本本身就是目标頁的主题词,比如“服務器响應時間排查”而不是“這篇”;
  2. 同一目标頁在不同位置可以用略有差异但语义一致的说法,不要偏离太遠;
  3. 把連結放進相關段落里,让周围句子自带上下文,而不是單獨一行挂着;
  4. 列表頁、聚合頁的锚文本带上范围或條件,比如“早期归档文章”;
  5. 尽量少用纯图片做連結,确需图片时补上可讀的替代文字。

連結位置和上下文,同样影响抓取判断

正文中的一條連結,通常比頁脚里挤在一起的几十條連結更容易被当作“這個頁面想推荐的内容”。同一段话里的連結,蜘蛛可以借助句子判断两者的關系;而導航和頁脚的連結,更多是站点结构的一部分。把重要入口放在正文里,是一種更自然的做法。

一條連結的價值,不在于它出現在多少個頁面上,而在于它出現在什么语境里、用什么文字描述。

和内鏈结构、Sitemap 保持一致

如果 Sitemap 里列了某個栏目頁,站内却没有任何文字鏈提到它,蜘蛛只能靠 Sitemap 知道地址,缺少上下文;反過来,站内到處連結某個頁面,Sitemap 里却没有,也不利于梳理完整清單。比較稳妥的狀態是:重要頁面既有内鏈入口,也在 Sitemap 中出現,且锚文本能說明它是什么。

上线前可以顺手检查的几項

  1. 抽查正文連結,看有多少是“点击這里”這類無信息锚文本;
  2. 检查重要頁面是否有正文級入口,而不是只出現在頁脚;
  3. 確認同一個頁面的锚文本说法大致统一;
  4. 检查連結周围是否有足够文字說明,而不是孤立一行;
  5. 把内鏈、導航和 Sitemap 三者的頁面清單對照一遍,找出只有其中一方知道的地址。

這些改動不會立刻带来明顯變化,但它让蜘蛛在有限的時間里更容易判断“這個地址是干什么的”,對長期的抓取效率是有帮助的。