官方文档: https://developers.google.com/search/docs/fundamentals/how-search-works?hl=zh-cn
Google搜索引擎
Google 搜索是一款全自动搜索引擎,会使用名为“网页抓取工具”的软件定期探索网络,找出可添加到 Google 索引中的网页。
Q&A
- 上面这段官方介绍是什么意思? 如何理解?
回答: Google 自己就像一个不知疲倦的机器人,它不需要人每天告诉它“去哪里看新网页”。它会自己开着车(抓取工具)满互联网转悠,发现一个页面就记下来,存到它的那个巨大无比的“笔记本”(索引)里,等你去搜的时候就能马上翻出来给你。
- 什么是“全自动搜索”?有“非自动搜索”吗?
回答:
全自动搜索:
整个过程——找新网页、理解内容、排序结果——全部由程序自己完成,**不需要人工每天手动提交、审核。**Google、Bing 就是这类。
非自动搜索:
历史上还真出现过非自动搜索,比如早期的 Yahoo 目录(1994年左右),它不是靠爬虫,而是人工编辑去提交或发现网站,然后手动分类、写简介.
还有早期的 DMOZ 开放目录,也是人工收录。 可以理解成:一个巨大的电话本,需要人一个个往里抄号码。
- “网页抓取工具”是什么软件?它的结构是什么?
网络抓取工具是一个自动访问网页的程序,技术叫 Web Crawler(网络爬虫) 或 Spider(蜘蛛)。
它的结构为主要的三部分:
-
种子队列:一开始有几个起始网址(比如 www.google.com)。
-
下载器:模拟浏览器,去要这个网址的页面内容。
-
解析 + 提取链接:读完页面,把里面的链接抽出来,扔回队列里,然后重复去下载。
Google搜索引擎原理
Google 搜索的工作流程分为 3 个阶段,并非每个网页都会经历这 3 个阶段:
-
抓取:Google 会使用名为“抓取工具”的自动程序从互联网上发现各类网页,并下载其中的文本、图片和视频。
-
索引编制:Google 会分析网页上的文本、图片和视频文件,并将信息存储在大型数据库 Google 索引中。
-
呈现搜索结果:当用户在 Google 中搜索时,Google 会返回与用户查询相关的信息。
抓取
-
网址发现
Google 通过三种方式找到新网页:- 从已抓取的已知网页中提取链接(
<a href="https://www.xxxxxx.com">xxxxx</a>) - 网站所有者提交的站点地图(
sitemap.xml) - 没有统一的网址注册表,因此需持续探索
- 从已抓取的已知网页中提取链接(
-
抓取决策
- 由 Googlebot(爬虫/蜘蛛)执行
- 使用算法决定:抓取哪些网站、抓取频率、每个网站抓取多少页面
- 会主动控制速度,避免对网站造成过大压力(如看到 HTTP 500 错误就降低抓取速度)
-
渲染处理
- Googlebot 会使用最新版 Chrome 渲染网页,并执行其中的 JavaScript
- 渲染是为了能看到依赖 JS 动态加载的内容,否则可能遗漏
-
抓取失败或跳过的主要原因
- 网站所有者通过设置禁止抓取(如权限规则)
- 需要登录才能访问
- 服务器端问题
- 网络问题
robots.txt规则阻止 Googlebot 访问
编入索引
抓取网页后,Google 会尝试了解该网页的内容。这一阶段称为“索引编制”,包括处理和分析文字内容以及关键内容标记和属性,例如
索引编制过程如下:
-
首先,Google 会确定网页是否与互联网上的其他网页重复或是否为规范网页。 规范网页是可能会显示在搜索结果中的网页。
-
为了选择规范网页,Google首先会将在互联网上找到的内容类似的网页归为一组(也称为聚类), 然后从中选择最具代表性的网页.
关于该组网页中的其他网页,Google会在用户的不同情况上去进行提供,比如用户在移动设备上进行搜索或者他们正在查找该组网页中的某个网页时
- Google会收集关于规范网页及其内容的信号,这些信号会在搜索结果中呈现网页用到. 这些信号包括:网页语言、内容所针对的国家/地区、网页易用性。
索引信号 索引信号是指Googlebot分析网页的内容,例如TDK,HTML语义化标签,JSON-LD,Open Graph,Web Vitals,alt属性,分析这些内容和网站质量,用于进行评估提升排名。
- 收集的关于规范网页及其网页群组的相关信息会存储在Google索引(托管在数千台计算机上的大型数据库)中.
注意: 并非所有被抓取的网页就一定会编入索引,是否会编入Google索引中,还取决于网页内容及其元数据.
一些常见的索引编制问题可能包括:
- 网页内容质量低
- Robots meta 规则禁止编入索引
- 网站的设计可能使索引编制难以进行
呈现搜索结果
当用户输入查询时,Google会在Google索引中搜索匹配的网页,并返回Google认为与用户搜索内容最相关的优质结果.
相关性是由数百个因素决定的,其中可能包括用户的位置、语言和设备(桌面设备或手机)等信息。例如,在用户搜索“自行车维修店”后,Google 向巴黎用户显示的结果与向香港用户显示的结果有所不同。
浏览器开发者工具中的Search Console会提示你的网页已编入索引,但搜索结果看不到是为什么呢? 原因可能如下:
- 网页内容与用户查询无关
- 内容质量低
- Robots meta 规则阻止提供内容
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
.webp)
