Crawling(抓取):搜索引擎怎么发现页面,以及什么会把它挡在门外
抓取是排名之前的第一步。本文解释抓取路径、抓取预算什么时候值得关心,以及 robots/noindex/canonical/软404 等常见拦路虎。
**Crawling(抓取)**就是搜索引擎爬虫(比如 Googlebot)发现并请求 URL 的过程。
它是第一步:没抓取就不会索引;不索引就没法排名。听起来很直接,但抓取问题在真实站点里非常常见。
抓取通常怎么发生
搜索引擎发现 URL 的主要来源一般是:
- 站内链接
- XML Sitemap(站点地图)
- 外部链接
- 重定向和 canonical 提示(偶尔也会起作用)
如果一个页面几乎没有内链指向它,你基本等于把它藏起来了。
抓取的拦路虎(最常见的那几类)
我排查抓取问题通常先看这些:
robots.txt
robots 规则可以直接把抓取挡掉。最常见的事故是:从 staging 切到生产时,把“禁止抓取”的规则带上去了。
noindex 与相关 Header
noindex 不会阻止抓取,它是告诉搜索引擎“别收录”。但它经常被误加在重要页面上,导致页面永远不进索引。
同时注意 X-Robots-Tag header(尤其是 PDF 或某些静态资源)。
canonical 配错
canonical 指向错误页面时,你的页面可能被抓了,但索引层面“等于不存在”,因为搜索引擎把信号都合并到你指向的那个 URL 了。
软 404 / 过薄页面
页面看起来像错误页(空模板、提示 not found),但返回 200 OK,很容易被当成软 404。Google 会抓它,但随后判断不值得索引。
抓取预算什么时候值得你认真管
小站点通常不用太纠结抓取预算。
你需要开始认真关心的场景是:
- URL 量级很大(几十万、百万)
- 参数 URL 无限生成(筛选、session、跟踪参数)
- 服务器慢或不稳定
- 发布新页面后要等很久才出现在索引里
这类站点往往靠“减少低价值 URL + 提升响应速度”就能明显改善抓取。
实用的抓取诊断清单
如果你在 debug 抓取,下面这些很值得逐条确认:
- 该页是否至少有一条来自可抓取页面的内链?
- 是否出现在 XML Sitemap 里?站点地图是否干净?
- HTTP 状态码是否正常?页面是否真的有内容?
- 服务器对爬虫是否够快(TTFB 真的重要)
想先做一轮站点级扫描,可以用 SEO 审计工具。它更容易抓出 robots/canonical/软 404 这种“不是单页问题”的模式。
回到词汇表
一句话定义在这里:Glossary 里的 Crawling。