谷歌算法的一个简单图解

2
回复
161
查看
[复制链接]

微信扫一扫 分享朋友圈

4

主题

10

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2022-12-10 16:53:30 | 显示全部楼层 |阅读模式



对于很多人,尤其是站长和SEO初学者来说,谷歌算法既熟悉又陌生,甚至充满神秘感:复杂的收录和排名系统,不断更新的熊猫、企鹅和蜂鸟……下面我们通过MOZ的专家Dr.Pete一个简单图解,来初步了解下谷歌算法。
一切还要从一个玩笑引起的误会开始,Dr. Pete在推特上打趣道,企鹅的身形是蜂鸟的4倍,那企鹅2.1算法也应该产生4倍的影响力了。




谷歌反垃圾组负责人Matt Cutts看到后很严肃的回道:要知道,企鹅算法和蜂鸟算法可是半毛钱关系都没有的!




当然,Matt是不希望这样的玩笑引起大家的误解,因此Dr. Pete也适时的为大家奉上了一个简单的图解,希望通过图形解析能帮助大家对谷歌算法有初步的理解。
谷歌算法
我们可以把算法想象成一个整合代码功能的模块,谷歌偶尔会对其进行微调,从SEO的角度理解,大概是下图的样子:




因此,当谷歌宣布了“更新”,我们看到的都只是这块蓝色。2012年谷歌一共进行了665次更新,隐藏在此的显然不仅限于在大型项目里修改几行代码那么简单。
输入和输出
当然,算法是要用来实现某些功能,就需要有输入和输出,从搜索角度讲,最基本的输入是谷歌对全球范围内网页的收录,输出则是搜索引擎结果页面(SERP)


如此简单,对吧?网站页面进入—【在里面发生点什么】—搜索结果展现。当然没这么简单,不仅算法本身相当复杂(我们稍后探究),输入方面也不只我们想象的这么直观。
首先,在用于页面收录上,世界上遍布着大概数十个数据中心,每个数据中心就像一个微型城市,连接他们的是全球顶尖技术的光纤网络。所以我们至少要给图里的收录模块加点颜色。


收录模块里的每一小块云集了数以千计的大型计算机以及无数的软件、硬件和人力资源。如果我们继续深挖,收录不仅仅是构成输入系统唯一因素,应该还要包括如下内容:


在以全球网站页面的索引数据为核心的输入系统之上,还包括了链接图、地区和地图信息、社交网站关系图(主要是Google+)和知识图形本质的实体数据库。同样的,这也是一个概念化的东西,我们不需要去深究他们之间究竟是怎样的物理结构关系,我们只需要知道他们对于输入系统来说都是独一无二且重要的。
相关性、排名和重排名
对SEO来说,我们最关心的是排名,但是别忘了排名可不是算法的唯一工作,我认为算法至少应该分为两个步骤,(1)相关性分析(2)排名。对于一个待排名的页面,首先要取出其中相关的内容加入排名队列。我们可以这样画图:


换句话说,谷歌首先要挑选那些页面符合搜索,然后将这些页面排序展示出来,上述的步骤(1)需要相关性分析,一个拥有高权重的网站,如果不匹配查询条件,仍然无法获得排名。就像维基百科上介绍米勒德·菲尔莫尔(1800-1874美国第十三任总统)的页面,永远不可能出现在iphone查询的搜素引擎列表中,无论维基百科的权重有多高。一旦维基百科取消相关性检查功能,权重因素才会被重新加入到排名因素中去并最终获得好的排名。
对于排名来说也不是单一的过程。下面引入一个“重排名”的概念来概括这个复杂的过程。首先谷歌决定一个纯粹有机的的搜索结果排名,然后引入二次排名算法——影响因素包括地区因素、社会化媒体因素和新闻图片等因素。通过二次排名算法,搜索引擎结果会最终展现一个新的排名。


特殊输入:惩罚和拒绝
输入系统还应该包括特殊输入。例如,谷歌手动的惩罚某个站点,对某处进行标记,并将其加入系统中。这可能是收录的一部分,但由于过程是手动管理的,并且连接到Google Webmaster Tools,我认为可以将它视为一个单独的概念。
同样的,谷歌的否定工具也是属于一个独立的输入,由网络管理员手动控制。这些数据必须定期被处理,加入到算法且/或链接图。据推测,有一个半自动化的编辑过程用来专门处理用户提交数据的核查和清理。所以,我们可以将图画成这样:


当然还有其他输入构成系统的组成部分,例如用XML的网站地图帮助Google Webmaster Tools索引网站结构,我们的目的只是对系统最基本的部分有所了解,虽然现在看来最基本的部分也变得越来越复杂。
更新:熊猫、企鹅和蜂鸟
最后,来到了我们都熟知和喜爱的算法更新部分。在很多时候这种更新只是代码的变更或补充,但是在过去的几年,算法更新的确是变得越来越棘手。
先来说熊猫,最早是2011年2月发布。熊猫不仅仅是在代码上的微调,它甚至可以认为是在核心算法代码之上的一个拥有独立数据结构的子算法。每隔一个月左右,熊猫算法就会重启,熊猫数据升级,这些数据被当成熊猫算法排名因素添加到核心算法中去。企鹅算法的操作过程与此类似,因此我们将这两种单独当做子算法,并且设置单独的数据集,将他们画在大圈之外:


但这并不代表熊猫和企鹅算法是相同的,他们在操作上千差万别。我只是想说,他们都是依赖于自己独立的代码进行更新,并将数据导入核心算法。
为什么谷歌不重新编写一下核心算法,来涵盖熊猫和企鹅的功能呢?可能的原因是处理数据所需要的资源远远超出了当前技术和基础所能应对的,由于谷歌正变得快速、强大,这些子算法也会变的越来越完善。另一个原因可能是为了测试和减轻影响,由于初始的企鹅算法更新造成了很大的影响,谷歌只希望定期更新企鹅算法。因此这也许不是一个实时更新的过程。
那么,最近出现的蜂鸟算法呢?对此我们仍有很多未知,但谷歌已经很确信的表明蜂鸟算法是对核心代码运算基础的重写,我认为我们现在仍未看到蜂鸟所带来的全部影响,新算法的潜在内容或许需要在数月甚至一年时间后才揭晓,不过无论如何这是对核心代码的影响,因此完整的图如下:


回复

使用道具 举报

0

主题

7

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2025-5-20 18:20:22 | 显示全部楼层
好帖必须得顶起
回复

使用道具 举报

2

主题

11

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2025-8-29 08:46:54 | 显示全部楼层
LZ是天才,坚定完毕
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表