抓取、索引和排名是三个先后不同、可以分别失败的环节。判断时不要只看“搜不到”这一个现象,而要依次确认:搜索引擎是否来过、页面是否被收录、以及收录后是否在目标查询下获得展示。把这三步分开,才能定位问题到底出在哪一环。
抓取是搜索引擎的程序访问页面并读取内容,相当于“有没有来看过”。索引是把抓取到的内容处理后存入可供检索的数据库,相当于“有没有被登记”。排名是用户搜索某个查询时,页面在结果中被展示的位置,相当于“登记之后在竞争中排到哪”。三者是递进关系:没抓取通常无法索引,没索引就谈不上排名,但被抓取不等于被索引,被索引也不等于有排名。
不同环节失败,表现出的迹象不同。可以先用下面的对照来缩小范围:
这些只是“可能原因”,不能凭单一现象直接下结论。比如搜不到也可能是查询词选得不对,或页面内容与查询毫无关联。
要真正定位,建议按抓取、索引、排名的顺序逐项核对,每一步都留下证据:
每一步都要记录“查了什么、看到什么、据此排除什么”。只有把前一步确认通过,后一步的结论才站得住。
假设某个页面在目标查询下搜不到(此例为假设,用于说明方法)。先查日志:如果爬虫从未访问,问题在抓取,应先解决可访问性和入口链接。如果爬虫来过且返回正常,但站点限定查询查不到该页,问题在索引,应检查是否被标记为不索引或内容未被采纳。如果站点限定查询能查到,只是目标查询没有它,问题在排名,应比较该页与已展示页面的内容匹配度和主题相关性。三种情况对应三种不同的下一步,不能混为一谈。
一是把“搜不到”直接当成排名差。排名差的前提是已经进入索引,未收录时讨论排名没有意义。二是把一次查询结果当成长期状态。抓取、索引和排名都会随内容更新和重新处理而变化,判断应以多次核对和可复查的记录为准,而不是凭单次印象下结论。搜索平台的具体查询入口和展示方式可能调整,应以当前实际可用的核对方式为准。
下一步:挑一个你关心的页面,先查服务器日志确认抓取,再用站点限定查询确认索引,最后才用目标查询评估排名,把三步结果分别记下来,问题出在哪一环就清楚了。