搜索引擎的爬虫抓取资源(crawl budget)

原文地址:https://moz.com/blog/crawl-budget

Photo of the whiteboard describing crawl budget.
Click on the whiteboard image above to open a larger version in a new tab!

今天的话题是搜索引擎的爬虫预算。 我认为这是个比较复杂的话题,主要适用于大型网站。 我认为当你寻找爬虫资源可用的策略和诊断时,你可以从本文中找一些参考。

在谷歌自己的文件中,提到只有超过一百万页或每天更新10,000页以上的网站,应该关心爬虫预算。 我认为那些网站当然需要重视。 不过我也觉得如果您的网站有索引的问题,并且您的网站上有页面没有收录,或者如果您有页面没有快速收录,也不妨关心一下爬行预算的问题。

什么是爬虫预算? 

Drawing of a spider holding a dollar bill.

那么实际上什么是爬行预算? 爬行预算是指谷歌愿意在给定网站爬行页面的时间。 虽然谷歌是一个全能的网站,但它们资源是有限的,网络如此之大。 因此,他们必须优先考虑某种方式,并分配一定的时间或资源来抓取特定的网站。

现在Google宣称基于与网站的受欢迎程度和基于内容的新鲜度分配爬行由下级,因为Google Bot更希望抓取新的,从未见到的URL。

.本文不会讨论如何增加爬虫预算。 我们将专注于如何充分利用您拥有的爬行预算,这通常更容易执行。

造成爬虫抓取问题的常见原因

 

多维度导航

现在我认为网站上可能导致抓取预算问题的第一大问题首先是多维导航。

有一个 15 英寸的屏幕和 16 GB 的 RAM。 那里可能有很多不同的组合,可能会导致大量的 URL,而实际上我们只有一个页面或我们认为的一个类别——笔记本电脑页面。

这些筛选条件可能会重新排序以创建其他 URL,这些 URL 展示的内容完全一样,但是会被Google爬虫单独抓取。 此外,它们的排序可能不同。 可能会有分页等等。 因此,这样一个类别页面能生成海量 URL。

搜索结果页

经常出现的另一种情况是来自内部站点搜索的搜索结果页面,特别是如果它们是分页的,它们可能会生成许多不同的 URL。

列表页

列表页面。 如果您允许用户上传他们自己的列表或内容,那么随着时间的推移,如果您考虑工作板或诸如 eBay 之类的东西,并且它可能有大量页面,那么这可能会积累成大量的 URL。

修复抓取预算问题

Chart of crawl budget issue solutions and whether they allow crawling, indexing, and PageRank.

那么,您可以使用哪些工具来解决这些问题并充分利用您的抓取预算?

作为基准,如果我们考虑 Googlebot 抓取普通URL的行为方式,我们会说,是的,它可以被抓取,是的,它可以被编入索引,是的,它传递了 PageRank。 所以像这样的 URL,如果我链接到我网站上的某个地方,然后谷歌遵循该链接并索引这些页面,这些可能仍然具有顶部导航和站点范围的导航。 因此,实际上传递到这些页面的链接将是一种循环。 当我们通过这么多不同的页面和这么多不同的过滤器进行链接时,会由于稀释而造成一些损失。 但最终,我们正在回收这个。 没有所谓的 PageRank 的黑洞损失。

Robots.txt

现在处于相反的极端,您可以采用的最极端的抓取预算解决方案是 robots.txt 文件。

所以如果你在 robots.txt 中屏蔽了一个页面,那么它就无法被抓取。 太好了,问题解决了。 嗯,不,因为这里有一些妥协。 从技术上讲,robots.txt 中阻止的站点和页面可以编入索引。 您有时会看到网站显示或 SERP 中显示的带有此元描述的页面无法显示,因为该页面在 robots.txt 或此类消息中被阻止。

所以从技术上讲,它们可以被索引,但从功能上讲,它们不会对任何东西或至少任何有效的东西进行排名。 所以,是的,从技术上讲。 他们没有传递 PageRank。 当我们链接到这样的页面时,我们仍在传递 PageRank。 但是,如果它随后在 robots.txt 中被阻止,则 PageRank 不会再进一步传递。

所以我们创造了一个泄漏和一个黑洞。 所以这是一个相当有效的解决方案,虽然它很容易实现。

链接层级的nofollow设置

链接级 nofollow,所以我的意思是,如果我们在主要笔记本电脑类别页面上获取指向上述多维导航的链接,并且我们在这些链接内部放置了一个 nofollow 属性,那么这将有一些优点和缺点。

我认为更好的用例实际上会更多地出现在列表案例中。 所以想象一下,如果我们经营一个二手车网站,我们有数百万种不同的二手车产品列表。 现在我们真的不希望谷歌在这些单独的列表上浪费时间,这可能取决于我们网站的规模。

但偶尔名人可能会上传他们的汽车或类似的东西,或者可能会上传非常稀有的汽车,这将开始获得媒体链接。 所以我们不想在 robots.txt 中阻止该页面,因为在这种情况下我们会浪费这些外部链接。 因此,我们可能会在指向该页面的内部链接上做些什么,我们可能会在内部不关注该链接。 所以这意味着它可以被抓取,但前提是它被找到了,只有当谷歌以其他方式找到它时,比如通过外部链接或类似的东西。

所以我们在这里有一个折中的方案。 根据我的经验,Google 不会抓取仅通过内部 nofollow 链接的页面。 如果它以其他方式找到页面,显然它仍然会抓取它。 但总的来说,这可以作为一种限制爬网预算的有效方式,或者我应该说使用爬网预算更有效。 该页面仍然可以被索引。

这就是我们在该示例中试图实现的目标。 它仍然可以传递PageRank。 这是我们试图实现的另一件事。 尽管您仍然通过此 nofollow 链接失去了一些 PageRank。 这仍然算作一个链接,因此您将失去一些 PageRank,否则这些 PageRank 会被输送到该后续链接中。

Noindex, nofollow

noindex 和 nofollow,所以对于 电商 网站上的这些页面来说,这显然是一个非常常见的解决方案。

现在,在这种情况下,可以抓取页面。 但是一旦谷歌到达那个页面,它会发现它是 noindex,随着时间的推移它会抓取它的次数会少得多,因为抓取 noindex 页面的意义不大。 再说一次,我们在这里有一个折中的方案

显然,它不能被索引。 没有索引。 它不会向外传递 PageRank。 PageRank 仍然传递到这个页面,但是因为它在 head 部分有一个 nofollow,它不会向外传递 PageRank。 这不是一个很好的解决方案。 为了节省抓取预算,我们必须在此处达成一些妥协。

Noindex, follow

很多人曾经认为,哦,好吧,解决这个问题的方法是使用 noindex follow 作为两者的最佳选择。 所以你在其中一个页面的头部放置了一个 noindex follow 标签,哦,是的,每个人都是赢家,因为我们仍然获得了同样的爬行好处。 我们仍然没有索引这种我们不想索引的新重复页面,但 PageRank 解决方案是固定的。

几年前,谷歌出来说,“哦,我们自己没有意识到这一点,但实际上,随着时间的推移,我们越来越少地抓取这个页面,我们将不再看到链接,然后它就不会了” 数。” 所以他们有点暗示这不再是通过 PageRank 的一种方式,最终它会被视为 noindex 和 nofollow。 再说一次,我们在那里有一种稍微妥协的解决方案。

Canonical

现在最好的方案可能是使用规范标签,随着时间的推移,它仍然会被抓取得少一点,规范化的版本,很棒。 它仍然不会被索引,规范化的版本,很好,它仍然传递 PageRank。

所以这看起来很棒。 在很多情况下,这似乎是完美的。 但这只有在页面接近足够重复的情况下才有效,谷歌愿意将它们视为重复并尊重规范。 如果他们不愿意将它们视为重复项,那么您可能不得不重新使用 noindex。 或者,如果您认为实际上这个 URL 根本没有存在的理由,我不知道这种错误的顺序组合是如何产生的,但这似乎毫无意义。

301

我不会再链接到它了。 但是,如果有些人仍然以某种方式找到 URL,我们可以使用 301 作为一种策略,它最终会表现得非常好……我会说比规范和 noindex 更能节省抓取预算,因为谷歌没有 甚至不必在极少数情况下查看页面,它确实会检查它,因为它只是跟随 301。

它将解决我们的索引问题,并且将传递 PageRank。 但显然,这里的权衡是用户也不能访问这个 URL,所以我们必须接受。

执行爬虫预算优化策略

总结所有这些,我们将如何实际使用这些策略? 那么,如果您想进行优化爬虫预算,我会推荐哪些活动?

不太直观的一种是速度。 就像我之前说的,谷歌正在分配一定量的时间或资源来抓取给定的网站。 因此,如果您的网站速度非常快,如果您的服务器响应时间较短,如果您使用轻量级 HTML,它们将在相同的时间内浏览更多页面。

所以这违反直觉是解决这个问题的好方法。 日志分析,这有点传统。 通常,您网站上的哪些页面或哪些参数实际上消耗了您所有的抓取预算是非常不直观的。 大型站点上的日志分析通常会产生令人惊讶的结果,因此您可能会考虑这一点。 然后实际使用其中一些工具。

因此,我们认为用户甚至不需要查看的冗余 URL,我们可以 301。用户确实需要查看的变体,我们可以查看规范或 noindex 标签。 但我们也可能希望首先避免链接到它们,这样我们就不会因为稀释或死胡同而将某种程度的 PageRank 丢失到那些规范化或无索引变体中。

Robots.txt 和 nofollow,正如我在浏览它时暗示的那样,这些是您希望非常谨慎地使用的策略,因为它们确实会造成这些 PageRank 的死胡同。 最后,我从 Ollie HG Mason 博文中得到了一种最近或更有趣的提示,我可能会在下面链接到它,事实证明,如果您的站点上有一个站点地图只包含最近的 URL,您最近更改的 URL,然后因为 Googlebot 如此渴望,就像我说的那样,对新鲜内容,他们将开始经常抓取此站点地图。 因此,您可以使用这种策略将抓取预算定向到新的 URL 上,这样每个人都会赢。

Googlebot 只想查看新的网址。 您可能只想让 Googlebot 看到新的网址。 因此,如果您有一个仅用于该目的的站点地图,那么每个人都会赢,这可能是一个很好且易于实施的技巧。 所以这就是全部。 我希望你觉得这很有用。

Tags:

Search


Categories


Tags