搜索抓取

内链、Sitemap 与推送:URL 发现渠道的分工与核对

同一批新 URL,为什么有的很快被抓,有的长期没有访问记录?本文把 URL 发现拆成内链、Sitemap 与其他入口三条渠道,说明各自的时延与适用范围,并给出一套按渠道核对首次抓取时间的流程,帮助把发现环节的问题落到具体改动上。

搜索抓取

内链、Sitemap 与推送:URL 发现渠道的分工与核对

很多站点把「被蜘蛛发现」当成一次性的事:发了 Sitemap,提交了链接,就觉得剩下的交给搜索引擎。实际排查时常见的现象是,同一批新 URL 里,一部分第二天就被抓了,另一部分过了几周仍然没有访问记录。原因往往不在蜘蛛本身,而在于这些 URL 是通过不同渠道暴露出去的,每条渠道的可靠性和延迟都不一样。

URL 发现的三条主要渠道

把发现渠道拆开看,逻辑会清楚很多:

  • 站内链接:蜘蛛顺着已有页面上的 a 标签往上爬,这是最稳定、最持续的发现方式,也最容易被你控制。
  • Sitemap 文件:批量声明 URL 清单,适合数量大、层级深的页面,但它只是声明,不等于被抓取。
  • 其他入口:外链、主动提交接口等,通常量小、时效性强,适合少量重要 URL。

内链是根基,但要看位置

同样是链接,出现在导航、正文、页脚,被跟随的概率并不相同。导航链接稳定但数量有限;正文里的链接与内容相关,蜘蛛顺着语义走的机会更大;页脚链接数量多,容易被当成模板,价值被稀释。如果一个新页面只在页脚某个折叠区块里出现,它被重新发现的周期通常比放在正文推荐位的页面长得多。

核对时可以关注:

  • 重要页面是否至少有一条来自高频抓取页面的正文链接;
  • 同一页面上指向不同 URL 的链接数量是否过多,导致注意力分散;
  • 链接文字是否能说明目标页面内容,而不是清一色的「点击查看」「更多」。

Sitemap 解决的是「有没有」,不是「抓不抓」

Sitemap 的价值在于给出一份完整清单,让蜘蛛不必完全依赖内链去推断。但清单里的 URL 依然要排队。真正影响它是否被优先处理的,还是页面的更新频率、在站内的位置以及服务器响应是否稳定。所以 Sitemap 应该和状态报告、抓取日志一起看:声明了多少、被抓了多少、差集里是什么类型的页面。

多入口并行时,容易踩的坑

  • 只改 Sitemap,不同步内链:新 URL 在文件里,但站内没有入口,抓取后缺少后续路径。
  • 旧 URL 删除后仍留在 Sitemap:产生大量 404 或跳转,浪费抓取额度。
  • 推送接口一次性提交大批低价值 URL:短期抓取量上升,长期看有效抓取比例下降。
  • 不同渠道的 URL 写法不一致:带参数、大小写差异,被当成多个页面。

按渠道核对的一个简单流程

  1. 从日志里筛出目标 URL 类别的抓取记录,记下首次抓取时间。
  2. 对照 Sitemap 声明时间、内链上线时间、推送提交时间,看哪个时间点最接近首次抓取。
  3. 把长时间未被发现的 URL 单独列出,检查站内是否真的存在指向它的链接,链接是否可正常渲染。
  4. 对反复抓取但价值低的 URL(筛选参数、站内搜索结果页)做收敛,把机会让给有效页面。
发现渠道越多越好是一种误解。渠道应该和页面类型匹配:批量页靠 Sitemap 和内链,时效性强的少量页面靠推送和外链。

把结论落到改动上

核对的目的不是解释过去,而是指导下一次改动。如果发现新页面长期只靠 Sitemap 被发现,就该给它补一条正文内链;如果发现某些分类页每天被抓但内容长期不变,就该考虑降低它在内链中的曝光。抓取本身无法被承诺控制,但入口是否通畅、路径是否清晰,是站点可以自己掌握的部分。