EN
Shopify 知识库 · 指南

Shopify 搜索结果页(search)配方

从 search template type 出发,说明 /search 结果页的页面组成:搜索框与建议、结果列表与筛选排序、商品页面文章混合结果的处理、无结果页的下一步、搜索词日志作为需求来源,以及与集合页的差异、共用部分和隐私边界。

搜索结果页的任务是回应一个具体的查询词:让顾客确认“搜到了什么”,找到目标或知道下一步去哪。它由 Shopify search template type 承载,路径样例 /search,只有一个默认业务页面,所以本文把入口与配方合并。顾客进入时只知道自己输入的词,没有浏览上下文,页面必须自己说明结果为何出现、没出现时怎么办。

search → 可选 alternate(通常不需要)→ 搜索结果页 → 页面内容清单 → 内容 × 展现 → Theme 实现

搜索框、建议、匹配行为与日志的模块契约见站内搜索模块,结果集合、筛选、排序与翻页见集合浏览与筛选。本文只决定这一页放什么、按什么顺序、何时删掉。

先判断是否需要 alternate

默认 search.json 通常足够。官方 alternate 页面描述的是按资源在后台分配模板,没有说明 search 这种无关联资源的类型如何选用 alternate,该做法未核验。搜索任务是否分化(只搜商品,还是同时搜帮助文章),先用 Search & Discovery 的结果类型设置解决,不建第二个模板。一般规则见 Template type 与 alternate template。

页面内容清单

类别优先级页面内容回答的问题来源边界
运行时核心查询词回显我搜的是什么search.terms;官方示例输出前经 escape
运行时核心结果列表、总数、价格与可售搜到什么、能不能买search.results、search.results_count 与商品当前数据;未执行搜索时 search.performed 为 false
运行时可选筛选与排序怎样缩小search.filters、search.sort_options,默认排序 relevance
运行时可选建议、拼写容错回显输入时有何建议、是否改词预测搜索独立请求;容错回显字段未核验
编辑无结果时热门分类与联系入口换个方式找、找不到怎么办商品分类只列真实集合;客服渠道
编辑可选问答与政策入口问句式查询的答案FAQ,退换、配送类问题指向对应页面
编辑可选特色商品不知搜什么时看什么特色商品,仅限空输入状态

页面组合

顺序是待验证假设,不是必备清单。

序模块回答的问题缺失时
1搜索框与查询词回显我搜了什么、能否改不可缺;页头已有唯一主搜索入口时,结果页只回显词,不另做第二套建议
2结果数量与排序搜到多少、按什么排不足一页时删排序;数量始终保留
3筛选怎样缩小平台不输出筛选或结果很少时删除,不留空面板
4结果列表具体是什么不可缺;零项走无结果状态
5分页后面还有吗不足一页时删除
6无结果出口下一步去哪仅零项时出现

最小成立组合:搜索框(回显)→ 结果数量 → 结果列表 → 无结果出口。常见扩展:筛选与排序、分页、问答入口。

不应默认出现:促销弹窗、订阅表单、品牌故事、与查询无关的推荐商品。无关商品冒充结果会破坏“页面回应查询”的信任。

结果混合类型的处理

官方 Liquid search 对象页面写明:results 可以是文章、页面或商品,每项带 object_type 用于区分;types 是本次搜索覆盖的类型;results 分页每页最多 50 项。Search template 页面只要求遍历 search.results 输出,没有规定分类型渲染。

  • 商品为主体,页面与文章为补充:商品用 Grid;页面与文章用单行 List并标明类型,不套用价格与加购结构。
  • 类型可在后台收窄:Search & Discovery 帮助页写明结果页类型可设为商品、页面、博客文章(默认全含),主题请求里传了 type 参数则覆盖后台设置。页面与文章没有搜索价值时,收窄为商品比在模板里过滤更可维护。
  • 页面与文章数量受限:帮助中心搜索行为页(单页摘要)写明最多返回 2 个页面或文章,且只在第一页出现;这与 Liquid 对象页的分页描述并不完全对应,需在真实店铺实测后再定文案与布局。
  • 筛选主要为商品设计:官方描述未说明筛选对页面与文章如何生效,混合结果下的作用范围未核验,页面不得暗示筛选对所有类型有效。

内容 × 展现形式

内容首选形式适用条件退化方式
搜索框与查询词Inline Form始终无
商品结果Grid商品卡与集合页一致List
页面与文章结果List,标明类型结果类型混合后台收窄为仅商品后删除
筛选与排序侧栏 / Drawer结果多且平台输出筛选删除
分页Pagination超过一页删除
无结果出口分类链接加联系入口零项至少保留联系入口

与集合页的差异与共用

维度搜索结果页集合页
资源查询词,无固定资源集合,有说明与图片
入口状态只知道查询词顾客已选定范围
默认排序relevance后台集合默认排序
结果类型商品、页面、文章可混合商品
零项正常状态,需给下一步通常是配置问题
筛选数据search.filters 在超过 1,000 个商品时为空(Liquid 对象页所写)collection.filters 在商品超过 5,000 时为空(见集合浏览与筛选)
索引与抓取robots 输出与是否适合作落地页未核验,见 SEO 框架同样按该框架

共用:商品卡、网格、筛选面板、排序与分页控件,以及“URL 表达状态”的规则。两页对同一商品必须显示同一变体的价格与图片。主题层的共用与分工见 Horizon 集合与搜索与 Dawn 筛选与分页。

状态与退化

状态页面级处理
空输入显示搜索框,不显示“没有结果”;可给热门分类,不读取顾客历史
零项回显原词,提示检查拼写,给热门分类与联系入口;不用无关商品冒充结果
一项与多项结构不变;一项时不显示分页与排序
加载与失败保留输入与旧结果;失败时说明未完成并可重试,不显示为无结果
不可售后台可显示、隐藏或排到末尾(默认末尾);页面不把不可售商品作首选结果
使用搜索语法帮助中心写明使用引号、AND、OR 等语法时拼写容错等功能不生效;结果页应回显原查询
跨市场与语言结果、价格与可售按当前市场;中文搜索质量未核验,见站内搜索

备用商品:部分主题在无结果时输出备用集合商品。若保留,必须写明“这些不是搜索命中”,Horizon 的这一分支见 Horizon 集合与搜索;更保守的做法是不显示,只给分类与联系入口。

搜索词日志:需求来源与隐私

Search & Discovery 报表包括点击率、购买率、按查询词统计的搜索、无结果搜索与无点击搜索;应用内显示最近 30 天,完整历史在 Analytics;预测搜索的互动不计入(报表页所写),所以“无结果”榜只反映提交到结果页的搜索。分流做法见站内搜索模块:高频无结果补别名或标签,问句式查询补 FAQ 或客服入口,售后诉求给出对应路径。

隐私边界,细则以站内搜索模块为准:

  • 查询词可能含姓名、邮箱、电话或订单号,不得直接公开为“热门搜索”,除非聚合、设阈值并过滤个人信息形态;
  • 查询词位于结果页 URL 的 q 参数,回显必须转义;它会进入访问日志、分析脚本与外部引荐,这是本文推论,未在真实店铺核验;
  • 日志保留期限、访问人与告知义务取决于适用法规与隐私政策,需法务或合规确认,本文不给结论。

Shopify Theme 实现

层次已核验的机制 / 建议职责
Template官方 search 页面:渲染 /search,模板为 templates/search.json;HTML 与 Liquid 必须在被引用的 Section 中
必备要素搜索表单 action="{{ routes.search_url }}",输入框 type="text"、name="q";结果遍历 search.results
Main SectionJSON templates 页面未规定必须有 main section;结果页示例为 Dawn 的 main-search.liquid,见 Dawn 预测搜索
Sections / Blocks模板最多 25 个 Section,每个最多 50 个 Block;搜索框、结果、无结果出口分成可排序 Section;Block 为单个入口链接或热门分类
Settings开放版式与入口内容;结果类型与缺货显示放在 Search & Discovery,不在主题重复实现,注意主题传 type 会覆盖后台
数据来源Liquid search:terms、performed、results、results_count、filters、sort_options、default_sort_by、types
远程商品Search template 页面写明启用后其他店铺商品自动出现,无需改主题;基于 API 的搜索结果主题不支持,必须使用 search.results
建议预测搜索独立请求,见 Horizon 预测搜索

发布检查

  • 查询词回显被转义,含引号与尖括号的词不破坏页面;
  • 商品、页面、文章结果能分辨类型,类型设置与页面文案一致;
  • 零项状态有原词回显、分类入口与联系入口,且不冒充搜索结果;
  • 建议与结果页对同一个词不互相矛盾,改任一处后两处都验证;
  • 筛选与排序 URL 可复制、可返回,关闭 JavaScript 仍能提交搜索;
  • 用邮箱形态的词搜索,确认它没有进入任何公开展示位置;
  • 切换市场与语言后,结果、价格与可售同步。

待继续完善

  • 缺少真实店铺的中文搜索与混合类型实测,页面与文章数量限制需复核;
  • search 类型是否、如何使用 alternate 未核验;筛选在混合结果下的作用范围未核验;
  • 缺少真实搜索日志对分流表的验证,以及日志保留与隐私的合规结论。