蜘蛛抓完一个页面的正文之后,会把页面上可跟随的链接全部收集起来,放进待抓队列。多数人优化链接时盯着 href 和 nofollow,很少留意链接的文字部分。实际上,锚文本和链接周边的文字,是蜘蛛在还没访问目标 URL 之前,能拿到的少数线索之一。
锚文本给蜘蛛的三条线索
目标页大致在讲什么
同一个 URL,如果全站都用「价格表」来指它,蜘蛛大概会把它当成一份表格页面;如果都用「某型号打印机报价与配置」,线索就具体得多。这不会直接决定排名,但会影响蜘蛛对这个 URL 的初步归类,也影响它在处理这个页面时的预期。
这条链接是导航还是内容推荐
导航区的链接通常短、重复、全站一致,比如首页、分类、关于我们;正文里的链接往往更长、更具体。蜘蛛从锚文本的形态和位置,大致能区分这两类链接的性质,也就能判断哪些属于站点骨架,哪些属于内容之间的关联。骨架链接几乎每次抓取都会遇到,真正的增量 URL 往往藏在内容链接里。
和当前页的主题是否相关
一篇讲服务器配置的文章里出现指向带宽测试工具的链接,符合主题;同一篇文章里大量出现与主题无关的外链,链接本身的价值就会被稀释。蜘蛛并不做相关性打分,但抓取调度会参考链接所在页面的整体质量与主题集中度。
「点击这里」这类锚文本的代价
「点击这里」「了解更多」「阅读全文」的问题不在于难看,而在于它们把信息量几乎全部丢给了周围的文字。如果旁边的段落写得很清楚,问题不大;如果链接只是孤零零地出现在卡片底部,蜘蛛得到的线索就接近于零。
更麻烦的是批量生成的模板。列表页里几十条记录全用「查看详情」做锚文本,指向的却是完全不同的页面,蜘蛛只能靠 URL 和页面内容去区分,锚文本这一层信息就浪费了。
图片链接、图标链接与按钮
图片链接的可读线索主要来自 alt 属性。一个只有图标、没有可见文字的链接,如果 alt 也为空,蜘蛛能拿到的就只有 URL 本身。这类情况不会导致页面抓不到,但会让链接的语义信息缺失。
用 a 或 button 包裹可见文本最稳妥;如果整站导航都用纯图标,至少要保证 alt 和相邻文字能说明去处。
链接上下文的几个细节
- 链接所在的段落或列表项文字,会被当作锚文本的补充。
- 链接所在区块的标题,比如 h2、h3,能提供一层主题框架。
- 同一屏内链接数量过多,单条链接分到的注意力会被稀释,重要链接最好放在链接密度较低的位置。
- 正文区与模板区(页脚、侧栏)的链接在抓取路径里的角色不同,前者更适合承接需要被发现的新 URL。
可以落地的几条做法
- 重要的目标页,锚文本写成能概括其主题的短语,而不是「这里」「详情」。
- 同一目标页在全站尽量用一致或高度接近的锚文本,避免今天叫 A、明天叫 B。
- 导航和面包屑用短词,正文内链用更具体的描述,各司其职。
- 图片链接补上 alt,关键信息同时写进旁边的可见文字里。
- 不要为了塞关键词把锚文本写成一句话,读起来别扭的链接,蜘蛛拿到的线索也未必有用。
锚文本不是排名开关,也不是抓取的通行证。它只是蜘蛛在访问目标 URL 之前得到的提示。页面能不能被抓到、抓完之后怎么处理,还要看目标页的状态码、内容本身以及站点整体的抓取状况。
几个常见的坑
一是全站统一用「首页」指向首页,能走通但没有任何区分度;二是链接文字由 JS 在客户端拼出来,HTML 源码里是空的,依赖渲染的抓取路径不一定每次都会走完;三是用隐藏元素或极小字号塞锚文本,这种做法一旦被识别,损失的是整站链接的可信度。
与其纠结锚文本能带来什么直接好处,不如先把需要被发现的页面,用清晰、具体的链接文字接进内链网络,再确认这些页面返回正常状态码、内容确实存在。抓取路径顺了,后面的判断才有意义。