技术 SEO · 第 1 篇

抓取与收录原理:Googlebot 如何发现并索引网页

约 16 分钟阅读 更新于 2026-06-23 MagicSEO 编辑部 · 人工审核 技术地基

技术 SEO 的第一件事,不是写标题,也不是堆关键词,而是确认搜索引擎能不能顺利发现、访问、理解并收录你的页面。抓取与收录是排名之前的门槛:没有进入索引库,页面就没有机会参与自然搜索排名。

抓取和收录不是一回事#

抓取是搜索引擎爬虫访问 URL 并下载页面资源的过程。收录是搜索引擎分析页面后,决定把它放进索引库的过程。一个页面可以被抓取很多次,但始终不被收录;也可能曾经被收录,后来因为质量、重复或技术信号问题被移出索引。

状态含义SEO 判断
已发现,未抓取搜索引擎知道这个 URL,但还没访问加强内链、提交 sitemap,等待抓取
已抓取,未收录页面被访问过,但没有进入索引库检查质量、重复、canonical、noindex
已收录页面进入索引库,可参与排名继续优化搜索意图、内容质量和内链
已收录但排名差不是索引问题,而是竞争力问题从内容、体验、权威度角度改进

Googlebot 如何发现 URL#

Googlebot 发现 URL 的主要来源包括:网站内部链接、其他网站指向你的外链、XML sitemap、重定向目标,以及已经知道的历史 URL。对新站来说,最可靠的方式是让首页、栏目页、文章页之间形成清晰链接,再提交 sitemap。

如果一个页面没有任何内部链接,也没有出现在 sitemap 中,它就接近”孤岛页面”。搜索引擎可能很久都发现不了它,即使发现了,也很难判断它在网站结构中的重要性。

以这篇文章本身为例:它从技术 SEO 栏目索引页获得链接入口,从 30 天行动清单文章的”下一篇”导航获得链接,还出现在侧栏导航中。这三条发现路径完全独立,而且没有任何一条需要 JavaScript 才能跟踪。对 Googlebot 来说,多条可抓取的 HTML 链接意味着更高的发现概率和更明确的站内重要性信号。

更多关于 Googlebot 如何发现和抓取 URL 的细节,可以参考 Google 官方文档:Googlebot 概览

本站示范这篇文章从技术 SEO 栏目页获得入口,上一篇入门清单也链接到技术 SEO 栏目。这样做既方便用户继续学习,也让爬虫更容易发现新页面。

抓取预算是什么#

抓取预算可以简单理解为:搜索引擎在一定时间内愿意分配给你网站的抓取资源。它不是一个公开固定数值,而是受网站规模、服务器响应、页面更新频率、页面质量、链接结构等因素影响。

小型网站通常不用过度焦虑抓取预算。真正容易出问题的是大型网站、电商站、内容聚合站和带大量筛选参数的网站。比如一个鞋类电商,如果颜色、尺码、品牌、价格、排序都生成可抓取 URL,URL 数量会指数级膨胀,爬虫会把大量时间浪费在低价值页面上。

浪费抓取的来源常见表现处理方向
参数 URL?sort=、?filter=、?utm= 生成大量重复页canonical、noindex、参数管理、内链控制
重定向链A → B → C 多跳才能到最终页面直接把旧 URL 301 到最终 URL
低质量分页大量空列表、薄内容列表页合并、noindex 或改善列表价值
服务器不稳定5xx、超时、响应慢优化服务器、缓存、CDN 与错误监控

什么决定页面能否被收录#

页面能否被收录,至少要过四道关:能访问、允许索引、内容有价值、规范信号清晰。

  1. 能访问:页面返回 200 状态码,不是登录页、错误页、跳转循环或被服务器拦截。
  2. 允许索引:没有 noindex,也没有通过响应头设置 X-Robots-Tag: noindex
  3. 内容有价值:页面不是空内容、重复内容、自动拼接内容或几乎没有独特信息。
  4. 规范信号清晰:canonical 指向自己或正确的规范版本,而不是误指向其他页面。
允许索引的基础 head
<link rel="canonical" href="https://example.com/page.html">
<meta name="robots" content="index,follow">

JavaScript 渲染与收录延迟#

Google 对网页的处理并不是一步到位的。它采用两阶段流程:第一阶段,Googlebot 抓取原始 HTML 并提取其中的链接和文本内容;第二阶段,Google 的网页渲染服务(Web Rendering Service, WRS)使用无头 Chromium 浏览器执行 JavaScript,渲染完整页面。

问题在于,这两个阶段之间存在时间差。第一阶段几乎实时完成,但 JavaScript 渲染需要排队等待 WRS 资源,延迟可能从几小时到几周不等。这意味着:如果你的核心内容依赖 JavaScript 才能生成(比如单页应用 SPA 的路由内容、客户端渲染的列表数据),这些内容的发现和收录都会被推迟。

解决方案是让关键内容在原始 HTML 中就可见。常见做法包括:

  • 服务端渲染(SSR):服务器在响应时就返回完整 HTML,客户端再接管交互。Next.js、Nuxt.js 等框架支持这种模式。
  • 静态站点生成(SSG):构建时就生成所有页面的完整 HTML 文件,部署后无需服务端运行时。
  • 纯静态 HTML:直接编写 HTML 文件,不依赖任何 JavaScript 框架渲染内容。
本站示范MagicSEO 采用纯静态 HTML 构建,所有页面内容在原始 HTML 中直接可读,不依赖任何客户端 JavaScript 渲染。Googlebot 在第一阶段抓取时就能获取全部文本和链接,完全避免了渲染延迟问题。

更多关于 JavaScript 与 SEO 的最佳实践,参见 Google 官方文档:JavaScript SEO 基础知识

阻止抓取、阻止收录、阻止访问的区别#

很多收录问题来自把几个控制手段混在一起用。robots.txtnoindex、密码保护、canonical 解决的是不同问题,不能互相替代。

方法主要作用适合场景常见误用
robots.txt阻止抓取不希望爬虫访问的资源或低价值路径以为它能稳定阻止收录
noindex阻止收录允许访问但不希望出现在搜索结果的页面同时被 robots 屏蔽,导致 noindex 无法被看到
密码/登录阻止访问后台、会员区、测试环境用前端隐藏代替真正访问控制
canonical声明规范版本重复或近似重复页面合并信号把独立页面误指向无关页面
关键规则如果你想让 Google 看到 noindex,就不要用 robots.txt 阻止它抓取这个页面。爬虫抓不到页面,就读不到页面里的 noindex。

用 Google Search Console 排查#

Google Search Console 是排查抓取与收录问题的核心工具。新手最常用的是两个地方:URL 检查工具和页面索引报告。

  1. 复制目标 URL,在 GSC 顶部的 URL 检查框中粘贴。
  2. 查看”网页是否已编入索引”,判断是未发现、已抓取未收录,还是已收录。
  3. 查看用户声明的 canonical 与 Google 选择的 canonical,确认规范网址是否一致。
  4. 测试实时 URL,检查当前页面是否可访问、可抓取、是否有 noindex。
  5. 修复后请求编入索引,但不要把它当成排名保证。

URL 检查工具返回的结果页面包含多个关键字段,理解它们对准确诊断问题至关重要:

字段含义关注点
上次抓取时间Google 最近一次成功抓取该 URL 的日期如果距今很久,说明页面可能更新频率低或抓取优先级不高
抓取方式Googlebot 使用桌面端还是移动端抓取大多数网站已切换到移动端优先索引
是否允许抓取robots.txt 是否阻止了该 URL如果显示”否”,需要检查 robots.txt 规则
索引编入状态该 URL 当前是否在 Google 索引中核心判断依据,显示”已编入索引”才表示收录成功
用户声明的规范网址页面 <link rel="canonical"> 指定的 URL应该指向当前页面自身或正确的规范版本
Google 选择的规范网址Google 实际认定的规范版本如果与用户声明不一致,说明 Google 认为存在更合适的规范页面
移动设备易用性页面在移动端是否存在可用性问题字体过小、可点击元素过近、内容超出屏幕等问题会影响移动端体验评分

页面索引报告适合看全站趋势:哪些 URL 被 noindex 排除,哪些是重复网页,哪些是已抓取但未收录,哪些返回 404。不要只看一个 URL,要看同类问题是否成批出现。

详细操作说明可参考 Google 官方帮助:URL 检查工具

一套实用排查流程#

当你发现页面没有收录,可以按这个顺序排查:

  • URL 能正常打开,返回 200
  • 页面没有登录墙、地区拦截或异常跳转
  • robots.txt 没有屏蔽该 URL 或关键资源
  • 页面没有 meta robots noindex
  • HTTP 响应头没有 X-Robots-Tag: noindex
  • canonical 指向当前页面或正确规范页
  • 页面出现在 sitemap.xml 中
  • 页面至少有一个可抓取的内部链接入口
  • 内容不是重复、过薄或自动拼接
  • GSC 实时测试结果可抓取、可索引

如果以上都没问题,但页面仍显示“已抓取,尚未编入索引”,通常要回到内容质量和站点整体价值上。技术正确只是入场券,不代表页面一定值得进入索引。

常见 GSC 状态怎么理解#

状态含义处理建议
已发现,尚未编入索引Google 知道 URL,但可能尚未抓取加内链、确认 sitemap、等待抓取
已抓取,尚未编入索引Google 访问过页面,但暂未收录提升内容独特性,检查重复和 canonical
备用网页,用户未选定规范网页Google 认为它是另一个页面的重复版本确认 canonical、内链和 URL 规范策略
网页会重定向该 URL 不是最终页面确保重定向目标正确,并更新内部链接
未找到 404页面不存在恢复页面、301 到相关页面,或保持 404/410

进阶:服务器日志分析#

进阶内容服务器日志分析属于进阶技术 SEO 手段。如果你的网站规模较小(几十到几百页),Google Search Console 已经能覆盖大部分抓取和收录诊断需求,可以先跳过本节。

Google Search Console 提供的是 Google 视角的抽样数据,而服务器访问日志记录的是每一次真实请求。通过分析日志,你可以获得比 GSC 更完整、更精确的抓取行为数据。

服务器日志中每条请求记录通常包含:客户端 IP、请求时间、请求的 URL、HTTP 状态码、响应大小、User-Agent 字符串等。通过筛选 User-Agent 中包含 Googlebot 的记录,就能提取出所有 Googlebot 的访问行为。

access.log
66.249.66.1 - - [23/Jun/2026:10:15:32 +0800] "GET /zh/technical-seo/crawling-indexing.html HTTP/1.1" 200 18562 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

从日志中可以分析出以下关键指标:

  • 抓取频率分布:哪些 URL 被 Googlebot 频繁访问,哪些很少甚至从未被访问。频繁被抓取的页面通常是 Google 认为重要或更新频繁的页面。
  • 状态码分布:Googlebot 遇到了多少 200、301、404、500 响应。大量 4xx 或 5xx 说明存在死链或服务器问题。
  • 响应时间异常:如果某些页面对 Googlebot 的响应时间显著高于平均值,可能存在性能瓶颈,影响抓取效率。
  • 抓取浪费:Googlebot 是否在大量抓取低价值页面(参数 URL、分页、搜索结果页),而忽略了重要内容页。

常用的日志分析工具包括 Screaming Frog Log File Analyser(付费,有图形界面)以及基于 grepawk 的自定义脚本。对于大型网站,日志分析是优化抓取预算分配、发现技术问题的重要手段。

让页面更容易被发现和收录#

  • 建立清晰层级:首页 → 栏目页 → 文章页,不要让重要页面埋得太深。
  • 保持内部链接可抓取:重要链接使用真实 <a href>,不要只依赖复杂脚本点击。
  • 提交并维护 sitemap:只放可索引、规范、返回 200 的重要 URL。
  • 减少重复页面:参数页、标签页、筛选页要有明确策略。
  • 保证服务器稳定:频繁 5xx、超时和极慢响应会降低抓取效率。
  • 持续提升内容质量:独特经验、清晰结构、事实依据和有用示例比单纯字数更重要。
本站示范MagicSEO 在每一项最佳实践上都身体力行:URL 结构清晰易读(如 /zh/technical-seo/crawling-indexing.html);内部链接覆盖侧栏导航、面包屑、文章底部翻页器和正文交叉引用四种路径;网站应配备 sitemap.xml 将所有重要页面提交给搜索引擎;所有页面使用纯静态 HTML,Googlebot 无需等待 JavaScript 渲染即可读取全部内容。

常见问题#

页面被 Google 抓取了,为什么还是没有收录?

抓取只代表 Googlebot 访问过页面,收录还取决于页面是否可索引、是否重复、是否有足够独特价值、canonical 是否指向自己,以及 Google 是否认为它值得进入索引库。

robots.txt 能阻止页面被收录吗?

robots.txt 主要用于阻止抓取,不等于阻止收录。如果一个被 robots.txt 屏蔽的 URL 仍被外部链接引用,搜索引擎可能只根据链接信息展示该 URL。想阻止收录应使用 noindex,但 noindex 页面必须允许抓取才能被看到。

小网站需要关心抓取预算吗?

几十到几百页的小网站通常不需要过度关注抓取预算。真正需要重视的是清晰内链、稳定状态码、避免孤岛页面和低质量重复页面。大型网站、电商筛选页和大量参数 URL 才更容易出现抓取预算浪费。

site: 指令可以判断页面是否收录吗?

site: 可以做快速抽查,但不适合当作精确收录报表。更可靠的方法是使用 Google Search Console 的 URL 检查工具和页面索引报告。