浅谈Google蜘蛛抓取的工作原理(待更新)
首先,Google 蜘蛛寻找新的页面。然后,Google 对这些页面进行索引,以了解它们的内容,并根据检索到的数据对它们进行排名。爬行和索引是两个不同的过程,但是,它们都由爬行器执行。
什么是爬行器?
爬行器(也称搜索机器人,蜘蛛)是谷歌和其他搜索引擎用来扫描网页的软件。简单地说,它"爬"网页从一页到另一页,寻找谷歌还没有在其数据库新增或修改的内容。
任何搜索引擎都有自己的爬行器。至于谷歌,有超过15种不同类型的爬行器,谷歌的主要爬行器被称为Googlebot。Googlebot同时执行爬行和索引,下面我们将仔细看看它是如何工作的。
爬行器如何工作?
这里没有URL的中央注册表,每当创建新页面时都会更新。这意味着谷歌不会自动"提醒"他们,但必须在网上找到它们。Googlebot 不断在互联网上徘徊,搜索新页面,并将它们添加到谷歌现有页面的数据库中。
一旦 Googlebot 发现新页面,它将在浏览器中呈现(可视化)页面,加载所有 HTML、第三方代码、JavaScript 和 CSS。此信息存储在搜索引擎的数据库中,然后用于索引和对页面进行排名。如果一个页面已被索引,它被添加到谷歌索引—— 一个超级巨大的谷歌数据库。
爬行器如何查看页面?
爬行器在最新版本的Google浏览器中呈现一个页面。在完美的场景中,爬行者会以您设计和组装页面的方式"展示"页面。在真实的情况下,事情可能会更加复杂。
移动和桌面渲染
Googlebot可以"看到"你的页面与两个子类型的爬行者:桌面Googlebot和智能手机Googlebot。需要此部门为桌面和移动 SERP 索引页面。
几年前,谷歌使用桌面爬行器访问并渲染了大部分页面。但随着移动第一概念的引入,情况发生了变化。谷歌认为,世界变得足够对移动友好,并开始使用智能手机Googlebot来抓取、索引和排名移动和桌面SERP网站的移动版本。
尽管如此,实施移动先发制人索引结果却比预期的要困难。互联网是巨大的,大多数网站似乎对移动设备的优化不佳。这使得谷歌使用移动第一的概念来爬行和索引新网站和那些老网站,成为完全优化的移动。如果一个网站不方便移动,它是由桌面Googlebot第一手抓取和渲染。
即使您的网站已转换为移动先索引,您仍将有一些页面由 Googlebot 桌面抓取,因为 Google 希望检查您的网站在桌面上的表现。谷歌没有直接说,如果与手机版本有很大不同,它将为您的桌面版本提供索引。不过,假设这一点是合乎逻辑的,因为谷歌的主要目标是为用户提供最有用的信息。谷歌几乎不想盲目地遵循移动第一的概念来失去这些信息。
注意:在任何情况下,您的网站将被移动Googlebot和桌面Googlebot访问。因此,重要的是要照顾你的网站的两个版本,并考虑使用响应式布局,如果你还没有这样做。
如何知道谷歌是否以移动第一的概念抓取和索引您的网站?您将在谷歌搜索控制台收到特别通知。
HTML 和 JavaScript 渲染
Googlebot 在处理和渲染笨重代码方面可能会遇到一些问题。如果您的页面代码混乱,爬网程序可能无法正确呈现它并考虑您的页面为空。
至于JavaScript渲染,你应该记住,JavaScript是一种快速发展的语言,Googlebot 有时可能无法支持最新的版本。确保您的JS与Googlebot 兼容,否则您的页面可能会呈现错误。
注意您的JS加载时间。如果脚本加载需要超过 5 秒,Googlebot 将不会渲染和索引该脚本生成的内容。
注意:如果你的网站充满了大量的JS元素,并且你不能没有它们,谷歌建议
server-side rendering
(服务器侧渲染)。这将使您的网站加载速度更快,并防止 JavaScript 错误。
要查看页面上的哪些资源会导致渲染问题(并实际查看您是否有任何问题),请登录 Google Search Console帐户,转到URL 检查,输入要检查的 URL,单击测试实时 URL按钮,然后单击"View Tested Page"。
然后转到"More Info"部分,单击页面资源和JavaScript 控制台消息文件夹,查看 Googlebot 未能呈现的资源列表。
现在,您可以向网站管理员显示问题列表,并要求他们调查和修复错误。
什么影响爬行者的行为?
Googlebot 的行为并不混乱——它是由复杂的算法决定的,这些算法可以帮助爬行者浏览网络并设定信息处理规则。
然而,算法的行为不是你什么也做不了,希望得到最好的结果。让我们仔细看看什么影响爬行者的行为,以及如何优化页面的爬行。
内部链接和反向链接
如果Google已经知道您的网站,则Googlebot会不时检查您的主页上是否有更新。 因此,将指向新页面的链接放置在网站的权威页面上至关重要。 理想情况下,在首页上。
您可以用一个块来丰富您的主页,该块将具有最新的新闻或博客文章,即使你有单独的新闻页面和博客。这将使Googlebot找到你的新页面更快。这个建议可能看起来相当明显,尽管如此,许多网站所有者仍然忽视它,这导致了糟糕的索引和低仓位。
在爬行方面,反向链接的工作相同。所以,如果你添加了一个新的页面,不要忘记外部促销。您可以尝试客人发帖、发起广告活动或尝试任何其他方式,让 Googlebot 查看新页面的 URL。
注意:链接应该遵循,让Googlebot 跟随他们。虽然谷歌最近表示,没有跟随链接也可以用作爬行和索引的提示,我们仍然建议使用dofollow。只是为了确保爬行者确实看到页面。
单击深度
单击深度显示页面离主页有多远。理想情况下,网站的任何页面应在 3 次点击内到达。更大的点击深度会减慢爬行速度,并且几乎不会使用户体验受益。
您可以使用Web 网站审核员检查您的网站是否与点击深度有关。启动该工具,然后转到站点结构>页面,并注意点击深度列。
如果您看到某些重要页面离主页太远,请重新考虑网站结构的安排。良好的结构应该是简单和可扩展的,所以你可以添加尽可能多的新页面,你需要没有负面影响的简单性。
Sitemap
网站地图是包含您希望在 Google 中的页面完整列表的文档。您可以通过谷歌搜索控制台(索引>网站地图)向 Google 提交网站地图,以便让 Googlebot 知道要访问和爬行哪些页面。网站地图还告诉谷歌,如果有任何更新在您的网页上。
注意:网站地图并不能保证Googlebot在爬行您的网站时会使用它。爬行者可以忽略您的网站图,并继续以其决定的方式爬行网站。尽管如此,没有人因为有网站图而被惩罚,在大多数情况下,它被证明是有用的。一些 CMS 甚至会自动生成站点图、更新它并将其发送到 Google,使您的 SEO 流程更快、更轻松。如果您的网站是新的或大的(有超过500个网址),请考虑提交网站图。
索引说明
在爬行和索引页面时,Google 会遵循某些说明,例如Robots.txt、Noindex标签、robots元标签和X-Robots标签。
Robots.txt 是一个根目录文件,限制一些页面或内容元素从谷歌。一旦Googlebot发现你的页面,它就会查看Robots.txt文件。如果发现页面被Robots.txt限制爬行,Googlebot 将停止从该页面中爬行和加载任何内容和脚本。此页面不会显示在搜索中。
Noindex标签、robots元标签和X-Robots标签是用于限制爬行者爬行和索引页面的标签。Noindex标签限制所有类型的爬行器对页面进行索引。使用robots元标签来指定如何爬行和索引特定页面。这意味着您可以阻止某些类型的爬行者访问页面,并保持页面对其他页面的开放。X-Robots标签可用作HTTP 标头响应的元素,该响应可能会限制页面索引或浏览页面上的爬行者行为。此标签允许您针对单独类型的爬行机器人(如果指定)。如果没有指定机器人类型,说明将适用于所有类型的爬行者。
注意:Robots.txt文件并不能保证页面被排除在索引之外。Googlebot将此文档视为建议而不是订单。这意味着谷歌可以忽略Robots.txt并索引一个页面进行搜索。如果您想确保页面不会被索引,请使用Noindex标签。
所有页面都可用于爬行吗?
不。某些页面可能无法用于爬行和索引。让我们仔细看看这些类型的页面:
- 受密码保护的页面。Googlebot 模拟了匿名用户的行为,该用户没有任何凭据访问受保护的页面。因此,如果页面受到密码保护,它不会被爬行,因为 Googlebot 将无法访问它。
- 索引说明排除的页面。这些页面来自Robots.txt,带有Noindex标签、robots元标签和X-Robots标签。
- 孤儿页面。孤儿页面是网站中任何其他页面中未链接的页面。Googlebot是一个蜘蛛机器人,这意味着它通过跟踪它找到的所有链接来发现新的页面。如果没有指向页面的链接,则页面将不会被爬行,也不会在搜索中出现。
有些页面被限制故意爬行和索引。这些通常是不打算在搜索中显示的页面:具有个人数据、策略、使用条款、页面测试版本、存档页面、内部搜索结果页面等的页面。
但是,如果您想让您的页面可供爬行并带来流量,请确保您不会保护带有密码、思维链接(内部和外部)的公共页面,并仔细检查索引说明。
要检查 Google 搜索控制台中网站页面的可爬行性,请转到Index >Coverage 报告。注意标记 Error(未索引)和 Valid with warning(索引,但有问题)。
注意:如果您不希望 Googlebot 查找或更新任何页面(一些旧页面,您不再需要的页面),请将其从站点地图中删除,如果您有页面,请设置404 Not Found 状态,或用Noindex标签标记它们。
我的网站何时会出现在搜索中?
很明显,在您建成网站后,您的网页不会立即出现在搜索中。如果你的网站是绝对新的,Googlebot将需要一些时间来找到它在网络上。请记住,在某些情况下,这种"某些"可能需要长达 6 个月的时间。
如果 Google 已经了解了您的网站,并且您进行了一些更新或添加了新页面,那么网站在 Web 上的外观变化速度取决于抓取预算。
抓取预算是Google 在爬行您的网站上花费的资源量。Googlebot 需要的资源越多,搜索速度就越慢。
抓取预算分配取决于以下因素:
- 网站人气。网站越受欢迎,谷歌在爬行上愿意花费的爬行点就越多。
- 更新速率。更新页面的频率越高,您的网站获得的爬行资源就越多。
- 页数。页面越多,爬行预算就越大。
- 处理爬行的服务器容量。托管服务器必须能够按时响应爬行器的请求。
请注意,爬行预算并非均等地用于每个页面,因为某些页面会消耗更多资源(因为 JavaScript 和 CSS 过重,或者因为 HTML 杂乱无章)。因此,分配的爬行预算可能不足以像您预期的那样快速爬行所有页面。
除了严重的代码问题外,爬行不良和非理性爬行预算支出的一些最常见的原因是重复内容问题和结构不良的 URL。
重复内容问题
重复内容有好几页内容大多相似。这可能发生的原因有很多,例如:
- 以不同的方式到达页面:有或没有www,通过http或https;
- 动态网址-当许多不同的URL导致相同的页面:
- 页面版本的 A/B 测试。
如果不修复,重复的内容问题会导致 Googlebot 多次爬行同一页面,因为它会认为这些都是不同的页面。因此,爬行资源被浪费在徒劳的,Googlebot 可能无法找到其他有意义的网页,您的网站。此外,重复内容会降低页面在搜索中的位置,因为 Google 可能会认为您的网站的整体质量较低。
事实是,在大多数情况下,你不能摆脱大多数的东西,可能会导致重复的内容。但是,您可以通过设置规范的URL来防止任何重复的内容问题。规范标签表示哪个页面应被视为"主",因此指向同一页面的 URL 的其余部分将不会索引,您的内容也不会重复。您还可以在机器人的帮助下限制机器人访问动态网址.txt文件。
网址结构问题
人机算法都对用户友好型 URL表示赞赏。Googlebot也不例外。Googlebot可能会感到困惑,当试图了解长和参数丰富的网址。因此,更多的爬行资源被花费。为了防止这种情况,使您的网址用户友好。
确保您的 URL 清晰,遵循逻辑结构,具有适当的标点符号,并且不包括复杂的参数。换句话说,您的网址应该看起来像这样:
http://example.com/vegetables/cucumbers/pickles
但事实是,如果您是大型(100万以上网页)或中型(10,000以上网页)网站的所有者,且其内容(每天或每周)频繁更改,才需担心这一点。在其余情况下,您只需要正确优化您的网站进行搜索,并按时修复索引问题。
总结
Google的主要爬行者,Googlebot,在复杂的算法下运作,但你仍然可以"导航"它的行为,使其有利于您的网站。此外,大多数爬行过程优化步骤重复了我们都熟悉的标准 SEO 步骤。
- 点赞
- 收藏
- 关注作者
评论(0)