蜘蛛不会凭空知道一个 URL 存在。它要么顺着已有的链接走过去,要么通过某个数据源被告知。理解这一点,就能明白为什么有的页面发布后几小时就被抓,有的放了几周还在等。差别通常不在页面本身,而在于有多少条路通向它。
URL 发现的本质:从已知走到未知
爬虫的工作方式是从一批已知 URL 出发,抓取页面,提取其中的链接,把新发现的地址放进待抓队列。所以一个新 URL 被发现,前提是它出现在某个已经被抓取过的页面上,或者被某个数据源直接提交给了搜索引擎。
这说明两件事:第一,孤立页面几乎没有入口,基本只能靠 Sitemap 或主动提交被看到;第二,入口的数量和位置,决定了蜘蛛走到它的概率。
站内通路:最可控的一层
内链与列表页
首页、栏目页、最新内容列表,是蜘蛛在站内移动的主要通道。新页面如果能从这些位置拿到一个链接,通常是最快被发现的方式。链接位置比链接数量更重要——正文里的链接近乎总能被读到,页脚那种大批量堆叠的链接优先级就低很多。
Sitemap
Sitemap 相当于给蜘蛛一份已知清单。它不保证被抓,但能补上内链覆盖不到的死角,比如深层页、活动页、分页后面的内容。保持 lastmod 真实,不要每次更新都把全站刷成同一个时间,否则这个信号会很快失去参考价值。
站外通路:不可控但有效
外链依然是发现新站、新内容的重要入口。蜘蛛在外站爬到你的链接,等于从一条完全不同的路径进入。除此之外,社交平台、问答、论坛、行业目录里的提及,有时也会成为发现线索。这部分不好控制,但只要保持一定量的自然提及,新内容的冷启动会快不少。
主动提交:把等待变成告知
搜索引擎提供的提交入口、Sitemap 提交,以及 IndexNow 这类协议,本质上是跳过等蜘蛛爬过来这一步,直接把 URL 告诉引擎。它对时效敏感的内容帮助明显,但提交只解决知道,不解决愿意抓和值得留。页面质量差、站点整体信誉低,提交了也照样排在队列后面。
几条通路的时效差异
- 站内新增链接:取决于该页面被重新抓取的频率,快的几小时,慢的几天到几周。
- Sitemap 更新:通常在下次读取时被发现,读取频率和站点整体更新节奏相关。
- 外链引入:取决于外站本身被抓的频率,被抓得勤的站点上的链接往往更快生效。
- 主动提交:反馈最快,但只是进入队列,不代表立刻抓取。
几个容易被忽略的细节
第一,入口页面本身要能被抓。如果新内容只从站内搜索页、脚本渲染出来的推荐位、或者被 robots.txt 挡住的列表里露出,蜘蛛实际上看不到这条路。
第二,链接要指向最终地址。如果新页面刚从 A 改成 B,而入口还指着 A,蜘蛛顺着走到的是一条重定向链,等于多绕一步。
第三,别在一个页面上一次性堆几百个新链接。分散、分批地放出,比集中灌进去更容易被完整走一遍。
URL 发现解决的是蜘蛛知不知道你,抓取和收录解决的是蜘蛛愿不愿意来、值不值得留。前者是门槛,不是结果。
日常可以做的几件事
- 新内容发布后,在相关的已有页面里补一条自然的内链。
- 保持 Sitemap 与实际内容一致,及时剔除已删除的 URL。
- 把重要页面放在离首页更近的位置,压缩点击深度。
- 必要时用提交工具做补充,但别把它当成主要手段。
- 定期看服务器日志,确认新页面到底有没有被爬过,而不是只看提交回执。
总结下来,URL 发现不是单一动作,而是多条通路共同作用的结果。通路的数量、位置和更新频率,决定了新内容被看见的速度。与其纠结某一次提交有没有生效,不如把站点整体的发现路径做顺。