万维网由数万亿页组成。抓取它并从所有垃圾邮件中挑选出有价值的页面是搜索引擎面临的最大挑战。
这对网站所有者来说意味着谷歌不会抓取它可以访问的每个页面。只有分配了足够高优先级的URL才会被Googlebot抓取。
为什么Google不只访问网络上的每个页面?
谷歌资源有限。网络上有很多垃圾邮件,因此谷歌需要开发一些机制,让它避免访问低质量的页面。谷歌优先抓取最重要的页面。
Googlebot旨在成为网络的好公民。它限制了抓取以避免崩溃您的服务器。对于Google,最好跳过或延迟访问您的某些URL,而不是使您的网站服务器崩溃。
有什么风险?
如果Googlebot将资源用于抓取您域中的低质量网页,您可能会冒着无法经常抓取更有价值的网页的风险。为了缓解这种情况,您可以优化爬网预算。
抓取和索引的工作原理
要了解抓取预算,我们必须了解Google如何抓取特定网站。这个过程由三个因素决定:
抓取速率限制-Google可以抓取多少个URL。
调度-应抓取哪些URL以及何时抓取。
抓取需求——谷歌想要抓取多少个网址。
抓取速度限制
抓取速度是Googlebot可能用于抓取网站的“并行连接数”,以及两次抓取之间必须等待的时间。”
由于网站管理员中心博客声明“Googlebot旨在成为网络的优秀公民”,因此Googlebot必须考虑您服务器的容量,确保在抓取您的网站时不会使其过载。
Google会根据您服务器的响应调整抓取速度。它变得越慢,爬行速度就越低。
调度
抓取过程的复杂性要求Googlebot创建一个它打算访问的地址列表。然后对登记的URL的请求排队。这个列表不是随机的。整个过程称为调度,为了优先考虑有价值的URL,Google使用了一种称为抓取需求的复杂机制。
根据“管理待处理URL爬取积压的方法和设备”专利,每个URL都被分配了一个爬取优先级。
抓取需求
这个因素决定了Google希望在一次抓取期间访问哪些页面(以及其中的多少)。如果Googlebot认为某个URL足够重要,它会将其放在日程表中的较高位置。
给定URL的重要性取决于:
受欢迎程度-经常在互联网上共享和链接的URL将被认为更重要,因此将有更大的机会被Googlebot抓取。根据Google的“最小化网络搜索中陈旧内容的可见性,包括修改文档的网络爬取间隔”专利,URL的受欢迎程度是两个因素的组合:查看率和PageRank。
陈旧——一般来说,新鲜内容比多年来变化不大的页面具有更高的优先级。
我们已经看到了许多关于新页面对Google的重要性以及添加它们如何直接影响抓取预算的示例。例如,一个客户的网站出现了导致URL数量大量增加的错误。它在短短一秒钟内从大约K上升到超过万。很快,新页面的大量出现导致抓取需求大幅增加。
然而,值得注意的是,新内容对抓取预算的影响只是暂时的。在访问完所有新URL之后,每天抓取的页面数量立即恢复到之前的状态,甚至比增长速度还要快。
在这种特殊情况下可能发生的情况是,最初,Google发现有大量新URL需要抓取,因此它增加了抓取需求。然后,谷歌意识到这些新页面是低质量的页面,并决定停止访问它们。
为什么抓取预算如此重要
不久前,谷歌的约翰·穆勒在推特上进行了激烈的讨论,他说:“IMO爬行预算被高估了。大多数网站永远不需要担心这一点。”如果您阅读我之前提到的网站管理员中心博客文章,您可能会遇到以下声明:
当然,作为一名SEO专家,我同意爬取率优化主要有利于大型网站(例如大型电子商务商店)。根据我们在Onely的经验,如果一个网站包含超过10万个URL,几乎可以肯定它会遇到严重的抓取问题,我们通常会在针对此类网站的技术SEO服务中包含抓取预算优化。如果您拥有一个大型网站,您当然应该注意您的抓取预算。
如果您有一个较小的网站...
在许多情况下,您可以不关心抓取预算而侥幸逃脱。问题是,除非您真正开始调查此事,否则您不会知道情况。
即使一个网站乍一看似乎很小,但实际上它可能包含数以万计的URL。使用分面导航可以轻松地将个页面转换为00个唯一URL。
内容管理系统中的错误也可能产生有趣的结果。我最近遇到了一个网站,该网站主要包含主页副本和报价页面的副本。这一切都是因为定制的CMS没有解决方案来处理不存在的URL。
考虑到以上所有因素,您绝对应该评估您网站的抓取预算,以确保没有任何问题。
深入了解机器人如何抓取您的网站
为了优化您网站的抓取预算,您需要确定影响它的问题。您可以通过多种方式深入了解Googlebot在您的网站中实际抓取的内容。
谷歌搜索控制台
GSC是每个SEO专家的必备工具。它为您提供了大量有关您的网站在Google中的状态的有用信息。并且在年,新版GSC推出了beta版本。更新后的工具提供了TomekRudzki关于新GSC的文章中描述的许多有用功能。
以下是一些GSC功能,可以为您提供有关抓取预算的宝贵信息:
Overview中的Coverage部分将以图表的形式显示许多索引页面。看到下面屏幕截图中的巨大增长了吗?被编入索引的URL数量如此迅速的增长应该会让您产生怀疑。
索引覆盖率报告将告诉您Googlebot访问了网站的哪些部分。这包括编入索引的URL和从索引中排除的页面(由于规范、noindex元标记或其他原因)。
CrawlCrawlstats(要访问此功能,您需要导航到旧版本的GSC)将显示每天抓取的页面数量如何随时间变化。爬取的URL异常增加可能是由于爬取需求的突然增加(例如,突然出现了数千个新的URL)。
服务器日志分析
服务器日志文件包含有关您网站的每位访问者的条目,包括Googlebot。通过分析您的服务器日志,您可以找到有关Google实际抓取的内容的确切信息(包括所有JS、CSS、图像和其他资源)。如果Googlebot没有抓取您有价值的内容,而是误入歧途,日志文件分析会告诉您相关信息,以便您做出相应的反应。
要获得具有代表性的样本,您需要提取至少三周的日志数据(最好更多)。日志文件可能会变得非常大,因此您应该使用适当的工具来处理它们。
幸运的是,存在这样的专用软件:
ScreamingFrog的SEO日志文件分析器
许多SEO爬虫,例如Deepcrawl、Botify、JetOctopus都有专门的模块用于服务器日志分析。
另一种选择是使用Splunk。它很贵,但您可以免费下载试用版,不受文件大小或条目数量的限制。对于单个SEO项目,试用版应该足够了。如果您决定选择此工具,您绝对应该查看我们关于如何在Splunk中执行服务器日志分析的文章,并学习像专业人士一样进行操作。
如何识别正确的用户代理?
由于日志文件包含每个访问者的条目,因此您只需要能够提取有关Googlebot的数据。但是怎么做?
如果您的想法是根据其用户代理字符串来决定,恐怕这是错误的答案。
由于每个人都可以伪装成Googlebot(只需更改Chrome开发者工具中的UA字符串),因此最好的方法是通过IP过滤Googlebot。我们写了一篇关于识别不同爬虫的文章。但是,长话短说,Googlebot的IP通常以:“66.”开头。
在服务器日志分析期间您应该注意什么?
在执行服务器日志分析时,您应该调查多个方面:
状态码。健康日志应主要包含状态和(如果您使用缓存策略,也可能出现)。如果任何其他状态代码大量出现,就该担心了。您应该查找页面以及5xx错误。后者可能表明您的服务器存在严重的性能相关问题。大量5xx错误向Google明确表明您的服务器无法处理Googlebot的抓取请求。因此,抓取过程将受到限制,Googlebot可能无法抓取您网站的所有页面。
您网站中最常被抓取的部分。您应该检查哪些目录和页面的访问次数最多。理想情况下,机器人应该主要抓取您最有价值的内容所在的部分。例如,如果您有一个电子商务网站,您希望它访问产品和类别页面。Googlebot访问许多低质量URL的情况很常见,这些URL对您的域几乎没有任何价值。
网址参数。通过调查服务器日志,您可以轻松识别网站上正在使用的所有URL参数。这将允许您在GSC中配置机器人行为。不会更改页面内容的参数(例如按价格排序、受欢迎程度等)可以在您的GoogleSearchConsole中被阻止抓取。
如何优化抓取预算
机器人.TXT
优化机器人预算的最简单方法是使用robots.txt文件将您网站的某些部分排除在Google抓取之外。如果您不确定robots.txt是什么,我强烈建议您查看有关robots.txt的Google官方文档。您还可以阅读此主题的终极指南。
例如,在对我们的一位客户进行日志分析期间,我们发现该机器人没有抓取服务报价,而是急切地花时间访问不相关的日历页面。robots.txt中的“Disallow:/profile-calendar”解决了这个问题。
要记住的事情:
robots.txt中的Disallow:指令不会阻止页面被索引。它只会阻止从内部链接访问某个页面。但是,如果机器人抓取从外部来源访问它的URL(在它可以检查机器人指令之前),该页面仍然可能被编入索引。如果您希望某个页面不出现在Google索引中,您应该使用metarobots标签。
您永远不应禁止页面正确呈现所必需的资源路径(例如CSS和JS)。该机器人必须能够查看您页面的全部内容。
创建robots.txt文件后,请记住通过GoogleSearchConsole将其提交给Google。
虽然禁止和允许某些目录和路径,但很容易搞砸并意外阻止必要的URL。因此,您应该使用专用工具来检查您的指令集。
站点地图.XML
根据Google的GaryIllyes的说法,站点地图XML是Google发现页面的第二个最佳方式(显然,第一个是链接)。这不是一个巨大的发现,因为我们都知道正确创建的sitemap.xml文件将作为Googlebot的反馈。它可以在那里找到您网站的所有重要页面,并注意到最近的变化。因此,让您的站点地图保持新鲜且没有错误至关重要。
单个站点地图文件不应包含超过个URL。如果您网站上的唯一、可索引页面的数量较大,您应该创建一个站点地图索引,其中包含指向多个站点地图文件的链接。正如您在以下示例中看到的: