先给结论:空搜索结果页不该只显示“没有找到”,而应把用户原查询当作线索,提供三种可执行的下一步——保留原词并放宽范围、改写为站内可能存在的近义表达、或引导退出站内搜索改走导航与人工渠道。判断选哪种,取决于空结果是“真的没有内容”,还是“内容存在但索引、分词或字段覆盖没接上”。
用户已经尝试常规做法仍未解决,往往是因为只盯着搜索框,没有先区分空结果的来源。可以按下面这组证据分流:
这四种原因对应不同动作。若是真缺内容,空结果页要做的是承认缺口并给出替代路径;若是检索链路漏接,优先修检索配置,而不是急着改文案。
当空结果来自分词、字段覆盖或索引延迟,保留原查询并放宽范围是成本最低的选择。实际动作可以是在空结果页自动追加“放宽匹配”的链接,把原词带到更宽的列表页或标签页。结果如何影响下一步:如果放宽后出现相关条目,说明问题在召回策略,应继续调整搜索字段和同义词;如果放宽后仍是无关结果,说明站内确实缺这块内容,应转向改写或退出路径。
适用前提是站点已有一定内容量,且搜索服务支持对原查询做二次处理。若内容总量很少,放宽范围通常只会得到一堆不相关页面,此时保留原词的价值有限。
改写不是替用户随便猜词,而是基于站内实际存在的表达给出候选。可执行的做法是:在空结果页列出三到五个站内高频近义词或上位词,每个词都指向一个真实存在的栏目或标签页。例如用户搜“cms建站教程 报价”,站内只有“费用说明”和“服务范围”,就把这两个词作为改写候选。
判断是否该改写,可以看一个假设例子:假设站内有 40 篇教程,其中 12 篇标题含“安装”,但正文从不出现“部署”。用户搜“部署”得到空结果,此时把“安装”作为改写候选是合理的;若站内连“安装”相关内容都没有,改写就只是把空结果换个说法,不应采用。
改写的边界是不要伪造站内不存在的入口。每个候选词都必须能落到真实页面,否则用户点进去仍是空,会更快离开。
当用户查询明显超出站点内容边界,继续在站内绕圈只会消耗耐心。这时空结果页应明确给出退出路径:返回上级栏目、查看全部教程列表、或走人工咨询。实际动作是把“没有找到”替换为“站内暂未覆盖该主题,你可以从以下入口继续”。结果如何影响下一步:如果退出路径的点击集中发生在某类查询上,说明这类需求值得补内容;如果几乎没人点,说明该查询本身是长尾噪声,不必为它单独建页。
适用前提是站点能识别查询与自身主题的偏离程度。若无法判断,至少提供返回导航和搜索建议,不要只留一句空话。
把上述取舍组合成一个最小结构,便于在模板里实现:
技术实现上,搜索模板通常需要判断结果数为零时输出这段结构,例如在模板里写成 <if no_results>...</if> 的占位逻辑,具体语法取决于所用 CMS。不要假设某个 CMS 会自动生成这些候选词,候选词需要人工维护或从站内词表读取。
最后要提醒的是,空结果页的改动效果不能只看搜索量或抓取量是否归零来判断。搜索量下降也可能是用户直接走了导航,抓取量变化也可能来自其他页面调整。要判断改动是否有效,应观察空结果页上的下一步点击去了哪里,以及这些点击之后是否到达了有内容的页面。