搜索抓取

锚文本与链接上下文:蜘蛛怎么判断下一个页面值不值得走

蜘蛛在一个页面上收集链接时,除了看 href,还会读取锚文本和链接周围的文字。这些线索会影响它对目标 URL 的初步判断,也影响链接在抓取路径里承担的角色。本文梳理锚文本能提供哪些信息、通用锚文本的代价,以及导航链接、图片链接和正文内链在写法上的差异。

搜索抓取

锚文本与链接上下文:蜘蛛怎么判断下一个页面值不值得走

蜘蛛抓完一个页面的正文之后,会把页面上可跟随的链接全部收集起来,放进待抓队列。多数人优化链接时盯着 href 和 nofollow,很少留意链接的文字部分。实际上,锚文本和链接周边的文字,是蜘蛛在还没访问目标 URL 之前,能拿到的少数线索之一。

锚文本给蜘蛛的三条线索

目标页大致在讲什么

同一个 URL,如果全站都用「价格表」来指它,蜘蛛大概会把它当成一份表格页面;如果都用「某型号打印机报价与配置」,线索就具体得多。这不会直接决定排名,但会影响蜘蛛对这个 URL 的初步归类,也影响它在处理这个页面时的预期。

这条链接是导航还是内容推荐

导航区的链接通常短、重复、全站一致,比如首页、分类、关于我们;正文里的链接往往更长、更具体。蜘蛛从锚文本的形态和位置,大致能区分这两类链接的性质,也就能判断哪些属于站点骨架,哪些属于内容之间的关联。骨架链接几乎每次抓取都会遇到,真正的增量 URL 往往藏在内容链接里。

和当前页的主题是否相关

一篇讲服务器配置的文章里出现指向带宽测试工具的链接,符合主题;同一篇文章里大量出现与主题无关的外链,链接本身的价值就会被稀释。蜘蛛并不做相关性打分,但抓取调度会参考链接所在页面的整体质量与主题集中度。

「点击这里」这类锚文本的代价

「点击这里」「了解更多」「阅读全文」的问题不在于难看,而在于它们把信息量几乎全部丢给了周围的文字。如果旁边的段落写得很清楚,问题不大;如果链接只是孤零零地出现在卡片底部,蜘蛛得到的线索就接近于零。

更麻烦的是批量生成的模板。列表页里几十条记录全用「查看详情」做锚文本,指向的却是完全不同的页面,蜘蛛只能靠 URL 和页面内容去区分,锚文本这一层信息就浪费了。

图片链接、图标链接与按钮

图片链接的可读线索主要来自 alt 属性。一个只有图标、没有可见文字的链接,如果 alt 也为空,蜘蛛能拿到的就只有 URL 本身。这类情况不会导致页面抓不到,但会让链接的语义信息缺失。

用 a 或 button 包裹可见文本最稳妥;如果整站导航都用纯图标,至少要保证 alt 和相邻文字能说明去处。

链接上下文的几个细节

  • 链接所在的段落或列表项文字,会被当作锚文本的补充。
  • 链接所在区块的标题,比如 h2、h3,能提供一层主题框架。
  • 同一屏内链接数量过多,单条链接分到的注意力会被稀释,重要链接最好放在链接密度较低的位置。
  • 正文区与模板区(页脚、侧栏)的链接在抓取路径里的角色不同,前者更适合承接需要被发现的新 URL。

可以落地的几条做法

  1. 重要的目标页,锚文本写成能概括其主题的短语,而不是「这里」「详情」。
  2. 同一目标页在全站尽量用一致或高度接近的锚文本,避免今天叫 A、明天叫 B。
  3. 导航和面包屑用短词,正文内链用更具体的描述,各司其职。
  4. 图片链接补上 alt,关键信息同时写进旁边的可见文字里。
  5. 不要为了塞关键词把锚文本写成一句话,读起来别扭的链接,蜘蛛拿到的线索也未必有用。
锚文本不是排名开关,也不是抓取的通行证。它只是蜘蛛在访问目标 URL 之前得到的提示。页面能不能被抓到、抓完之后怎么处理,还要看目标页的状态码、内容本身以及站点整体的抓取状况。

几个常见的坑

一是全站统一用「首页」指向首页,能走通但没有任何区分度;二是链接文字由 JS 在客户端拼出来,HTML 源码里是空的,依赖渲染的抓取路径不一定每次都会走完;三是用隐藏元素或极小字号塞锚文本,这种做法一旦被识别,损失的是整站链接的可信度。

与其纠结锚文本能带来什么直接好处,不如先把需要被发现的页面,用清晰、具体的链接文字接进内链网络,再确认这些页面返回正常状态码、内容确实存在。抓取路径顺了,后面的判断才有意义。