在 Shopify 上做 SEO 和在 WordPress 上做 SEO,遇到的障碍不一样。Shopify 是一个封闭平台,它的一些设计决策直接影响技术 SEO 的操作空间:URL 路径不能自定义、结账域名和主域名分离、多个 Collections 会对同一商品产生多个 URL……
知道这些平台特性在哪,才能判断哪些 SEO 问题是配置问题、哪些是平台限制、哪些可以绕过。这篇文章专门针对 Shopify 的技术 SEO 配置,按检查优先级排列,每一项说明判断方法和操作路径。
Shopify SEO 的特殊约束
在开始检查之前,先了解 Shopify 平台级别的 SEO 约束,这些是客观存在的,不是配置问题:
URL 路径不可自定义
Shopify 强制使用固定的 URL 结构:
| 页面类型 | 强制路径前缀 |
|---|---|
| 商品页 | /products/handle |
| 系列页 | /collections/handle |
| 博客文章 | /blogs/blog-name/article-handle |
| 独立页面 | /pages/handle |
这意味着你无法将商品页 URL 设置为 /category/product-name(去掉 /products/ 前缀),也无法直接使用关键词丰富的 URL 结构。这是 Shopify SEO 与 WordPress 最大的结构性差异。
实际影响:不大。Google 已经明确说明 URL 关键词对排名影响极小,重要的是内容质量和内链结构。如果你之前在 WordPress 上运营,迁移到 Shopify 不应该因为 URL 结构变化而过于担心。
Collections 路径强制
Shopify 的系列(Collections)页面 URL 格式固定为 /collections/handle。当一个商品属于多个 Collections 时,该商品会有多个有效的 URL:
/products/product-handle ← 规范 URL
/collections/collection-a/products/product-handle ← 带 Collection 路径
/collections/collection-b/products/product-handle ← 另一个 Collection 路径
自动 canonical 处理
Shopify 自动为所有商品页面设置 canonical 标签,指向 /products/handle(不带 Collection 路径的版本)。这是一个内置机制,在大多数情况下能正确处理重复 URL 问题。
但需要注意:Shopify 的自动 canonical 只处理前端页面,不会处理因筛选、排序参数(如 ?sort_by=price)产生的 URL 变体。
收录检查流程
GSC Coverage 报告
打开 Google Search Console → 索引 → 覆盖率,关注以下状态:
- 「重复内容—未选为规范」:在 Shopify 中这很常见,检查被选为规范的 URL 是否是你期望的版本
- 「已抓取—尚未编入索引」:如果大量商品页面在这个状态,可能是内容质量不足或内容重复
- 「已发现—尚未编入索引」:新页面的正常状态,但如果存在时间超过 4 周,需要检查是否有内链指向该页面
Shopify 默认 sitemap.xml 路径
Shopify 自动生成 sitemap,路径固定为:
https://yourdomain.com/sitemap.xml
这个 sitemap 是动态生成的,包含:
sitemap_products_1.xml:商品页面sitemap_collections_1.xml:系列页面sitemap_pages_1.xml:独立页面sitemap_blogs_1.xml:博客文章
检查要点:
- 确认 sitemap.xml 可以正常访问(不是 404)
- 在 GSC 中提交 sitemap 并确认没有错误
- 检查 sitemap 中的 URL 数量是否与实际页面数量基本一致
robots.txt 默认内容
Shopify 的 robots.txt 默认屏蔽:
/checkouts//cart/orders//admin//search(有时)
这些都是合理的设置,通常不需要修改。
注意:Shopify 2021 年开始允许通过 Liquid 模板自定义 robots.txt,但修改时需要谨慎,错误的规则可能意外屏蔽商品页面。
URL 规范:Shopify canonical 的自动处理机制
自动处理的场景
Shopify 自动在以下场景设置正确的 canonical:
- 商品页通过 Collections URL 访问时,canonical 指向
/products/handle - 带排序参数的系列页(
/collections/all?sort_by=price),canonical 指向/collections/all(去掉参数)
这个机制在大多数情况下有效,减少了手动配置的需求。
需要手动覆盖的场景
以下情况,Shopify 的自动 canonical 可能需要手动干预:
- 多货币 URL:部分货币切换方案会在 URL 中添加货币参数,自动 canonical 处理不一定正确
- 多语言版本:使用 Shopify Markets 或第三方翻译 App 时,需要检查不同语言页面之间的 canonical 关系
- 自定义 404 处理:如果你将已删除的商品重定向到分类页,确认重定向目标页面本身的 canonical 正确
在 Shopify 主题中,可以在 product.liquid 模板的 <head> 部分手动设置 canonical:
<link rel="canonical" href="{{ canonical_url }}" />
canonical_url 是 Shopify 的内置变量,大多数情况下会自动生成正确值。如果需要覆盖,可以替换为固定 URL 或自定义 Liquid 逻辑。
重复内容风险:多 Collections 的 URL 重复问题
这是 Shopify 技术 SEO 中最常被忽视的问题之一。
问题场景
假设你有一款商品「Classic Leather Wallet」,它同时属于「Men's Accessories」和「New Arrivals」两个 Collections。这个商品有三个可访问的 URL:
/products/classic-leather-wallet ← 规范 URL
/collections/mens-accessories/products/classic-leather-wallet
/collections/new-arrivals/products/classic-leather-wallet
虽然 Shopify 会自动设置 canonical 指向第一个 URL,但这些 URL 都是可访问的,Google 仍然会抓取它们。
解决思路
方案一:依赖 Shopify 自动 canonical 大多数情况下,Shopify 的自动 canonical 足够,Google 会忽略带 Collection 路径的 URL 变体。适用于大多数规模的店铺。
方案二:在 robots.txt 中屏蔽 Collections 商品 URL
更激进的方案,直接告诉 Googlebot 不要抓取 /collections/*/products/* 格式的 URL。
Disallow: /collections/*/products/
注意:这个规则需要谨慎使用。确认你的内链结构和广告落地页没有使用 /collections/*/products/ 格式的 URL,否则屏蔽后可能导致重要页面无法被抓取。
结构化数据:主流主题 Product Schema 检查
主流主题是否自动输出 Product Schema
大多数付费 Shopify 主题(Dawn、Impulse、Prestige 等)会自动输出基本的 Product Schema,包含 name、description、image、offers 等字段。但是否包含评分数据(aggregateRating)取决于主题是否集成了评价系统。
如何确认:
- 在商品页面点击右键 → 查看页面源代码
- 搜索
application/ld+json,找到 Schema 代码块 - 确认
@type是Product,并且offers对象包含price和priceCurrency
用 Rich Results Test 验证
访问 search.google.com/test/rich-results,输入商品页 URL:
- 检测到「购物结果」:说明 Product Schema 有效,可能获得价格在搜索结果中显示的机会
- 有「错误」提示:常见原因是
priceCurrency字段缺失,或availability使用了非标准值
常见 Schema 错误:
price字段包含货币符号(应该只是数字)availability使用了"In Stock"而不是标准的"https://schema.org/InStock"image使用了相对路径而不是绝对 URL
图片优化
ALT 标签填写规范
Shopify 后台可以在上传图片时或在商品编辑页面为每张图片添加 ALT 标签。
填写原则:
- 描述图片内容,而不是重复商品名称
- 不要关键词堆砌(
"leather wallet mens wallet slim wallet"是不好的写法) - 好的写法:
"深棕色真皮男士卡包,正面展示"或对应的英文描述
批量检查方法:使用 Screaming Frog → Configuration → Spider → Extraction,可以批量导出所有图片的 ALT 标签,找出空 ALT 的图片。
文件名最佳实践
上传图片前,将文件名改为描述性名称:
- 好的写法:
brown-leather-slim-wallet-front.jpg - 不好的写法:
IMG_4829.jpg或product_01.jpg
Shopify 不会自动重命名已上传的图片,需要在上传前处理好。
加载速度:Shopify 主题对 Core Web Vitals 的影响
第三方 App 的 JS 问题
每安装一个 Shopify App,它通常会向页面注入 JavaScript 文件。多个 App 堆叠后,页面加载的 JS 体积可能翻倍,直接影响 LCP 和 INP 指标。
检查方法:
- 打开 Chrome DevTools → Network 标签,刷新页面
- 筛选
JS类型,查看第三方脚本(非 shopify.com 域名的)的数量和大小 - 与实际使用频率对照——如果一个 App 的脚本每次都加载但该 App 功能很少用,考虑是否必要
常见高影响 App 类型:
- 聊天 / 客服插件(Tidio、Gorgias):通常加载较重
- 弹窗 / 邮件订阅 App:如果没有懒加载,影响 LCP
- 评价 App(Judge.me、Loox):图片评价版本影响 CLS
主题选择对性能的影响
Shopify 官方推出的 Dawn 主题针对 Core Web Vitals 做了优化,是性能基准。选择第三方主题前,可以在 PageSpeed Insights 测试主题演示页面的性能评分,作为参考。
内链策略
Collections 页面如何承接关键词
Collections 页面(系列页)是 Shopify SEO 中权重积累的核心位置,类似于 WordPress 中的分类页面。
操作建议:
- 为每个重要的 Collection 页面写一段 150-300 字的描述文字(可以在 Shopify 后台 → 系列 → 描述中添加)
- 描述文字使用该 Collection 对应的目标关键词,但以用户视角写,不是关键词堆砌
- 确保每个 Collection 页面都能从导航或网站地图中直接访问
博客内链到产品页
博客文章是跨境独立站获取长尾关键词流量的有效途径。每篇博客文章至少应该包含 1-2 个指向相关商品页面的内链:
- 内链锚文本应该是商品名称或相关关键词,而不是「点击这里」
- 内链应该出现在文章的自然语境中,而不是硬加在文末
- 示例:「如果你在寻找耐用的出行背包,我们的 旅行者系列背包 在防泼水材质和容量上都能满足这个场景。」
权威参考:Shopify robots.txt.liquid 真实修改代码
如果你需要屏蔽某些无价值的页面(如带有特定 tag 的筛选页)被 Google 索引,可以在 robots.txt.liquid 中添加如下规则:
{%- if group.user_agent.value == '*' -%}
{{ 'Disallow: /collections/*+*' }}
{{ 'Disallow: /collections/*%2B*' }}
{{ 'Disallow: /collections/*%2b*' }}
{{ 'Disallow: /blogs/*+*' }}
{{ 'Disallow: /blogs/*%2B*' }}
{{ 'Disallow: /blogs/*%2b*' }}
{%- endif -%}
代码作用:禁止爬虫抓取 Shopify 默认生成的组合标签 URL,避免 Crawl Budget 浪费和重复内容惩罚。
FAQ
Shopify 换主题会导致 SEO 下降吗?
换主题本身不会直接影响 SEO,但有几个风险点需要关注:
- 新主题是否保留了结构化数据:部分主题没有内置 Product Schema,切换后需要手动添加
- 速度是否下降:新主题如果加载了更多 JS/CSS,Core Web Vitals 分数可能下降
- 内容是否正确迁移:Collections 的描述文字、页面的 meta 描述,切换主题后需要确认内容没有丢失
换主题前,建议先在测试主题上运行一次 PageSpeed Insights 和 Rich Results Test,确认关键指标不低于当前主题。
Shopify Apps 会影响 Google 收录吗?
通常不会直接影响收录,但以下情况可能有间接影响:
- App 注入了 noindex 标签:极少数情况,但发生过。每次安装新 App 后,检查一次核心页面的 meta robots 标签
- App 创建了大量低质量页面:部分 App 会生成用于自身功能的页面(如活动落地页),如果这些页面被收录,可能稀释站点整体内容质量信号
- App 导致页面速度大幅下降:如前所述,影响 Core Web Vitals 进而影响排名
建议每季度审查一次已安装的 App 列表,卸载不再使用的 App,减少无谓的性能负担。
Shopify 能做多语言 SEO 吗?
可以,主要有三种方案:
方案一:Shopify Markets(官方多语言)
Shopify 内置的多地区/多语言功能,支持子目录形式(/en/、/de/)的 URL 结构,并自动处理 hreflang 标签。2022 年后推出,是目前最推荐的方案。
方案二:第三方翻译 App(Weglot、Langify) 配置灵活,但 hreflang 和 canonical 的处理依赖 App 的实现质量,需要逐个验证。
方案三:独立 Shopify 店铺 为每个目标市场创建独立的 Shopify 店铺,SEO 完全独立,适合资源充足且各市场差异很大的情况。
对于大多数跨境卖家,Shopify Markets 是最简洁的多语言 SEO 起点,在设置上比第三方 App 更可控。
预约独立站 SEO 诊断
如果你已经检查了以上清单的主要项目,仍然无法定位收录或排名问题,可以预约一次诊断。
预约前请准备以下信息:
- Shopify 店铺域名
- 使用的主题名称(可在 Shopify 后台 → 在线商店 → 主题中查看)
- 目前安装的 App 数量(大概)
- GSC Coverage 报告截图(过去 90 天)
- 具体关注的问题(哪个页面类型收录差 / 哪些关键词排名不涨)
相关文章:
评论
留言需人工审核后才会显示;回复会随主评论一起发布。评论按文章独立归档,请在你阅读的那篇文章下留言。 技术诊断请发邮件 sue@sufob.com或查看联系说明。