搜索引擎怎么工作的?抓取索引排名三步全拆解

搜索引擎怎么工作的?本文把抓取、索引、排名三段流水线逐段拆透,教你判断页面搜不到到底卡在哪一段,并给出site查询、服务器日志、Search Console的自查方法。

张文保 更新 21 分钟阅读 1 阅读
搜索引擎怎么工作的?核心就是三段流水线:抓取(爬虫把页面拉回来)、索引(解析去重存进倒排库)、排名(针对某个查询从库里挑顺序)。一个页面搜不到,问题一定卡在这三段里的某一段——本文教你判断卡在哪一段、怎么用site查询和Search Console自己验证,以及新手最容易混淆的"抓到≠收录≠排名"。适合刚入门的站长和想把底层模型讲清楚的SEO新人。

带过不少新站长,最高频的一句话是:"文章我都发了,怎么Google上搜不到?"——他们默认"发布"等于"能被搜到"。这中间其实隔着三道关,每一道都可能把页面拦在外面。保哥这些年做技术SEO,排查"页面搜不到"的工单,九成最后都落在这三道关里的某一道没走通。把这三道关的机制讲透,比背一百条优化技巧都管用,因为后面所有SEO动作,本质都是在伺候这条流水线。

这条流水线就三段:抓取(Crawl)→ 索引(Index)→ 排名(Rank)。听起来像废话,但真正能说清"我的页面现在卡在第几段"的人,一百个站长里不到十个。下面一段段拆。

搜索引擎到底在帮用户解决什么问题?

先把视角拉到用户那一侧,否则后面的机制会记不住。用户在搜索框打一个词,他要的不是"包含这个词的所有网页",而是"能最快解决我当下这个问题的那一个答案"。这句话是整条流水线的设计起点:搜索引擎不是图书馆的卡片目录,它是一个赌博机器——每次查询,它都在赌"哪个页面最可能让这个用户满意,然后不再回来改关键词"。

理解这一点,你就能反推出它为什么要抓取(不抓回来就不知道网上有什么)、为什么要索引(每次查询现去全网扫一遍来不及,必须预先建好可秒查的库)、为什么排名要掺那么多信号(光看关键词匹配会被作弊者钻空子,得叠加权威度和体验信号去对赌满意度)。三段流水线不是工程师拍脑袋设计的,是被"在0.4秒内给出最可能让人满意的答案"这个目标倒逼出来的。

网页是怎么被"抓取"的?

抓取就是搜索引擎派出的程序(Google的叫Googlebot,必应叫Bingbot,百度叫Baiduspider)顺着链接,把一个个网页的HTML下载回自己服务器。这一段最反直觉的点是:爬虫不会凭空知道你的页面存在,它必须有一个"入口"才能发现你。

入口主要这么几类,优先级和效果差别很大:

发现入口机制新页面被发现的速度站长能做的事
站内链接爬虫从已收录页顺着a标签爬到新页取决于源页被重抓频率,几小时到几周新内容从首页/栏目页给一条入口链接,别成孤儿页
XML Sitemap主动提交一份URL清单告诉引擎"这些值得抓"提交后数小时到几天保持sitemap自动更新、lastmod真实
外部链接别的网站链到你,爬虫从对方页爬过来取决于对方站权重和被抓频率有自然外链是加速发现的副产品
主动推送API百度/Bing IndexNow这类把URL直接推给引擎分钟级(百度),Bing较快程序里发布即推送,国内站尤其值得做

这里第一个新手大坑:孤儿页。我见过一个外贸客户,产品页全是后台动态生成、首页和栏目页一条链接都没指过去,sitemap也没收录,结果三千个产品页一年只被抓了不到两百个——不是Google不要,是它压根没有路径走到那里。判断方法很简单,把页面URL在站内全文搜一遍,如果除了它自己没有任何一个页面链接它,它就是孤儿。

第二个要懂的概念是抓取预算(Crawl Budget)。Google不会无限量抓你的站,它给每个站分配一个大致的"每天抓多少",由两件事决定:你服务器扛不扛得住(抓快了就给你减速,叫crawl rate limit),以及它觉得你的内容值不值得勤抓(crawl demand)。小站基本不用操心这个,几千页以内、服务器正常,预算够用;真正会被预算卡死的是几十万URL以上、还大量生成参数页/筛选页的电商站——爬虫一天的额度全耗在 ?color=red&size=M 这种无意义组合上,真正的产品页反而饿着。这类站要做的不是"求Google多抓",而是用robots.txt和参数处理把垃圾URL拦在抓取之外,把预算让给值钱的页。robots.txt怎么写、哪些该Disallow,这篇robots.txt完全指南里有按引擎差异拆的细节。

还有一层很多人不知道:HTTP返回码直接决定爬虫接下来怎么对待这个URL。同样是"抓不到",返回404和返回503,引擎的后续行为天差地别,搞错了会白白丢收录或白耗预算。

返回码爬虫的理解后续行为
200正常页面进入解析索引流程,按质量决定重抓频率
301永久搬家逐步把旧URL信号转移到新URL,几轮抓取后替换
302临时跳转保留原URL不转移信号,长期挂着会被当301处理
404 / 410没了 / 永久没了404还会零星回访试探,410退出索引更快
503服务器临时不可用礼貌退避、过段时间重试,短期不掉收录
持续5xx站点不稳定主动调低抓取频率,预算被动缩水

这里藏着一个值得反复跟客户强调的点:批量下线页面时宁可用410也别让它们挂着软404(页面返回200但内容其实是"找不到")。软404是最坑的状态——引擎当它正常页反复抓、反复进质量评估,纯耗预算还拉低整站质量观感。一个SaaS客户2021年改版时留了四千个软404挂在那,整站重抓周期肉眼可见变慢,清理成真410之后两周抓取频率才缓过来。这种坑不在任何优化清单里,但杀伤力比少写几个关键词大得多。

怎么知道爬虫到底来没来过?别猜,看服务器访问日志。Linux上一行命令就能数出今天Googlebot来了多少次:

grep -i googlebot /www/wwwroot/yoursite/log/access.log | grep "$(date +%d/%b/%Y)" | wc -l

注意一定要做反查校验真伪——伪造Googlebot UA的垃圾爬虫满地都是,真Googlebot的IP反查PTR一定落在 googlebot.comgoogle.com。怎么用代码识别真假蜘蛛并区别对待,这篇蜘蛛识别实战给了5种可落地的判断方法。

抓回来的页面怎么变成"索引"的?

抓回来只是把HTML存到了一个临时区,离"能被搜到"还差一大步。索引这一段做的事,是把这堆原始HTML加工成一个能被毫秒级查询的数据结构——倒排索引(inverted index)。

正排是"一篇文章 → 它有哪些词",倒排反过来,是"一个词 → 哪些文章里出现过、出现在什么位置、权重多少"。用户搜"防水登山鞋",引擎不会去遍历几千亿网页,而是直接查"防水""登山""鞋"这几个词各自挂着的文档列表,求交集,再进入排名。这就是为什么索引这一步必须预先做好——它把"全网扫描"变成了"查字典"。

但页面进库之前,还要过几道加工,每一道都可能把页面刷掉:

加工环节在做什么页面被刷掉的典型原因
渲染对依赖JS的页面跑一遍无头浏览器,拿到最终DOM关键内容靠JS异步加载且渲染失败/超时,引擎看到的是空壳
解析提取抽正文、标题、结构化数据,判断主题正文被广告和导航淹没、主体内容过薄
规范化去重多个URL内容相同时合并成一个代表URL规范网址没指对,引擎自己挑了个你不想要的版本
质量初筛明显低质/重复/spam的不进库或进库不给展示整页采集拼凑、模板化空内容

规范化这一关最容易出隐性问题。同一篇内容如果能通过 ?utm_source=...、大小写、带不带斜杠、HTTP/HTTPS等好几个URL访问到,引擎会认为这是一堆重复页,自己挑一个当"规范版本"收录,其余的权重合并过去。问题是它挑的那个,往往不是你想要的那个带参数的丑URL。这就是为什么每个页面都该用 <link rel="canonical"> 明确告诉引擎"我这一组的正主是谁"。canonical到底什么时候自指、什么时候跨页指、和noindex能不能并用,这篇规范网址指南讲得比较细,这里不展开。

怎么确认一个页面到底进没进索引?最快的是直接在Google搜 site:yoursite.com/your-page-path,搜得到说明在库;更准的是Search Console的"网址检查"工具,它会直接告诉你这个URL是"已编入索引"还是"已抓取但未编入索引"——后者是最值得警惕的状态,意味着抓取那关过了,卡在了质量/重复初筛,通常是内容太薄或和站内别的页重复度太高。

"已抓取但未编入索引"这个状态值得单独拆,因为它是新手最容易误判的。它不是一个原因,至少有三种成因,动作完全不同:其一,内容太薄/价值不足——引擎抓了觉得没必要占库存,对策是把页面做厚做出独有价值,而不是反复点"请求编入索引";其二,站内近重复——这页和你自己另几页讲的几乎一样,引擎只留一个,对策是合并或差异化,不是加外链;其三,站点整体质量配额——引擎对低质感的站会压缩它愿意收录的总量,这页本身没大问题,是被全站拖累,对策是先把站内大量薄页清掉,腾出配额。同一个GSC提示,三种病三种药,照着第一种猛灌"请求索引"去治第三种,怎么治都不会好。这正是为什么前面强调"先把症状对到正确的流水线段"——在索引段内部,也还要再细分一层。

同一个查询,凭什么是它排第一?

前两段是"能不能被搜到",排名这段才是"搜到时排第几"。这是SEO真正下功夫的地方,也是被神化和被骗钱最多的地方——市面上"快速上首页"的话术,多数是在这一段忽悠你。

实际机制没有秘方,但有结构。把Google公开过的、以及行业反复验证过的信号归一下大类,比记两百个零散因子有用得多:

信号大类它在回答什么站长可控的抓手
相关性这页内容是不是在讲用户搜的这件事覆盖查询及其语义变体、把意图答全,而不是堆关键词
权威度凭什么信你这页而不是别人那页高质量外链、品牌信号、作者与站点的专业背书
用户意图匹配这查询的人到底想要信息、想买、还是想找某个站页面类型对得上意图(指南vs产品页vs工具页)
体验信号用户落地后体验顺不顺、会不会立刻退回去加载速度、移动端可用性、主体内容不被弹窗挡住

有个反直觉但极其重要的点:排名不是页面的固有属性,是"查询 × 页面 × 用户场景"三者算出来的临时结果。同一个页面,对查询A排第一,对查询B可能在第五页;同一个查询,在手机和电脑上、在不同地区,结果都可能不一样。新手老问"我这页排第几",这个问题本身就问错了——没有脱离具体查询的"排名"。

保哥服务过一个北美家居类目的独立站,2019年那阵他们一个产品系列页死活上不去,团队天天加外链。后来扒下来看才发现,是意图错配:用户搜那个词其实想要"对比测评",他们却拿一个纯卖货的产品列表页去抢,相关性和意图两关同时差着,外链加得再多也补不回来。把页面改成带横评表格的导购长内容后,三周内进了前页。这件事说明:排名是流水线最后一段,前面相关性和意图没对齐,光在权威度上砸钱是最贵的弯路。关键词和意图怎么对齐,这篇长尾关键词与意图分类的指南有一套可操作的方法。

顺便戳破一个流传很广的说法:"Google有两百多个排名因子。"这数字本身没大错,但拿它当行动清单就错得离谱。保哥的视角是:那两百多个里,绝大多数对单个中小站的边际影响小到测都测不出来,真正值得花时间的就上面那张表的四大类,其中相关性和意图加起来占了大头。见过太多人去抠"URL要不要带连字符""标题写几个字最优"这种小数点后第三位的因子,却放着内容意图错配这种数量级的问题不管——这就是被"两百个因子"清单带偏的典型症状。SEO的功夫要砸在数量级最大的那一两个杠杆上,而不是把两百个小因子都刷到满分。满分清单给人安全感,但排名不按"完成度"给分,按"在这个查询上你是不是最优解"给分。

怎么自己验证每一步有没有走通?

讲机制不给验证方法就是耍流氓。这三段每一段都有"自己在家就能查"的手段,按顺序排查能极快定位"页面搜不到"卡在哪:

  • 查抓取:服务器日志grep爬虫UA(命令见上文),看目标URL有没有被请求过、返回码是不是200。日志里压根没有这个URL,说明卡在发现/抓取段,去查孤儿页和sitemap。
  • 查索引site: 查询 + Search Console网址检查。日志显示抓过、但site查不到,状态又是"已抓取未编入索引",卡在索引段,去查内容厚度和重复度。
  • 查排名:用无痕窗口或排名工具,针对具体目标查询看在第几页。能搜到品牌词但搜不到目标词,说明索引没问题,是排名段的相关性/权威度不够。
排查顺序永远是"抓取→索引→排名"自下而上,不要跳着查。卡在抓取段的页面,你去优化它的关键词密度毫无意义;同理,已经稳定收录、只是排不上的页面,再怎么提交sitemap也没用——那是排名问题不是收录问题。把症状对到正确的流水线段,是排查效率的全部秘密。

新手最容易在哪一步翻车?

把这些年踩过和见客户踩过的坑,按流水线段归一下,基本覆盖九成"页面搜不到"工单:

把"抓到=收录=排名"当成一回事。这是认知层面的总根源。日志里看到Googlebot来过就以为收录了、site搜得到就以为该排第一了——这三件事是三段独立的关,过了上一关不代表自动过下一关。

robots.txt和noindex误用。最惨烈的一类事故:开发为了拦测试环境写了 Disallow: /,上线忘了删,整站从索引里消失。还有人误以为robots.txt的Disallow能让已收录页"消失"——恰恰相反,Disallow是禁止抓取,引擎反而没法重新抓到那个页、读不到你后加的noindex,页面可能更顽固地挂在索引里。要让页面退出索引,正确做法是允许抓取 + 页面上加noindex,等它重抓读到指令后才会移除。

JS渲染依赖。单页应用把正文全靠前端异步渲染,爬虫渲染那一步一旦超时或脚本报错,它存进库的就是个没内容的空壳。判断方法:浏览器里禁用JS刷新页面,如果主体内容消失,引擎大概率也看不全。

重复与近重复内容。电商的筛选页、分页、打印版、多语言未做hreflang,制造出海量近重复,把抓取预算和索引配额稀释掉。这不是加内容能解决的,是URL治理问题。

canonical乱指。这是技术SEO里最隐蔽的自残。最常见两种:分页第二页起全部canonical指回第一页(结果第二页之后的产品全丢出索引);或者整站模板里写死canonical指向首页(全站只有首页能被收录)。canonical是"这一组重复里谁是正主"的声明,不是"我希望谁排名好"的许愿池。指错方向,等于亲手把页面从索引里抹掉,而且因为页面还能正常打开、日志也正常,排查时极容易漏掉这一层。改版上线后第一件事就该是全站抓一遍canonical,逐条核对它指的是不是自己或正确的代表页。

百度、Bing、Yandex的这三段和Google一样吗?

主干完全一样——没有哪个搜索引擎能跳过抓取、索引、排名这条流水线。但每一段的脾气差别不小,做多引擎、或者国内外两套站的人,必须心里有这张差异表,否则一套设置套所有引擎,必然有一头吃亏。

维度Google百度BingYandex
新页发现外链/sitemap为主,主动推送弱极依赖主动推送,不推很慢主推IndexNow,推了就快sitemap+站长平台提交
JS渲染能渲染但有延迟和预算成本渲染能力弱,强烈建议服务端出内容渲染较保守渲染能力中等
排名偏好权威度+意图+体验综合看重备案、内容时效与自有生态吃精确关键词与清晰结构本地化和行为信号权重高
站长工具Search Console百度搜索资源平台Bing Webmaster ToolsYandex Webmaster

保哥的判断是:如果站点要同时吃中文和海外流量,别指望一套技术SEO设置通吃四个引擎。最致命的差异是JS渲染——Google还能勉强渲染单页应用,百度基本就看个空壳,所以国内站坚持服务端渲染或预渲染不是优化项,是生死线。反过来,给Bing做好结构化数据和IndexNow推送,常常能用很低成本吃到一块被同行忽略的流量,因为绝大多数人只盯着Google,Bing那条赛道反而空。说到底这些差异还是同一条流水线,只是每个引擎在三段上的严格程度和偏好不同,理解了主干,差异就只是参数。

这套模型这些年变了什么?

有人会问:都AI搜索时代了,讲抓取索引排名是不是过时了?恰恰相反。从最早的PageRank(2000年前后靠链接投票算权威),到Hummingbird(2013,开始理解整句话的意图而非单词),到RankBrain(2015,机器学习介入处理没见过的查询),到BERT(2019,真正读懂介词和语序对意思的影响),再到有用内容系统(2022,系统性打压为搜索引擎写而非为人写的内容),最后到2024年的AI Overviews直接在结果页生成摘要——变的一直是"排名段"里判断相关性和质量的方式越来越像人,没变的是"抓取→索引→排名"这条主干。

哪怕是AI生成式回答,它要"引用"你,前提仍然是你的页面先被抓到、被解析进可检索的库、在那个问题上被判定为足够相关且可信——还是这三段,只是最后一段的产出形态从"十条蓝链"多了一种"被AI摘进答案"。所以这套底层模型不但没过时,反而是你后面学GEO、学AI引用优化的地基。地基不牢,上面那些花活全是空中楼阁。

说一句可能不讨喜的判断:这二十年里,每次算法大更新都有人喊"SEO死了",从Panda喊到BERT,从移动优先喊到AI Overviews,每次都没死,死的只是那批把SEO理解成"钻当下规则空子"的人。把SEO理解成"伺候好抓取-索引-排名这条流水线、让真正有价值的内容顺畅地被找到"的人,每次更新反而是利好——因为更新的方向,长期看一直是让这条流水线更准地奖励真有价值的东西。这套三段模型之所以值得花一篇长文讲透,就是因为它是这个行业里少数二十年没变、且大概率还会再稳二十年的东西。规则会变,流水线不变,把功夫下在不变的地方,才是这行唯一的复利。

常见问题解答

页面被Googlebot抓取了就等于被收录了吗?

不等于。抓取只是把HTML下载回去,之后还要过渲染、去重、质量初筛才进索引。Search Console网址检查里"已抓取但未编入索引"就是抓到了没收录的典型状态,通常是内容太薄或与站内其他页重复。

怎么最快判断一个页面有没有进索引?

在Google搜 site: 加该页完整路径,搜得到即在库;更准用Search Console网址检查工具,它会明确显示"已编入索引"或具体未收录原因,比site查询更可靠。

用robots.txt的Disallow能让已收录的页面消失吗?

不能,反而会让它更难移除。Disallow是禁止抓取,引擎读不到页面里的noindex指令。正确做法是允许抓取并在页面加noindex,等重抓读到后才会退出索引。

新站多久能被搜到?

没有固定时间,取决于发现入口。有sitemap提交和站内链接,通常几天到两三周开始收录;纯靠外链被动发现可能更久。提交sitemap、避免孤儿页是能主动加速的部分。

为什么我的页面收录了却没有任何排名?

收录和排名是两段。能搜到品牌词、搜不到目标关键词,说明索引正常,卡在排名段——多半是相关性或意图错配,或权威度不足,不是再提交sitemap能解决的。

抓取预算是每个网站都要操心的吗?

不是。几千页以内、服务器正常的中小站基本够用。真正受限的是几十万URL以上、大量生成参数页的电商站,要点是用robots和参数处理把垃圾URL拦掉,把预算让给值钱页面。

百度和Google的收录逻辑差别大吗?

主干一样,差在脾气。百度极依赖主动推送,不推新页很慢,JS渲染能力弱,国内站要坚持服务端出内容;Google靠外链和sitemap发现、能渲染JS但有成本。两套站别指望一套设置通吃。

软404为什么比真404还糟糕?

软404是页面返回200但内容其实是"找不到"。引擎当它正常页反复抓、反复评估,纯耗抓取预算还拉低整站质量观感。批量下线页面应返回404或410,别让它们挂着200。

AI搜索时代还需要懂抓取索引排名吗?

更需要。AI要引用你,前提仍是页面被抓取、进可检索库、在该问题上被判可信,还是这三段。它是GEO和AI引用优化的底层地基,绕不开。

分享到
标签
版权声明

本文标题:《搜索引擎怎么工作的?抓取索引排名三步全拆解》

本文链接:https://zhangwenbao.com/how-search-engines-work-crawl-index-rank.html

版权声明:本文原创,转载请注明出处和链接。许可协议: CC BY-NC-SA 4.0

继续阅读
发表评论
分享到微信 或在下方手动填写
支持 Ctrl + Enter 提交