搜索抓取

新链接的发现链路:蜘蛛从哪里第一次看到你的页面

抓取的第一步不是解析也不是渲染,而是发现。本文梳理蜘蛛发现 URL 的几类入口,比较不同入口的发现速度差异,并给出用服务器日志量化“首次发现时间”的具体做法,以及几种让链接看似存在却抓不到的常见写法。

搜索抓取

新链接的发现链路:蜘蛛从哪里第一次看到你的页面

很多站点把“没有被收录”归结为权重或算法问题,但更常见的原因是:蜘蛛压根没见过这个 URL。抓取的第一步不是解析,也不是渲染,而是发现。发现不了,后面所有优化都无从谈起。

蜘蛛发现 URL 的几类入口

同一篇文章,从不同入口进入抓取队列的时间可能差几天。常见的入口大致有这些:

  • 站内链接:首页、栏目页、列表页、相关推荐里的 a 标签,是发现新链接最稳定的来源。蜘蛛顺着链接走,顺便还能带走链接所在页面的上下文。
  • Sitemap:适合批量告知,尤其是那些层级深、内链少的页面。它更像一份清单,不是加速器。
  • 外部链接:别人页面上指向你新页面的链接,往往能带来较快的首次访问,但可控性差。
  • 推送接口:搜索引擎提供的主动推送(如 IndexNow、站点推送 API)能在短时间内把 URL 送出去,通常有配额限制,适合重点页面。
  • RSS / 订阅源:部分蜘蛛会定期拉取,适合内容更新频繁的站点作为补充。

入口不同,发现速度也不同

经验上,从快到慢大致是:主动推送、首页或高频更新栏目的内链、Sitemap、深层内链、纯外链。这不是绝对值,但方向可以拿来安排发布流程。

  • 新文章发布后,先保证它在某个高频被抓取的列表页里露出一段时间。
  • 重点页面可以配合推送,但不要把所有 URL 都推一遍,配额用完了真正需要加速的页面反而没机会。
  • Sitemap 更新后不需要反复提交,保持内容与实际 URL 一致更重要。

用日志确认“首次发现时间”

发现速度是可以量化的,不必靠猜。做法是:

  1. 记录页面上线时间(不是写作时间,是 URL 可访问的时间)。
  2. 在服务器访问日志里筛出该 URL 的第一次蜘蛛访问记录,取时间戳。
  3. 用首次访问时间减去上线时间,得到发现延迟。
  4. 按栏目或页面类型分组,看哪些入口的延迟明显更长。
  5. 对延迟异常的页面,回头检查它的入口链接是否真的存在、是否可点击。

采样几十个页面就能看出规律,比逐页盯着看效率高得多。

让链接“看起来存在却抓不到”的几种写法

  • 链接靠 JS 交互生成:需要点击、滚动或登录后才出现的链接,蜘蛛不一定会触发。
  • a 标签缺 href:用 JS 绑定点击事件的“伪链接”,在 HTML 里没有可抓取的地址。
  • nofollow / robots 误伤:本意是控制权重或隐私,结果把发现入口也一起关掉了。
  • Sitemap 与实际 URL 不符:提交了已删除或跳转的地址,蜘蛛白跑一趟,也会降低对这份清单的信任。
  • URL 带随机参数:同一个页面每次生成不同地址,蜘蛛每次看到的都像新页面,实际互相分散。

把发现链路串起来

比较稳妥的组合是:站内链接负责日常发现,Sitemap 负责兜底,推送负责少数重点页面,外链顺其自然。发布流程上,先确认页面可访问,再让它出现在列表页,最后才考虑是否需要推送。

发现只是把 URL 交到蜘蛛面前,能不能抓、抓几次、要不要收录,仍取决于服务器响应、页面质量和站点整体情况。

定期做一次发现链路自查:随机挑十个新页面,用日志算一遍发现延迟,再回到页面上找它的入口链接。多数“收录慢”的问题,在这一步就能定位到原因。