空搜索结果页不该只显示“没有找到”,而要把用户原来的查询词当成线索,给出可继续点击或可修改的下一步。具体选哪种做法,取决于你的CMS能否读取查询词并生成动态链接:能读取时,优先做“相关栏目与近义词入口”;不能读取时,退回到“人工维护的固定引导页”。
用户搜索后看到空页,常见原因有两种,处理方式完全不同。第一种是站内确实没有对应内容,第二种是内容存在但标题、别名或分词方式与查询词不匹配。区分方法很直接:把查询词拿去站内全文检索和后台内容列表各查一遍。如果全文检索能命中,说明入口或分词有问题;如果两边都查不到,才是内容缺失。
这个判断会决定下一步动作。入口缺失时,空结果页应把用户导向已有内容;内容缺失时,空结果页应把用户导向相关栏目、相近主题或提交需求入口。两种情况下都不该让用户停在原地。
如果模板层能拿到查询词,空结果页可以围绕这个词生成三类下一步,按优先级排列:
实施动作:先在模板里加一段判断逻辑,查询词长度大于某个阈值时,截取前几个词做二次检索;二次检索仍为空,再展示词表映射结果。结果如何影响下一步:如果二次检索能命中,说明问题在分词或别名,应回头补充内容别名;如果始终为空,才考虑扩充内容或做人工引导页。
有些CMS的搜索模块只返回结果列表,空结果时模板拿不到原始查询词,或者查询词在传递过程中已经丢失。这时不要硬做动态逻辑,而是维护一个固定引导页,包含:
实施动作:把空结果页模板指向这个固定引导页,并在页面上保留搜索框。结果如何影响下一步:如果固定引导页的点击集中在某几个栏目,说明这些栏目才是用户真正想找的,应把它们提到更显眼的位置,甚至考虑为它们单独做聚合页。
假设用户搜索“cms系统选择 备份”,站内没有同时包含这两个词的文章。条件一,CMS能读取查询词:空结果页可以拆出“备份”这个核心词,展示备份相关文章列表,同时提示“未找到同时包含‘cms系统选择’和‘备份’的内容”。条件二,CMS不能读取查询词:空结果页只能展示固定的“备份与恢复”栏目入口和搜索框。前者更贴近原需求,后者更依赖人工维护的栏目结构是否合理。
这个例子的比较方法可以复用:先确认CMS能否拿到查询词,再决定做动态映射还是固定引导,不要两种条件混用同一套模板。
如果查询词明显是乱码、超长拼接或与站点主题完全无关,空结果页不需要强行推荐相关内容,只保留搜索框和返回入口即可。另一种例外是站内内容本身很少,动态映射和固定引导都无内容可指,这时应优先补内容,而不是在空结果页上做复杂逻辑。
还要注意,空结果页的引导链接应指向真实存在的页面,不要为了填满页面而生成大量空栏目链接。判断依据是:点击后能否看到有效内容,而不是链接数量多少。