蜘蛛抓一个页面之前,得先知道这个 URL 存在。这件事听起来简单,但站点规模一大,很多页面长期没被发现,往往不是抓取能力的问题,而是发现渠道没铺到位。
常见的发现渠道大致有三条:外部链接、Sitemap、站内链接。它们不是互相替代的关系,各自解决的阶段也不一样。
外部链接:慢,但更接近真实传播路径
外链是搜索引擎最早采用的发现方式。一个新域名或新栏目,如果没有任何外部引用,蜘蛛可能需要很久才会第一次走到。外链的价值在于它是别人给出的引用,通常意味着这个页面被放进了某个上下文里。
- 新站前期,几处相关站点的自然引用,比短期内堆一批低质量链接更有意义
- 外链可以指向首页、栏目页,也可以直接指向内容页,指向的深浅会影响蜘蛛第一次到达的位置
- 外链不会一直帮你发现新页面,站内新增的内容仍然要靠站内渠道承接
需要说明的是,外链只能解决第一次知道,后续这个 URL 是否被反复访问,取决于站点自身的结构和更新节奏。
Sitemap:清单式覆盖,但只是候选
Sitemap 的作用比较直接,就是把一批 URL 集中列出来交给搜索引擎。它适合处理那些靠站内链接不容易走到的页面,比如分页较深的列表、按条件生成的详情页。
但要清楚,Sitemap 更像一份候选清单,不是抓取指令。蜘蛛会不会按顺序走、走多少,仍然由它自己判断。
- 尽量只放可以正常返回内容的 URL,把已删除或长期不可用的页面清掉
- 分批提交,比一次性塞进几万个 URL 更容易观察效果
- 提交后留意抓取日志里对应目录的访问是否增加,用来判断这条路有没有走通
站内链接:决定蜘蛛接下来能走到哪
前两条渠道解决的是进来,站内链接解决的是继续走。蜘蛛进入一个页面之后,能走多远几乎完全由页面上的链接决定。
如果栏目页只有横向导航、没有指向具体内容的纵向出口,蜘蛛容易在同一层级里来回走,深层页面就一直等不到访问。
- 列表页保留足够的分页和下一页链接,避免只靠 JS 加载
- 详情页之间适当互链,给蜘蛛多几条到达相似内容的路径
- 每层都留出向下的出口,比在首页堆大量链接更有效
发现渠道的任务是让 URL 进入蜘蛛的视野,抓取路径的任务是让它继续往前走。两者缺一,都会出现提交了但没动静的情况。
三条渠道怎么配合
比较稳妥的做法是按页面类型分开处理:
- 首页和主要栏目:靠外链和站内导航被发现,同时放进 Sitemap
- 新增内容页:靠站内列表和相邻内容互链,配合 Sitemap 补充
- 深层或低频页面:主要依赖 Sitemap,站内链接能加就加
三条渠道同时铺开时,可以在抓取日志里对比来自 Sitemap 目录和站内路径的访问量,看看哪条更顺畅,再决定把维护精力放在哪里。
几个常见误区
- 以为提交了就一定会被抓,其实提交只是让 URL 进入候选池
- 只做 Sitemap,不修内链,蜘蛛进来了也走不远
- 只靠外链引导新栏目,短期有效,长期还是要靠站内结构承接
把这三件事分开看,很多时候就能解释为什么某些页面一直没动静。先确认 URL 有没有进入蜘蛛的视野,再看站内有没有给它留出可以继续走的路。