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 这种“不是单页问题”的模式。
一手资料
- Google Search:搜索的工作原理——官方对发现、抓取、索引和展示阶段的说明。
- Google Search:Googlebot 是什么——用于核对爬虫行为,以及“阻止抓取不等于阻止收录”这一边界。
回到词汇表
一句话定义在这里:Glossary 里的 Crawling。
相关 Wiki 词条
问答
什么是抓取预算(crawl budget)?
抓取预算大概是搜索引擎给你站点分配的抓取能力。它会受到站点健康度、性能、内容更新频率以及低价值 URL 数量影响。
robots.txt 禁止抓取就会立刻从 Google 消失吗?
不一定。它会阻止抓取,但 URL 仍可能以有限形式出现在索引里。要移除页面一般需要 noindex(可抓取时)或使用官方移除工具。
新页面为什么迟迟不抓取?
常见原因是内链太弱、站点地图没提交或不干净、服务器响应慢、robots/noindex 设置错误、以及大量低价值 URL 抢走了抓取资源。