抓取预算是指搜索引擎允许抓取网站的时间和资源。它是由抓取需求组成的,抓取需求是指搜索引擎希望在你的网站上抓取多少页面,抓取速度是指他们可以抓取多快。它受爬虫想要在您的站点上使用的资源量和服务器支持的爬虫量的影响。
更多的抓取并不意味着你的排名会更好,但如果你的页面没有被抓取和索引,它们根本不会排名。
大多数网站不需要担心爬行预算,但有少数情况下,你可能需要看看。让我们来看一些这样的例子。
什么时候你应该担心爬行预算?
seo通常不必担心热门页面的抓取预算。它通常是较新的页面,没有很好的链接,或者没有太大的变化,不经常被抓取。
抓取预算可能是新网站的一个问题,尤其是那些有很多页面的网站。您的服务器可能能够支持更多的抓取,但由于您的站点是新的,可能还不是很流行,搜索引擎可能不太想抓取您的站点。这主要是期望的脱节。您希望抓取和索引您的页面,但是谷歌不知道是否值得为您的页面建立索引,并且可能不希望抓取您想要的那么多页面。
对于拥有数百万页面的大型网站或经常更新的网站,抓取预算也可能是一个问题。一般来说,如果您有很多页面没有按照您希望的那样经常被抓取或更新,那么您可能需要考虑加快抓取速度。我们将在本文后面讨论如何做到这一点。
如何检查爬行活动
如果您想要查看谷歌抓取活动的概览以及它们确定的任何问题,最好的地方是查看谷歌Search Console中的抓取统计报告。
这里有各种报告,可以帮助您识别爬行行为的变化、爬行问题,并提供有关谷歌如何爬行您的站点的更多信息。
你肯定希望查看任何标记的抓取状态,如下所示:
还有最后一次抓取页面的时间戳。
如果您想看到来自所有机器人和用户的点击,您需要访问日志文件。根据主机和设置的不同,您可以访问像Awstats和Webalizer这样的工具,就像在与cPanel共享的主机上看到的那样。这些工具显示来自日志文件的一些聚合数据。
对于更复杂的设置,您必须访问和存储来自原始日志文件(可能来自多个源)的数据。您可能还需要用于大型项目的专用工具,例如ELK (elasticsearch、logstash、kibana)堆栈,它允许存储、处理和可视化日志文件。还有日志分析工具,如Splunk。
哪些因素不利于爬行预算?
所有的url和请求都会计入抓取预算。这包括替代url,如AMP或m-dot页面、hreflang、CSS、嵌入式内容和包含XHR请求的JavaScript。XHR请求不像其他文件那样被缓存,所以在JavaScript框架上构建的站点上,你会看到更多的请求。在我们的JavaScript SEO指南中有更多的细节。
这些url可以通过抓取和解析页面找到,也可以从各种其他来源找到,包括站点地图、RSS提要、提交url以便在b谷歌Search Console中进行索引,或者使用索引API。
也有多个谷歌机器人共享抓取预算。你可以在GSC的抓取统计报告中找到各种谷歌机器人抓取你网站的列表。
谷歌调整它们爬行的方式
每个网站都有不同的抓取预算,这是由几个不同的输入组成的。
爬的需求
抓取需求就是谷歌想要在你的网站上抓取多少内容。更受欢迎的页面和经历重大变化的页面将被更多地抓取。
受欢迎的页面,或者那些有更多链接和PageRank的页面,通常会优先于其他页面。请记住,谷歌必须以某种方式对您的页面进行优先级排序,而链接是确定站点上哪些页面更受欢迎的简单方法。这不仅仅是你的网站,而是所有网站上的所有页面,谷歌必须弄清楚如何优先考虑。
您可以使用站点浏览器中的最佳链接报告来指示哪些页面可能被更频繁地抓取。它还会显示Ahrefs上次抓取您的页面的时间。
在确定抓取需求时,谷歌还会查看它们在索引中最常提供哪些页面。他们想要抓取他们必须经常服务的页面,以确保它们是最新的。
还有一个陈旧的概念。如果谷歌看到页面没有变化,它们就会不那么频繁地抓取页面。例如,如果他们抓取一个页面,一天后没有看到任何变化,他们可能会等3天再抓取,10天,30天,100天,等等。它们在爬行之间并没有实际的等待时间,但随着时间的推移,这种情况会变得越来越少见。但是,如果谷歌看到网站整体上发生了很大的变化或网站移动,他们通常会增加抓取率,至少是暂时的。
爬行速率限制
爬虫率限制是你的网站可以支持多少爬虫。网站在出现服务器稳定性问题(如减速或错误)之前可以进行一定数量的抓取。大多数爬虫会后退爬行,如果他们开始看到这些问题,以免他们伤害网站。
谷歌将根据网站的抓取运行状况进行调整。如果网站可以进行更多的爬行,那么限制将会增加。如果站点有问题,那么谷歌将减慢它们的爬行速度。
如果它们接收到太多5xx(服务器错误)或429(请求过多)HTTP状态码,谷歌将减慢它们的爬行速度。如果服务器的连接时间变慢,它们也会变慢
我想让谷歌爬得更快
您可以做一些事情来确保您的站点能够支持额外的抓取,并增加站点的抓取需求。让我们来看看其中的一些选项。
加快服务器速度/增加资源
谷歌抓取页面的方式基本上是下载资源,然后在其端处理它们。您的页面速度作为用户感知它是不完全相同的。影响爬行预算的是谷歌连接和下载资源的速度,这与服务器和资源有更多的关系。检查日志是否有任何5xx或429错误。
更多的链接,外部和内部
请记住,抓取需求通常是基于人气或链接。你可以通过增加外部链接和/或内部链接的数量来增加预算。内部链接更容易,因为你可以控制网站。您可以在站点审计中的链接机会报告中找到建议的内部链接,其中还包括解释其工作原理的教程。
修复重定向链接
保持网站上指向重定向页面的链接处于活动状态会对抓取预算产生很小的影响。通常,这里链接的页面的优先级很低,因为它们可能有一段时间没有改变了,但清理任何问题对网站维护都有好处,也会帮助你节省一些抓取预算。
您可以在网站审计的内部页面报告中轻松找到网站上的重定向(3xx)链接。
对于站点地图中的重定向链接,请检查“站点地图中的3XX重定向”问题的所有问题报告。
尽可能使用GET而不是POST
这个稍微有点技术性,因为它涉及到HTTP请求方法。在可以使用GET请求的地方不要使用POST请求。基本上就是GET(拉)vs POST(推)。POST请求不会被缓存,因此它们会影响抓取预算,但是GET请求可以被缓存。
使用索引API
如果您需要更快地抓取页面,请检查您是否有资格使用b谷歌的Indexing API。目前,这只适用于招聘信息或实时视频等少数用例。
必应也有一个索引API,每个人都可以使用。
Noindex
谷歌仍然需要抓取页面才能看到noindex标签,但随着时间的推移,它们可能会越来越少地抓取这些页面。如果您有不想编入索引的页面,那么添加noindex标记可能是值得的。
304(未修改)
Googlebot并不总是发送一个If-Modified-Since或If-None-Match HTTP请求头。如果它们确实发送了它,而您的服务器响应的是没有正文内容的304(未修改)响应,那么谷歌将重用它们上次抓取的内容。这将使用更少的服务器资源,这意味着谷歌可能能够更多地抓取您的站点。然而,这是一个技术上复杂的设置,感觉不值得。您最好还是处理自己的缓存设置,而不是尝试这种方法。
可行的方法
至于它是否有助于你的抓取预算,这有点不确定。
Nofollow。在过去,nofollow链接不会使用抓取预算。但是,nofollow现在被视为提示,因此谷歌可以选择抓取这些链接。他们也可以在网络上的其他页面上找到下面的链接。
什么行不通
人们有时会尝试一些方法,但这些方法实际上对你的爬行预算没有帮助。
网站的小改动。在页面上做一些小的改变,比如更新日期、空格或标点符号,希望能让页面更频繁地被抓取。谷歌非常擅长确定更改是否重要,因此这些小更改不太可能对爬行产生任何影响。
robots.txt中的爬行延迟指令。这个指令会减慢许多机器人的速度。然而,Googlebot不使用它,所以它不会产生影响。我们在Ahrefs尊重这一点,所以如果你需要减慢我们的爬行速度,你可以在你的robots.txt文件中添加爬行延迟。
删除第三方脚本。第三方脚本不会计入抓取预算,因此删除它们也无济于事。
我想让b谷歌爬得慢一点
有几个好方法可以让b谷歌爬得慢一些。从技术上讲,你还可以做一些其他的调整,比如减慢你的网站速度,但这些都不是我推荐的方法。
缓慢的调整,但保证
谷歌提供给我们的主要控件是谷歌搜索控制台中的速率限制器。您可以使用该工具减慢爬行速度,但可能需要长达两天的时间才能生效。
快速调整,但有风险
如果您需要一个更直接的解决方案,您可以利用b谷歌与您的站点运行状况相关的抓取速率调整。如果您在页面上为Googlebot提供“503服务不可用”或“429请求太多”状态码,它们将开始缓慢爬行或可能暂时停止爬行。但是,您不希望这样做的时间超过几天,否则他们可能会开始从索引中删除页面。有时,对站点的较大更改也会触发谷歌更快地爬行。更改伴随着风险,所以如果您的唯一原因是希望谷歌重新抓取某些页面,那么我通常不建议这样做。