个人知识库
目录 · 本文
个人记录 / 持续积累

网站 SEO SOP

搜索引擎基础

本章用通用检索原理梳理搜索引擎的两个阶段:准备阶段时:发现网页,抓取、解析或渲染内容并建立索引;响应查询时,从索引中召回候选内容,再经过精排与重排,组织成搜索结果。

一、准备可搜索的内容

1.1 发现网页

搜索引擎先知道页面的 URL,再决定是否抓取。常见的发现或通知新 URL 的途径包括:

  • 通过链接发现:从已知网页中的链接找到新页面,既包括网站内部链接,也包括其他网站指向它的外链。
  • 通过站点地图发现:站点地图(sitemap)向搜索引擎提供网站页面地址,帮助发现新页面或更新。
  • 主动提交页面:以 Google 为例,可通过 Search Console 的 URL 检查工具请求编入索引,提交自己管理的网站 URL。提交不等于收录。

1.2 抓取、解析与渲染

以 Google 处理一个网页为例,可以把这三个环节理解为:先取得页面,再识别其中的信息,并像浏览器一样加载页面内容。

  • 抓取:向网站获取页面:搜索引擎的爬虫访问网页地址,向网站服务器发出请求。服务器返回的 HTML 代码中,可能已经包含标题、正文,以及图片、链接、样式和脚本的地址。爬虫取得这些代码,也可以继续获取图片和脚本等资源。
  • 解析:从代码中识别信息:解析就是读取 HTML 的结构,识别哪些是标题和正文、哪些是图片及其描述、哪些是指向其他网页的链接。提取出的内容会用于后续理解页面和建立索引;找到的链接也能帮助搜索引擎发现其他页面。
  • 渲染:加载页面实际呈现的内容:Google 会使用类似浏览器的环境,结合 HTML、样式和 JavaScript 生成页面。有些文字一开始就在 HTML 中,有些需要执行 JavaScript 后才会出现。渲染让 Google 能进一步读取这些由脚本生成的内容。

例如,一个产品页的介绍如果已经写在 HTML 中,解析时就能读取;如果参数需要运行脚本后才显示,就需要通过渲染进一步获取。

1.3 分词与索引

在准备阶段,文本检索会对网页内容进行分词和词项规范化,把前面抓取到的网页文本转成便于检索和匹配的词项,为后续检索准备索引。理解索引时,可以先区分两个信息组织方向:

正排索引
文档 → 包含哪些词
倒排索引
词 → 出现在哪些文档

正排和倒排描述两种信息组织方向;倒排索引便于从查询词快速找到相关文档。这些记录还可以包含词在文档中的位置等信息。

Google 建立索引时,还会分析页面内容、识别重复页面并选择代表页面。

二、响应用户查询

2.1 理解用户查询

用户输入查询后,系统会处理查询词及其含义,再到已有索引中寻找相关内容。这个过程可以包括对查询文本分词,使用的是准备阶段已经整理好的页面内容及索引。随后,系统从索引中找出相关的候选内容,对候选结果进行排序,并在 SERP(搜索引擎结果页)中展示给用户。

2.2 召回

召回的任务,是从已经建立的索引中找出一批与用户查询可能相关的页面,作为后续排序的候选。

下面两个小节介绍找到这些候选的两种思路:关键词匹配根据查询词查找页面,并可以用 BM25 评分、选取候选;向量检索根据查询与页面内容的语义相似度寻找候选。两种方式可以结合使用,得到的候选再进入后续排序。

2.2.1 关键词匹配与 BM25

这种方式先通过倒排索引,找到与查询词匹配的文档,可以再用 BM25 给候选内容评分,选出更相关的候选。BM25 主要看以下三个因素:

  • 词频:查询词在文档或字段中出现的频率。词频的贡献会逐渐饱和,重复出现带来的提升不会一直按同样幅度增长。
  • 词的区分能力:通过逆文档频率体现。一个词在很多文档中都出现时,通常不如较少见的词有区分能力。
  • 长度归一化:校正文档或字段长短对词频比较的影响。

2.2.2 向量检索

这种方式通过含义的相近程度寻找候选。以文本语义检索为例,模型把页面内容和查询表示为向量,也就是一组数字。页面内容的向量在准备阶段提前生成;用户搜索时再生成查询向量,通过向量相似度寻找含义相近的候选,即使表述不同也可能匹配。

2.3 精排与重排

候选产生后,再进行更细致的排序。

  • 精排:对候选进行更细致的相关性与质量判断。
  • 重排:在已有排序基础上,进一步调整结果的次序。

最后把选定的结果组织成用户看到的搜索结果。

下一章:竞品分析

理解搜索引擎的工作方式,是为了让后续的判断有依据。进入具体工作时,我会优先研究行业竞争对手,从他们已有的搜索表现、关键词和页面中寻找参考线索,减少从零摸索的工作;当可用线索不足时,再补充自己的关键词、搜索意图和页面规划。因此,下一篇先从竞品分析开始。