什么是抓取程序?打造对抓取友好网站的最佳实践
抓取程序(crawler)是一种系统地浏览互联网的程序,最常见的用途是帮助搜索引擎发现并处理页面,以便索引并展示在搜索结果中。
什么是抓取程序?
抓取程序(crawler)是一种系统地浏览互联网的程序。它最常见的用途,是帮助搜索引擎发现并处理页面,以便索引并展示在搜索结果中。
除处理 HTML 的抓取程序外,还有一些特殊的抓取程序用于为图片和视频建立索引。
现实中,最主要的抓取程序来自各大顶尖搜索引擎:Googlebot、Bingbot、Yandex Bot 和 Baidu Spider。
好的抓取程序 vs. 坏的抓取程序
好的抓取程序可以理解为能帮助你的网站的机器人,主要方式是把你的内容加入搜索索引,或帮助你审核网站。
好的抓取程序还有另一些标志:它会表明自身身份、遵循你的指令,并调整抓取速率,避免让服务器超负荷。
坏的抓取程序则是对网站所有者毫无价值、甚至可能怀有恶意的机器人。
网站通过 robots.txt 文件和页面内指令,传达是否希望页面被抓取和索引。尽管如此,坏的抓取程序可能不表明身份、绕过你的指令、给服务器造成不必要的负载,甚至窃取内容和数据。
抓取程序的类型
抓取程序主要有两种类型:
- 持续抓取的机器人会 7×24 小时不间断地抓取,以发现新页面并重新抓取旧页面(例如 Googlebot)。
- 按需抓取的机器人只抓取有限数量的页面,并且只在被请求时才执行抓取(例如 AhrefsSiteAudit bot)。
为什么网站抓取很重要?
那么,网络抓取为什么重要?
搜索引擎抓取程序的目的是弄清你的网站上有哪些内容,并把这些信息加入搜索索引。网站没有被抓取,内容就不会出现在搜索结果中。
网站抓取不是一次性事件,对活跃网站而言,它是一个持续的过程。机器人会定期重新抓取网站,以发现新页面并加入搜索索引,同时更新它们关于现有页面的信息。
虽然大多数抓取程序都与搜索引擎相关,但也存在其他类型的抓取程序。例如驱动我们 Site Audit 工具的 AhrefsSiteAudit bot,可以帮助你发现网站在 SEO 方面存在的问题。
抓取程序是如何工作的?
了解了抓取程序是什么、为何重要之后,接下来深入了解搜索引擎抓取程序实际上如何工作。
简而言之,像 Googlebot 这样的网络抓取程序会通过站点地图、链接和 Google Search Console 中的手动提交,来发现你网站上的 URL。然后,它会追踪这些页面上“被允许”的链接。
执行这些操作时,它会遵循 robots.txt 规则和链接上和各个页面上设置的任何“nofollow”属性。
还应注意到,有些网站——例如页面数超过 100 万且定期更新的网站,或拥有 1 万个每日变化内容的页面的网站——可能会有一个有限的“抓取预算”。
抓取预算(crawl budget)指机器人在单次会话中能够投入到某个网站上的时间和资源总量。
尽管 SEO 圈子里对抓取预算讨论甚多,绝大多数网站所有者都不必为抓取预算操心。
抓取优先级
由于抓取预算容量有限,抓取程序会按照一套抓取优先级来运作。例如,Googlebot 会考虑以下几点:
- 该 URL 的 PageRank
- 页面更新的频率
- 该页面是否为新页面
通过这种方式,抓取程序可以优先抓取网站上最重要的页面。
移动端与桌面端抓取程序版本
例如,Googlebot 有两个主要版本:Googlebot Desktop 和 Googlebot Smartphone。
如今,Google 使用移动优先索引,其智能手机代理是用于抓取和索引页面的主要 Googlebot。
不过需要理解的一点是,网站的不同版本可能会被呈现给这些不同类型的抓取程序。
从技术上讲,该机器人会通过 HTTP 请求头 User-Agent 和一个唯一标识符,向网络服务器表明自身身份。
用户代理令牌:
Googlebot
完整用户代理字符串:
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
例如,在 Ahrefs Site Audit 工具中,可以在抓取程序的移动版和桌面版之间选择。

这样就能确保网站的两个版本都没有问题,若有问题,还能帮你精准定位那些可能仅存在于移动端或仅存在于桌面端的具体问题。
打造对抓取友好网站的最佳实践
为确保网站已做好被抓取的准备,建议采取以下步骤。按顺序执行,就能让你最重要的页面有最大机会被索引和排名。
1. 检查你的 robots.txt 文件
抓取程序有时被称为“机器人(bots)”,而robots.txt 文件正是网站上用于与这些机器人沟通的文件,它通过一系列抓取程序指令来实现。
robots.txt 文件位于网站根目录,通常可通过访问 yourwebsite.com/robots.txt 查看。要编辑 robots.txt 文件,需要一个 FTP 客户端,或访问主机的 cPanel。
进入 robots.txt 文件后,要确保它没有把好的机器人挡在你希望被索引的任何页面或栏目之外。
若了解 robots.txt 中的各种指令,仅凭查看就能发现这些错误,例如错误的 noindex 或 nofollow 指令。
否则,可以使用 robots.txt 测试工具。就 Googlebot 而言,可以使用 Google 的 robots.txt 测试器。
还应确保 robots.txt 对抓取程序可访问,不要让它被服务器层面屏蔽掉。
2. 提交站点地图
下一步是提交站点地图(sitemap),它是以 XML 格式保存的简单文本文件,列出网站上所有希望被索引的页面。
若要手动提交站点地图 URL,它在 Google Search Console 中 Index > Sitemaps(索引 > 站点地图)下的样子如下:
对于其他主流搜索引擎,流程也类似,例如在 Bing Webmaster Tools 中。
幸运的是,创建站点地图不一定复杂。若网站运行在 WordPress 上,任何流行的 SEO 插件——例如 Yoast 或 Rank Math——都会自动生成站点地图,并提供可供提交的站点地图 URL。
通常,URL 看起来会是这样:
yourwebsite.com/sitemap_index.html
3. 明智地使用抓取程序指令
robots.txt 文件使用指令来告诉抓取程序哪些页面被允许(或被禁止)抓取。基于 robots.txt 文件中的这些规则,抓取程序可以访问“被允许”的页面,并检查进一步的指令,例如 HTML 页面中的“nofollow”元标签,或页面 HTML 代码中的“nofollow”链接属性。
考虑到这一点,允许抓取网站导航中的重要页面就很重要。若某个内容在 robots.txt 文件中被禁止抓取,那么任何页面级指令都不会被看到。
而且,即便你不想让某些页面被索引,它们在让抓取程序追踪链接、发现网站上其他页面方面仍然扮演关键角色。
这些指令也可以设置在“X-Robots-Tag”HTTP 响应头中,而这一点常常被忽视。
可以用 Ahrefs 的 SEO 工具栏轻松读取这些响应头。
4. 在页面之间提供内链
网站页面之间内链的重要性怎么强调都不为过。
它不仅能帮助搜索引擎理解每个页面的主题,还能帮助抓取程序优先发现页面——当 Googlebot 顺着一个已知页面找到新页面时,就会发生这种情况。
内链还能帮助你塑造 PageRank 在网站中流动的方式。通常,指向某个特定页面的内链越多,该页面就越重要。
5. 减少 4xx 错误和不必要的重定向
与内链一样,技术 SEO 也是网站 SEO 表现中一个重要且常被忽视的因素。
简单提醒一下:4xx 错误本质上是向抓取程序发出信号,表明该 URL 处的内容不存在(404)或无法访问(403)。例如,若你下线了某个页面,它很可能显示为一个 404 页面,并最终从搜索索引中被移除。
偶尔出现一个 4xx 错误问题不大,但过多的 4xx 状态码对抓取程序来说意味着大量的“死胡同”。若机器人在抓取网站时不断发现死链或失效页面,不利于顺畅的抓取。
因此,请尽可能使用 Ahrefs Site Audit 修复这些页面,或为它们设置重定向到一个有效页面。
还应消除任何不必要的重定向和重定向链。每一次重定向都代表一次新的服务器请求,意味着页面加载更慢、用户体验更差。
有些重定向是必需的——例如来自已下线页面的重定向——但只在必要时才使用它们。
6. 使用 Ahrefs Site Audit 发现可抓取性和可索引性问题
Ahrefs Site Audit 工具可以通过检查网站上所有被设为 noindex 的页面和被设为 nofollow 的链接来提供帮助。你可以一眼看清网站中正确的页面是否可访问。
此外,Site Audit 还能发现任何失效页面或过多的重定向,包括重定向链或重定向循环。它还能指出任何孤立页面——即没有任何入站内链的页面。
你也可以在自己的网站上使用这个工具。若没有 Ahrefs 订阅,Ahrefs Site Audit 可在 Ahrefs Webmaster Tools 中免费使用。
常见问题
抓取和索引是一回事吗?
不是。抓取指发现可公开访问的网页及其他内容的过程;索引指搜索引擎分析这些页面,并把它们存储到其搜索索引中。
最活跃的抓取程序有哪些?
前面提到了几个最流行的搜索引擎抓取程序,包括 Googlebot、Bingbot、Yandex Bot 和 Baidu spider。
要了解更多关于活跃抓取程序的信息,可以查看这份 Imperva 机器人流量研究。有意思的是,驱动我们整个链接数据库的 AhrefsBot 被发现是仅次于 Googlebot 的第二活跃抓取程序。
抓取程序会伤害我的网站吗?
大多数抓取程序不会伤害你的网站,但确实存在会伤害你的坏的抓取程序。
最常见的情况是,有害的抓取程序会占用你的带宽,导致页面变慢,并损害网站的用户体验。不过,坏的机器人也可能试图窃取数据或从网站上抓取内容。