Shopify 网站不能“完全防止同行查看”公开页面。如果商品页、价格和图片对普通访客公开,竞争对手也能像普通用户一样访问。可做的是区分信息层级:公开销售内容正常开放;批发价、未发布产品、测试店铺或 B2B 内容用密码、客户登录或权限控制;爬虫抓取则用 robots.txt、平台默认规则和必要的安全工具降低暴露范围,而不是承诺彻底屏蔽。
先明确要防的是人直接访问、搜索结果展示、自动抓取,还是测试订单。这是四个不同问题。Shopify 官方说明,商店密码保护会隐藏在线商店页面,访客和搜索引擎看到的是密码页;获准访客凭密码进入。参见 Shopify:Restrict access to your online store。
方法一:未发布或私密阶段,用 Shopify 店铺密码保护
如果你真正想阻止外部访客查看整个在线商店,最直接的方法不是 robots.txt,而是 Shopify 的店铺密码保护。它适用于新店未上线、产品还在选品测试或整个站点暂不对公众开放的场景;单个 B2B 客户的差异化访问权限需用另一套方案。
- 在 Shopify 后台开启店铺密码保护后,在线商店页面会对未获密码的访客和搜索引擎隐藏。
- 你可以设置访问密码,并分享给允许访问的人。
- 也可以在密码页写清上线时间、招商说明或 B2B 访问规则。
这种方式的代价也很明显:普通消费者和搜索引擎同样无法访问公开页面。因此它适合“暂时不公开”或“只给特定客户看”,不适合长期运营的普通零售店铺。
操作判断:在后台 Online Store / Preferences 查看当前商店访问设置(界面名称可能因账户而异),开启密码后,用未登录的无痕窗口访问首页和具体商品 URL,确认两处都不暴露正文,再用密码测试购买路径。不要只从导航移除商品就认为无法直接打开链接。若零售仍要开放而批发价需要私密,整店密码不是合适方案;应评估 Shopify B2B 客户登录/目录或确实执行服务端访问限制的方案,并用未登录请求实测商品、价格与接口返回。Shopify B2B 帮助中心可用于核对当前套餐及访问设置。
方法二:用 robots.txt 管理爬虫,但不要把它当访问控制
Shopify 官方文档解释了 crawling 和 indexing 的区别:抓取是搜索引擎机器人请求并分析页面内容,索引是页面获得出现在搜索结果中的资格。robots.txt 主要告诉爬虫哪些页面可以请求查看,并不等于给页面加密码。
Shopify 的默认 robots.txt 已包含面向 SEO 的默认规则,例如允许公开内容,阻止 admin、cart、checkout、account、orders 以及部分重复集合页被抓取。官方也提醒,错误使用 robots.txt.liquid 可能导致流量损失;规则对部分爬虫是方向性和建议性的,不保证所有爬虫都会遵守。参见 Shopify:Editing robots.txt.liquid。
因此,robots.txt 可以用来减少部分自动化抓取或重复页抓取,但不能保证阻止同行查看公开页面,也不能隐藏已在 HTML、图片 URL 或商品 JSON 中公开的数据。
要操作时先查看自己域名的 /robots.txt 与现有商品 URL,再备份主题;只有具体抓取目标和受影响路径清楚时才新增 robots.txt.liquid 规则,并保留平台默认规则。上线后分别检查公开产品/集合页是否仍允许 Googlebot 抓取,以及目标爬虫路径是否按预期变化。Shopify 开发文档明确建议通过 Liquid 对默认规则做增量定制。错误示例:为了挡同行,把 Disallow: /products/ 加给所有爬虫,连希望获客的商品页也一起阻断;同时,禁止抓取也不是删除已收录 URL 或保密的手段。
方法三:把敏感信息从公开页面移走
想减少同行复制,最有效的策略通常不是“拦截所有人”,而是不要在公开页面放不该公开的信息。
- 批发价:放到登录后的 B2B 区域,或使用客户分组、报价单、草稿订单处理。
- 供应商线索:避免直接上传带供应商水印、原始文件名、EXIF 信息或工厂背景特征的图片。
- 库存数字:没有必要时不显示具体库存,只显示有货、低库存、售罄等用户需要的信息。
- 测试产品:不要公开发布到正式导航和站点地图,可使用私密模式、草稿状态或受限访问。
这类做法不会影响正常用户购买,却能减少把内部运营细节直接暴露给同行的风险。
注意“隐藏价格”的主题 CSS/JavaScript 仅改变显示,不等于把价格从页面源代码、结构化数据或接口响应中移除。具体库存若用于限购或缺货提示,也要保留消费者决策所需的真实信息,不能一边隐藏数字一边制造虚假的有货状态。第三方访问控制应用的能力、费用及适用套餐需逐项验证,不能把安装应用视为安全验收。
方法四:谨慎处理爬虫和安全工具
Cloudflare、Shopify 平台安全能力或第三方应用可以帮助识别异常访问,但不应照抄网上的固定 IP 段或 User-Agent 规则。价格监控、SEO 工具、AI 爬虫和普通用户请求可能混杂在一起,粗暴屏蔽容易误伤搜索引擎、广告审核或真实买家。
只有日志中可辨认的异常请求才值得针对性处理:记录请求路径、频率、来源、被拦截后的误伤情况;先选择观察或挑战,确认正常买家与必要搜索爬虫未受影响,再考虑更严格的规则。若某流量直接经过 Shopify 托管域名或结账链路,不能假定自有域名上的 WAF 覆盖所有入口。
如果你要修改 robots.txt.liquid,Shopify 建议具备代码和 SEO 经验,或找 Shopify Partner 处理,并使用保留默认规则的方式扩展,而不是整段替换默认文件。对公开销售站点来说,保留搜索引擎对产品、集合、页面和博客的正常访问,通常比“全面屏蔽”更重要。
方法五:用风控流程处理测试订单,而不是用最低订单额硬挡
为了防测试订单而设置固定最低订单额,可能直接影响真实小额购买。更稳妥的做法是把订单风险和批发访问分开处理:普通零售订单走正常结账;可疑订单按支付网关和 Shopify 风险提示复核;批发客户走登录、审核或报价流程。
Shopify 的 fraud analysis 文档说明,商家可以查看订单风险等级、风险建议和可用指标;高风险订单可尝试验证、取消或退款。参见 Shopify:Reviewing orders with fraud analysis。
两个实际场景:未上线的新店担心选品泄露,可先对整店加密码,准备公开前逐页解除并核对搜索可抓取性;已营业的 B2B+D2C 店则保留零售商品公开,把协议价与批发目录限制给已核准客户。对前者,robots 不如密码;对后者,整店密码反而会挡住零售客。两者都不能通过“设置最低订单额”替代订单风控。
公开销售与 SEO 不应互相冲突
如果你的目标是获取自然搜索流量,就不能把所有商品页都挡在爬虫之外。公开页面给用户和搜索引擎看,敏感资料放到权限层,商品页内容围绕真实购买问题完善。如果店铺的 robots.txt 改动已影响商品抓取,可结合谷歌 SEO 技术排查核实实际受影响的 URL,而不是直接封禁更多爬虫。