站内链接是搜索引擎发现页面最基础的途径。一个页面如果从首页出发要走七八次点击才能到达,它在抓取队列里的位置通常不会太靠前——不是抓不到,而是可能排得很后面。
层级深度为什么会拖慢发现
爬虫从已知入口(首页、Sitemap、外部链接指向的页面)出发,沿着链接一层层向外扩散。每深入一层,都意味着一次跳转和一次抓取请求。站点的抓取资源不是无限的,深层页面能分到的次数自然更少。
更实际的问题是路径本身。当页面只能通过「首页 → 分类 → 子分类 → 列表第 5 页 → 详情」这条线到达时,爬虫得先把前面每个环节都抓完才有机会走到它。中间任何一环不配合,比如列表页由 JavaScript 渲染、分页被加了 nofollow、参数被屏蔽,这条线就断了。
先量一下:重要页面离首页有多远
不用工具也能做粗略判断:从首页开始,只点站内链接,找到目标页面最少要点几次。3 次以内算浅,4 到 6 次要留意,7 次以上基本可以认为偏深。
- 导航栏里有没有直接入口
- 它所在的分类页本身是否已被抓取
- 列表页要翻多少页才能看到它
- 有没有其他内容页主动链向它
这几项里只要有一项不成立,这个页面的发现路径就变窄了。
内链不是「有链接就行」
链接出现的位置
正文里的链接比页脚的链接更有参考价值,因为它和上下文相关。全站页脚、侧栏「最新文章」这类模板位置上的链接,每个页面都指向同一批目标,单条链接的作用会被稀释。
锚文本
锚文本不需要刻意堆词,但至少要让链接指向的内容可被理解。「点击这里」和「XX 型号的配置说明」传递的信息量完全不同,后者也更容易让用户判断要不要点。
链接数量与集中度
与其在几百个页面各加一条指向同一地址的链接,不如把链接集中放在与目标最相关的一批页面上,比如同类目、同主题的内容里。相关性越强,这条链接被顺着走过去的概率越高。
可以按顺序执行的检查流程
- 列出你认为重要的那批页面,逐一记录它们从首页出发的最短点击路径。
- 检查路径上的每个节点能不能被抓:有没有被 robots 屏蔽、链接是不是脚本生成的、分页是否被特殊处理过。
- 挑 3 到 5 个与目标最相关的页面,在正文里加入链接,锚文本写清目标页在讲什么。
- 改完之后看服务器日志里这些 URL 的抓取记录,而不是只盯收录数量这一个数字。
- 如果路径仍然很长,考虑调整分类结构,或把重要页面提到更高的导航层级。
几个容易被忽略的情况
- 只出现在站内搜索结果页里的链接,通常不会被当作常规发现路径。
- 把 nofollow 标在站内链接上,等于主动放弃这条通路。
- 图片或按钮形式的入口,如果实现方式不对,爬虫读不到目标地址。
- 同一批页面之间完全没有横向链接,全部依赖上级分类,分类页一出问题就集体失联。
层级深度影响的是发现效率和抓取优先级,它不直接决定页面是否被收录。它更像一条通路:通路顺畅,后面关于内容质量和重复度的判断才有机会发生。
需要避免的做法
为了「让爬虫多来」而在页脚或侧栏堆砌大量链接,往往适得其反。模板位置上的重复链接对发现效率帮助有限,还会让页面显得杂乱。同样,短期内给一个页面加上大量站内链接,也不符合站点正常的生长节奏,容易被当成异常处理。
定期花十分钟检查一次重要页面的路径长度,比反复提交收录请求更实在。发现路径理顺了,多数「为什么还不收录」的疑问会少掉一大半。