大数跨境

Shopify 产品页想被谷歌"读懂",光有内容不够:手改 main-product.liquid 加一段 Product JSON-LD,让谷歌一眼看懂你卖的是什么

Shopify 产品页想被谷歌"读懂",光有内容不够:手改 main-product.liquid 加一段 Product JSON-LD,让谷歌一眼看懂你卖的是什么 燃灯SEO课堂
2026-10-03
37
导读:很多人以为,产品页的标题、描述、图片都填好了,谷歌自然就"读懂"这个页面了。其实不是。 谷歌看一个产品页,看到的是一大堆 HTML 代码。它得费力地从一堆标签里,猜出"哪串文字是产品名、哪个数字是价格
很多人以为,产品页的标题、描述、图片都填好了,谷歌自然就"读懂"这个页面了。

其实不是。 谷歌看一个产品页,看到的是一大堆 HTML 代码。它得费力地从一堆标签里,猜出"哪串文字是产品名、哪个数字是价格、哪张图是主图、还有没有货"。

猜,就容易猜错。 结果就是:你明明有价格、有库存、有品牌,谷歌却可能漏掉、认错,白白错过富结果(搜索里带价格、带库存状态的那种展示)。

而结构化数据(Structured Data),就是帮谷歌"不用猜"的东西——你用一段 Product JSON-LD,明明白白告诉它:"这是我的产品名、这是我的价格、这是我的库存。"

这篇文章,就教你在 Shopify 里手改产品模板,给产品页加一段 Product JSON-LD,让谷歌一眼看懂你卖的是什么。

(先说清楚:这篇文章的代码,是按真实店铺里能跑通的标准写的,不给你"看起来对、一贴就报错"的伪代码。下面会重点提醒几个最容易踩的坑。)

一、先搞懂:什么是结构化数据,Shopify 里为什么还要手动改

结构化数据,简单说就是**"给网页内容贴标签"**——用一段机器能直接读懂的代码,标明"这是产品、这是价格、这是库存"。

它用的是 Schema.org 这套标准词汇。产品页用的,就是 Product 这个类型。加一段 Product 结构化数据,谷歌就能准确地展示你的价格、库存、品牌,搜索结果里有机会出现富结果,比干巴巴的文字链接更抓眼。

你可能会问:"Shopify 主题不是自带结构化数据吗,干嘛还要手动改?"

对,主流主题(比如 Dawn)本身就内置了 Product JSON-LD,已经含了 name、image、sku、brand、offers 这些字段。所以你的正确姿势,不是"再加一段",而是:

💡 先在主题代码里搜 @type": "Product",看看主题已经给你输出了什么。 已经有的,就直接改它;没有、或者字段不全的,才自己加一段。千万别无脑再贴一段——那样页面上会出现两个 Product 实体,谷歌只认其一,字段一冲突就直接报错。

这是全文最重要的一条原则,先记住:改,而不是叠。

二、Product JSON-LD 长什么样:一份能直接套的模板

先给你看一段完整的 Product JSON-LD 结构(字段都是 Schema.org 官方标准),你就知道要写什么了:

<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "不锈钢餐具四件套",
  "image": "https://你的域名.com/产品图.jpg",
  "description": "18/10 食品级不锈钢餐具四件套,耐腐蚀不生锈。",
  "sku": "CUTLERY-4PCS",
  "brand": {
    "@type": "Brand",
    "name": "你的品牌名"
  },
  "offers": {
    "@type": "Offer",
    "price": 29.99,
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://你的域名.com/products/产品"
  }
}
</script>

几个核心字段,一眼看懂它们各管什么:

字段
作用
对应你产品页的
name
产品名
标题
image
主图
产品图
description
描述
产品描述
sku
货号
SKU
brand
品牌
品牌/厂商
offers.price
价格
售价
offers.priceCurrency
币种
USD / EUR…
offers.availability
库存状态
有货/无货

📊 重点看 offers 这个"报价"对象——它告诉谷歌"这个产品卖多少钱、用什么币、有没有货"。注意上面 price 我写的是 29.99(数字),不是 "29.99"(带引号的字符串),这个区别,下一节就是坑。

三、手改模板:用 Liquid 变量让数据"自动填"

上面那份模板,字段值是写死的。但你的店里有几百上千个产品,不可能一个个手填——得用 Shopify 的 Liquid 变量,让每个产品页自动填入自己的数据。

第一步(关键前置动作):先在主题代码里搜 @type": "Product"。 在后台的「在线商店 → 主题 → 编辑代码」里,找到产品模板文件(新版 OS 2.0 主题是 sections/main-product.liquid,旧主题是 sections/product-template.liquid 或 templates/product.liquid),先搜一下有没有已经内置的 Product JSON-LD。

•
有:直接改它,把下面这几个字段补全、修正;
•
没有:把下面这段粘到合适的位置(一般放在文件末尾)。
<script type="application/ld+json">{  "@context": "https://schema.org/",  "@type": "Product",  "name": {{ product.title | json }},  "image": {{ product.featured_image | image_url: width: 1200 | json }},  "description": {{ product.description | strip_html | json }},  "sku": {{ product.selected_or_first_available_variant.sku | json }},  "brand": {    "@type": "Brand",    "name": {{ product.vendor | json }}  },  "offers": {    "@type": "Offer",    "price": {{ product.selected_or_first_available_variant.price | divided_by: 100.0 }},    "priceCurrency": {{ cart.currency.iso_code | json }},    "availability": {% if product.selected_or_first_available_variant.available %}"https://schema.org/InStock"{% else %}"https://schema.org/OutOfStock"{% endif %},    "url": {{ request.origin | append: product.url | json }}  }}</script>

几个变量,说清它们各取什么、为什么这么写:

① 价格 divided_by: 100.0 ——这是全文最大的坑,单独说。

Shopify 在后台存价格,存的是**"分"这个整数**:卖 29.99,存的是 2999。所以你要除以 100,才能得到真正的十进制数字 29.99,给谷歌读。

🔴 千万别用 money_without_currency 这个 filter 去"去掉货币符号"。 它只去符号,却会保留千分位逗号和本地化格式——美元站 $1,299.00 会变成 1,299.00,谷歌直接报错(price 里不该有逗号);欧元站更惨,千分位和小数点还是反的,谷歌完全读不懂。money_without_currency 不是解药,是另一个坑。 正确做法就是 divided_by: 100.0(或 Shopify 官方的 money_amount filter),输出干净的纯数字。

② 图片 image_url: width: 1200,不要自己拼域名。

image_url 会直接返回完整的 https 图片地址,不用你再去拼域名。千万别用老写法 img_url + prepend: request.origin——img_url 返回的是协议相对路径 //cdn.shopify.com/...,你往前拼域名会得到 https://你的域名.com//cdn.shopify.com/... 这种废地址,谷歌抓不到主图。(而且 img_url 早就被 image_url 取代了。)

③ 库存用 selected_or_first_available_variant.available,别用 product.available。

product.available 是产品级的字段——只要任意一个变体有货,它就返回 true。多变体商品会出现"这个尺码明明缺货,schema 还写 InStock"的错。 所以用当前选中的那个变体的 available,才准确。

④ 品牌用 product.vendor(品牌/厂商名)、SKU 用变体的 sku、描述用 strip_html 去掉 HTML 标签只要纯文字、币种用 cart.currency.iso_code。

⚠️ 再补一个多变体的提醒:这段代码是"服务端渲染"的,只输出默认(或当前)变体的价格。 用户点选其他尺码/颜色时,页面上显示的价格会变,但这段 JSON-LD 不会跟着更新——可能出现"页面显示价 ≠ schema 价"的不匹配。多变体商品,最规范的做法是输出多个 Offer(或 ProductGroup),这个进阶内容放下一节。

四、改完怎么验证:用谷歌的免费工具测一遍

改完代码、保存,别急着收工——得先验证一下你写的对不对。

用谷歌官方的 Rich Results Test(富结果测试),把你的产品页网址贴进去,它会告诉你:

•
你这段 Product JSON-LD 有没有语法错误(比如 price 是不是合法的数字);
•
谷歌能不能识别出"这是产品页";
•
哪些字段读出来了、哪些缺失或写错了。

💡 验证通过,说明谷歌能正确读懂你的产品页了。之后等谷歌重新爬取(可以在 Search Console 里手动"请求编入索引"加速),你就有机会看到带价格、带库存的产品富结果。

五、几个低成本高价值的字段,顺手补上

上面那套是"保底"的。下面几个字段,加几行代码就有增量价值,值得补:

① itemCondition——产品是全新还是二手。

"itemCondition": "https://schema.org/NewCondition",

② gtin——商品条码(Shopify 后台有现成的 barcode 字段)。

有条码的,加上 gtin 让谷歌更好地识别你的商品。用产品的 barcode:

"gtin13": {{ product.selected_or_first_available_variant.barcode | json }},

③ 多张图——image 字段可以是数组,不只主图一张。

主图、细节图、场景图都放进去,谷歌能更完整地理解这个产品。

📊 另外提醒一个"照做了却还没富结果"的真相:上面这套,对"产品摘要"(搜索结果里带价格、库存的那种)基本够用;但如果你想进"商家列表"(购物轮播那类更靠前、更抓眼的展示),谷歌还有额外要求——比如要提供 shippingDetails(配送信息)和 hasMerchantReturnPolicy(退货政策)。那套更复杂,先把上面这套基础打牢、验证通过,再谈进阶。

六、一个必须知道的"红线":评分别造假

最后,特别提醒一个绝不能碰的坑——评分(aggregateRating / review)字段,不能自己编。

谷歌对"产品评分/评论"结构化数据有严格规定:你标注的评分和评论,必须来自真实、独立的用户评价。 自己凭空填一个"4.9 分、几百条评论",属于违规(谷歌叫它"自卖自夸式评论"),轻则富结果不展示,重则被谷歌人工处理、处罚。

所以:

•
有真实评论,才加 aggregateRating 字段,且用真实的评分和数量;
•
没评论 / 评论是刷的,别硬加这个字段——老老实实不加,反而安全。

🔴 记住这句:结构化数据是"如实标注",不是"美化包装"。 你能加价格、库存、品牌这些客观事实;但评分这种"用户生成"的东西,没有真实的就别碰。

写在最后

回到标题:Shopify 产品页想被谷歌"读懂",光有内容不够——手改产品模板加一段 Product JSON-LD,让谷歌一眼看懂你卖的是什么。

这篇文章,想帮你补上产品页"让谷歌读懂"的技术一环。

把这篇压成三步带走:

① 先搜后改——在主题代码里搜 @type": "Product",已有就改、没有再加,别无脑叠两段;

② 改对三个坑——价格用 divided_by: 100.0(别用 money_without_currency)、图片用 image_url(别自己拼域名)、库存用变体的 available(别用产品级的);

③ 验证 + 补全——用 Rich Results Test 测一遍,再补 itemCondition、gtin、多图这些增量字段。

产品页要排上去、要出富结果,光靠内容"堆"是不够的。 谷歌得先"读懂"你这页到底卖什么、多少钱、有没有货,才谈得上给你排名、给你好看的展示。花十分钟,改对一段 Product JSON-LD,让谷歌一眼看懂你的产品——这一步,是产品页从"能看见"到"能被推荐"的关键一跳。但记住:代码要"改对",不是"贴上就行"。 那几个坑,踩一个,前面的功夫就白费了。

#Shopify #结构化数据 #JSON-LD #Product #Schema #产品页 #独立站SEO



本篇完整干货已全部分享完毕,既然你已经看完

这份《SEO+GEO实战清单》

直接送给你,希望能帮你少走弯路!

需要的朋友我统一发给



📖 立即领取学习包 →


01

SEO+GEO文档


02

谷歌SEO社区

(同步设有谷歌 SEO 同行交流社群,有交流需求可私信【社群】领取入群渠道)


这里就不方便放图片展示了.....



03

谷歌SEO资料

从0到1资料

04

直播分享

请记住这个:


【声明】内容源于网络
0
0
燃灯SEO课堂
燃灯SEO课堂,提供SEO核心排名技术、及系统速成教学。关注即可免费学习!燃灯教育SEO搜索学院,是从业12年教学经验知名导师创办。
内容 1165
粉丝 0
燃灯SEO课堂 湖南燃灯教育科技有限公司 燃灯SEO课堂,提供SEO核心排名技术、及系统速成教学。关注即可免费学习!燃灯教育SEO搜索学院,是从业12年教学经验知名导师创办。
总阅读60.5k
粉丝0
内容1.2k