了解搜索引擎的工作原理是 SEO 专业人员的基础。这是关于爬取、渲染、索引和排名的复习。尽管看起来很基础,但一些从业者混淆搜索的基本阶段并将过程完全混为一谈的情况并不少见。在本文中,我们将重温搜索引擎的工作原理,并回顾该过程的每个步骤的底层逻辑。
搜索的四个阶段
将网络内容纳入搜索结果涉及许多不同的过程。在某些方面,说只有少数离散阶段可以实现这一点可能过于简单化了。我在这里介绍的四个阶段中的每一个都有几个可以在其中发生的子过程。除此之外,还有一些重要的流程可以与这些流程异步,例如:
垃圾邮件监管的类型。
将元素合并到知识图谱中并使用信息更新知识面板。
图像中光学字符识别的处理。
音频和视频文件中的音频到文本处理。
PageSpeed 数据的评估和应用。
等等。
以下是让网页出现在搜索结果中所需的主要搜索阶段。
1. 爬取
当搜索引擎从网站服务器请求网页时,就会发生爬网。想象一下,Google 和 Microsoft Bing 正坐在电脑前,在浏览器窗口中输入或点击网页链接。因此,搜索引擎的机器访问网页的方式与您的方式类似。每次搜索引擎访问一个网页时,它都会收集该页面的副本并记录在该页面上找到的所有链接。搜索引擎收集该网页后,将访问其尚未访问的链接列表中的下一个链接。这被称为“爬取”或“爬网”,这很恰当,因为网络隐喻着一个巨大的、由相互连接的链接组成的虚拟网络。
搜索引擎使用的数据收集程序被称为“蜘蛛”、“机器人”或“爬虫”。谷歌的主要爬虫程序是“Googlebot”,而微软必应有“Bingbot”。每个都有其他专门的机器人来访问广告(即 GoogleAdsBot 和 AdIdxBot)、移动页面等。搜索引擎处理网页的这个阶段看起来很简单,但发生的事情有很多复杂性,仅在这个阶段。想想可以有多少个 Web 服务器系统,运行不同版本的不同操作系统,以及不同的内容管理系统(即 WordPress、Wix、Squarespace),然后是每个网站的独特定制。
很多问题可以让搜索引擎的爬虫无法爬取页面,这是研究这个阶段涉及的细节的一个很好的理由。首先,搜索引擎必须在某个时间点找到指向该页面的链接,然后才能请求该页面并访问它。(在某些配置下,已知搜索引擎会怀疑可能存在其他未公开的链接,例如在子目录级别的链接层次结构中的一级或通过一些有限的网站内部搜索表单。)搜索引擎可以通过以下方法发现网页的链接:
当网站运营商直接提交链接或向搜索引擎披露站点地图时。
当其他网站链接到该页面时。
通过从其自己的网站内链接到该页面,假设该网站已经有一些页面被索引。
社交媒体帖子。
在文档中找到的链接。
在书面文本中找到且未超链接的 URL。
通过各种文件的元数据。
等等。
在某些情况下,网站会通过位于域和 Web 服务器的基础级别的 robots.txt 文件指示搜索引擎不要抓取一个或多个网页。Robots.txt 文件中可以包含多个指令,指示搜索引擎该网站不允许抓取特定页面、子目录或整个网站。指示搜索引擎不要抓取网站的页面或部分并不意味着这些页面不能出现在搜索结果中。阻止他们以这种方式被抓取会严重影响他们为其关键字排名的能力。在其他情况下,如果网站自动阻止机器人,搜索引擎可能难以抓取网站。当网站的系统检测到以下情况时,可能会发生这种情况:
机器人在一段时间内请求的页面数量超过了人类的要求。
机器人同时请求多个页面。
机器人的服务器 IP 地址位于网站已配置为排除的区域内。
机器人的请求和其他用户对页面的请求使服务器的资源不堪重负,导致页面服务速度变慢或出错。
但是,搜索引擎机器人被编程为在检测到服务器正在努力跟上需求时自动更改请求之间的延迟率。对于较大的网站和页面内容经常更改的网站,“抓取预算”可能成为搜索机器人是否会抓取所有页面的一个因素。从本质上讲,网络是具有不同更新频率的无限网页空间。搜索引擎可能无法访问那里的每个页面,因此他们优先考虑要抓取的页面。拥有大量页面或响应速度较慢的网站如果与其他网站相比排名权重相对较低,则可能会在所有页面都被抓取之前用完其可用的抓取预算。值得一提的是,搜索引擎还请求构成网页的所有文件,例如图像、CSS 和 JavaScript。就像网页本身一样,如果搜索引擎无法访问有助于构成网页的其他资源,它可能会影响搜索引擎解释网页的方式。
2. 渲染
当搜索引擎抓取网页时,它将“渲染”该页面。这涉及使用 HTML、JavaScript 和级联样式表 (CSS) 信息来生成页面在桌面和移动用户面前的显示方式。这对于搜索引擎能够理解网页内容在上下文中的显示方式非常重要。处理 JavaScript 有助于确保它们可能拥有人类用户在访问页面时会看到的所有内容。搜索引擎将呈现步骤分类为爬取阶段中的子过程。我在这里将其列为该过程中的一个单独步骤,因为获取网页然后解析内容以了解它在浏览器中的显示方式是两个不同的过程。
Google 使用与 Google Chrome 浏览器相同的渲染引擎,称为“Rendertron”,它是基于开源 Chromium 浏览器系统构建的。Bingbot 使用 Microsoft Edge 作为其引擎来运行 JavaScript 和呈现网页。它现在也建立在基于 Chromium 的浏览器之上,因此它本质上呈现网页的方式与 Googlebot 的方式非常相似。
Google将页面的副本以压缩格式存储在其存储库中。微软必应似乎也这样做了(但我还没有找到证实这一点的文档)。一些搜索引擎可能仅根据可见文本存储网页的速记版本,去除所有格式。对于内容的关键部分依赖于 JavaScript/AJAX 的页面,渲染主要成为 SEO 中的一个问题。Google 和 Microsoft Bing 都将执行 JavaScript 以查看页面上的所有内容,而更复杂的 JavaScript 结构可能对搜索引擎的操作具有挑战性。
我曾见过由 JavaScript 构建的网页,这些网页基本上对搜索引擎来说是不可见的,导致网页严重不理想,无法对其搜索词进行排名。我还看到电子商务网站上的无限滚动类别页面在搜索引擎上表现不佳的情况,因为搜索引擎无法看到尽可能多的产品链接。其他条件也会干扰渲染。例如,当一个或多个 JaveScript 或 CSS 文件由于位于 robots.txt 不允许的子目录中而无法被搜索引擎机器人访问时,将无法完全处理该页面。Googlebot 和 Bingbot 基本上不会索引需要 cookie 的页面。基于 cookie 有条件地提供某些关键元素的页面也可能无法完全或正确呈现。
3. 索引
一旦页面被抓取并呈现,搜索引擎会进一步处理该页面以确定它是否将存储在索引中,并了解该页面的内容。搜索引擎索引在功能上类似于在书末找到的单词索引。一本书的索引将列出书中找到的所有重要单词和主题,按字母顺序列出每个单词,以及将找到单词/主题的页码列表。搜索引擎索引包含许多关键字和关键字序列,与找到关键字的所有网页的列表相关联。该索引在概念上与数据库查找表有一些相似之处,后者可能最初是用于搜索引擎的结构。但是现在主要的搜索引擎可能会使用更复杂几代的东西来完成查找关键字并返回与该词相关的所有 URL 的目的。
使用功能来查找与关键字关联的所有页面是一种节省时间的架构,因为每次有人搜索关键字时,都需要非常不可行的时间来实时搜索所有网页以查找关键字。由于各种原因,并非所有抓取的页面都会保留在搜索索引中。例如,如果一个页面包含一个带有“noindex”指令的机器人元标记,它会指示搜索引擎不将该页面包含在索引中。类似地,网页可能在其 HTTP 标头中包含 X-Robots-Tag,指示搜索引擎不要索引该页面。在其他情况下,网页的规范标签可以指示搜索引擎将与当前页面不同的页面视为该页面的主要版本,从而导致该页面的其他非规范版本从索引中删除.
谷歌还表示,如果网页质量低下(重复的内容页面、精简的内容页面以及包含全部或过多不相关内容的页面),则可能不会将其保留在索引中。也有很长的历史表明,集体 PageRank 不足的网站可能不会将其所有网页都编入索引——这表明外部链接不足的大型网站可能无法彻底编入索引。抓取预算不足也可能导致网站没有将其所有页面编入索引。搜索引擎优化的一个主要组成部分是在页面没有被索引时进行诊断和纠正。因此,彻底研究可能影响网页索引的所有各种问题是一个好主意。
4. 排名
网页排名是搜索引擎处理中最受关注的阶段。一旦搜索引擎拥有与特定关键字或关键字短语相关联的所有网页的列表,它就必须确定在对关键字进行搜索时如何对这些页面进行排序。如果您在 SEO 行业工作,您可能已经非常熟悉排名过程所涉及的一些内容。搜索引擎的排名过程也称为“算法”。搜索排名阶段所涉及的复杂性是如此之大,以至于它本身就值得多篇文章和书籍来描述。
有很多标准可以影响网页在搜索结果中的排名。谷歌表示其算法使用了 200 多个排名因素。在许多这些因素中,也可以有多达 50 个“向量”——这些因素可以影响单个排名信号对排名的影响。
PageRank 是谷歌在 1996 年发明的最早版本的排名算法。它建立在一个概念之上,即链接到一个网页——以及指向该网页的链接来源的相对重要性——可以计算以确定页面的相对排名强度到所有其他页面。一个比喻是链接在某种程度上被视为投票,投票最多的页面将比链接/投票较少的其他页面排名更高。
快进到 2022 年,许多旧的 PageRank 算法的 DNA 仍然嵌入在 Google 的排名算法中。该链接分析算法也影响了许多其他开发类似方法的搜索引擎。旧的 Google 算法方法必须迭代地处理网络的链接,在排名过程完成之前在页面之间传递 PageRank 值数十次。这种跨越数百万页的迭代计算序列可能需要将近一个月的时间才能完成。
如今,每天都会引入新的页面链接,谷歌以一种滴水法计算排名——允许更快地考虑页面和变化,而不需要长达一个月的链接计算过程。此外,链接以复杂的方式进行评估——撤销或降低付费链接、交易链接、垃圾链接、非编辑认可链接等的排名。链接之外的广泛因素也会影响排名,包括:
专业知识、权威性和可信赖性或简称 E-A-T。
质量
位置/距离
个人搜索历史。
加密与未加密(使用安全套接字层或 SSL)交付网页,由“HTTPS”URL 前缀表示。
移动友好性。
页面速度。
等等。
写在最后
了解搜索的关键阶段是成为 SEO 行业专业人士的关键项目。社交媒体中的一些人认为,仅仅因为他们不知道抓取、渲染、索引和排名之间的区别而没有雇用候选人是“走得太远”或“守门”。了解这些过程之间的区别是个好主意。但是,我不会认为对这些条款有模糊的理解会破坏交易。SEO 专业人员来自不同的背景和经验水平。重要的是他们有足够的训练能力来学习并达到基本的理解水平。