在 AI 搜尋時代,Product Schema 已從「加分項」變成電商網站的「必備基礎建設」。當 ChatGPT、Perplexity、Google AI Overviews 為消費者推薦商品時,沒有結構化資料的商品幾乎無法被引用。本篇將完整拆解 Product Schema 的必備欄位、變體商品寫法、折扣價格標記,以及與 Google Merchant Center 的整合策略,並提供台灣中小型電商可直接套用的範例程式碼。
為什麼電商必須實作 Product Schema
過去談 Product Schema,多半聚焦於「讓 Google 搜尋結果出現星等與價格的 Rich Snippet」。但進入 AI 搜尋時代,情勢已徹底改變:使用者越來越少直接點進搜尋結果,而是直接從 AI 答案中選購商品。當消費者問 ChatGPT「2 萬元以下推薦的人體工學椅」、問 Perplexity「適合送女友的生日禮物」,AI 會優先引用具備完整結構化資料的商品。
根據近期多家國際 SEO 工具的觀察數據,完整實作 Product Schema 的商品頁,在 AI 搜尋(ChatGPT Search、Perplexity Shopping)中被引用的機率,比未實作者高出約 3 到 5 倍。對於依賴自然流量的中小型電商而言,這已不是「要不要做」的問題,而是「不做就會被淘汰」。
Product Schema 帶來的三個關鍵效益
- 搜尋結果視覺強化:商品圖片、價格、評分、庫存狀態直接出現在 Google SERP,點擊率平均提升 30%。
- Google Shopping 免費曝光:透過 Merchant Center 整合,可在「購物」分頁取得免費商品曝光,無需投放廣告。
- AI 搜尋優先引用:ChatGPT 與 Perplexity 在推薦商品時,會優先讀取結構化資料中的價格、評分、庫存等可信欄位。
Product Schema 必備欄位完整解析
Google 官方文件將 Product Schema 欄位分為「必填(required)」與「建議(recommended)」兩類。建議欄位雖非強制,但實務上若缺失,Rich Snippet 通常不會顯示。以下是最新版本的完整欄位對照表:
| 欄位名稱 | 類型 | 重要性 | 說明 |
|---|---|---|---|
| name | Text | 必填 | 商品名稱,應與頁面 H1 一致。 |
| image | URL | 必填 | 商品圖片,建議至少 1200×1200,可放陣列含多張。 |
| description | Text | 建議 | 商品描述,50 到 300 字之間最佳。 |
| brand | Brand | 建議 | 品牌名稱,可用 Brand 物件包裹。 |
| sku | Text | 建議 | 商家自訂編號,內部辨識用。 |
| mpn | Text | 建議 | 製造商料號,B2B 與工業品強烈建議填寫。 |
| gtin / gtin13 | Text | 建議 | 全球商品條碼(EAN-13、UPC、ISBN),Google Shopping 必填。 |
| offers | Offer | 必填 | 價格與庫存資訊,需包含 price、priceCurrency、availability。 |
| aggregateRating | AggregateRating | 建議 | 整體評分,觸發星等 Rich Snippet 的關鍵。 |
| review | Review | 建議 | 個別評論,建議搭配 aggregateRating 一起放。 |
最小可行版本(Minimum Viable Schema)
以下是涵蓋 Google 必填欄位的最簡 Product Schema,適合剛起步的電商先導入:
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "ErgoMax 人體工學辦公椅",
"image": [
"https://example.com/photos/1x1/ergomax.jpg",
"https://example.com/photos/4x3/ergomax.jpg",
"https://example.com/photos/16x9/ergomax.jpg"
],
"description": "支援腰椎承托、3D 扶手、滾輪 PU 包覆,適合長時間文書工作者。",
"sku": "ERGO-MAX-001",
"brand": {
"@type": "Brand",
"name": "ErgoMax"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/products/ergomax",
"priceCurrency": "TWD",
"price": "12800",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition"
}
}
https://schema.org/InStock,不能簡寫為 "InStock",否則 Google Rich Results 測試會顯示警告。
關於 GTIN 的台灣實務
GTIN(Global Trade Item Number)是全球統一的商品條碼。台灣商品多使用 13 位 EAN-13(以 471 開頭),書籍則使用 ISBN-13。若您的商品有條碼,務必填入 gtin13;若是自有品牌、無國際條碼,可使用 mpn(製造商料號)替代。Google Shopping 近年對部分品類已強制要求 GTIN 或 brand 加 mpn 組合。
評分與評論:AggregateRating 與 Review 寫法
評分(星等)是 Product Rich Snippet 最吸睛的元素,也是 AI 搜尋判斷「商品是否值得推薦」的核心依據。Google 對評分欄位有兩個強制要求:
- 評分必須來自真實用戶:不可放編輯部評分或廠商自評。
- 評分必須在頁面上可見:Schema 中的星等若頁面上找不到,屬於違規,可能被人工處罰。
AggregateRating 標準寫法
{
"@type": "Product",
"name": "ErgoMax 人體工學辦公椅",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"bestRating": "5",
"worstRating": "1",
"ratingCount": "238",
"reviewCount": "186"
}
}
個別評論(Review)的完整結構
若想讓單一商品評論也能被 AI 引用(例如 Perplexity 在回答「ErgoMax 椅子的使用心得」時),建議將前 3 到 5 則優質評論一同放入 Schema:
{
"@type": "Product",
"review": [
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "陳小美"
},
"datePublished": "2026-03-15",
"reviewBody": "坐了三個月,腰痛真的改善很多,扶手調整也很順手。",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
}
},
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "王大同"
},
"datePublished": "2026-02-20",
"reviewBody": "組裝有點複雜花了一小時,但整體做工扎實,值得這個價錢。",
"reviewRating": {
"@type": "Rating",
"ratingValue": "4",
"bestRating": "5"
}
}
]
}
變體商品 Schema:hasVariant 與 isVariantOf
幾乎所有電商都會遇到「同一商品有不同顏色、尺寸、容量」的情境。例如一件 T 恤有 S/M/L/XL 四種尺寸與紅黑藍三種顏色,合計 12 個變體。過去常見的做法是只在主商品頁放一個 Schema,但這會讓 Google 無法理解不同變體的價格差異與庫存,也讓 AI 搜尋無法精準推薦「我想要 L 號黑色」的需求。
schema.org 近年推出 ProductGroup 與 hasVariant 結構,專門處理變體商品,Google 也已正式支援這個寫法。
變體商品的正確結構
邏輯上分為三層:
- ProductGroup:商品群組(母商品),定義所有變體共用的欄位(品牌、描述、評分)。
- variesBy:列出區分變體的維度(color、size、material 等)。
- hasVariant:陣列,列出每個 Product 變體,各自帶 sku、price、image。
{
"@context": "https://schema.org/",
"@type": "ProductGroup",
"name": "ErgoMax 人體工學辦公椅",
"description": "支援腰椎承托、3D 扶手...",
"brand": {
"@type": "Brand",
"name": "ErgoMax"
},
"productGroupID": "ERGO-MAX",
"variesBy": [
"https://schema.org/color",
"https://schema.org/size"
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"ratingCount": "238"
},
"hasVariant": [
{
"@type": "Product",
"sku": "ERGO-MAX-BLK-L",
"color": "黑色",
"size": "標準款",
"image": "https://example.com/ergomax-black.jpg",
"offers": {
"@type": "Offer",
"url": "https://example.com/ergomax?c=black&s=l",
"priceCurrency": "TWD",
"price": "12800",
"availability": "https://schema.org/InStock"
}
},
{
"@type": "Product",
"sku": "ERGO-MAX-GRY-XL",
"color": "灰色",
"size": "加大款",
"image": "https://example.com/ergomax-gray.jpg",
"offers": {
"@type": "Offer",
"url": "https://example.com/ergomax?c=gray&s=xl",
"priceCurrency": "TWD",
"price": "14800",
"availability": "https://schema.org/InStock"
}
}
]
}
/ergomax?color=black,讓主商品頁的 SEO 權重集中,同時各變體又能被 AI 精準引用。
反向關聯:isVariantOf
若您的網站每個變體都有獨立 URL(例如 /ergomax-black-l、/ergomax-gray-xl 是不同頁),則每個變體頁應使用 isVariantOf 反向指向 ProductGroup:
{
"@type": "Product",
"sku": "ERGO-MAX-BLK-L",
"isVariantOf": {
"@type": "ProductGroup",
"productGroupID": "ERGO-MAX",
"url": "https://example.com/products/ergomax"
}
}
折扣商品 Schema 與 PriceSpecification 進階寫法
折扣是電商最常見的促銷手法,但很多網站把折扣資訊放在頁面圖片上、用 JS 動態渲染,導致 Google 與 AI 搜尋抓不到「原價、折扣價、折扣期限」。Schema.org 提供 UnitPriceSpecification 與 priceValidUntil 兩個機制來正確標記折扣。
標準折扣寫法(含原價對比)
{
"@type": "Product",
"name": "ErgoMax 人體工學辦公椅",
"offers": {
"@type": "Offer",
"url": "https://example.com/products/ergomax",
"priceCurrency": "TWD",
"price": "9990",
"priceValidUntil": "2026-06-30",
"availability": "https://schema.org/InStock",
"priceSpecification": [
{
"@type": "UnitPriceSpecification",
"priceType": "https://schema.org/ListPrice",
"price": "12800",
"priceCurrency": "TWD"
},
{
"@type": "UnitPriceSpecification",
"priceType": "https://schema.org/SalePrice",
"price": "9990",
"priceCurrency": "TWD",
"validThrough": "2026-06-30"
}
]
}
}
這個寫法會讓 Google 在搜尋結果上直接顯示「原價 NT$12,800 → 特價 NT$9,990(省 22%)」的折扣標記,點擊率通常比一般商品高出 40% 以上。
免運、會員價、預購等特殊情境
Schema 允許多個 Offer 並存,可用來標記不同身份或購買情境的價格:
- 會員價:用
eligibleCustomerType標記僅限會員的價格。 - 免運:在 Offer 中加入
shippingDetails,指定運費為 0。 - 預購:availability 設為
https://schema.org/PreOrder,並加上availabilityStarts開賣日期。 - 缺貨補貨中:availability 設為
https://schema.org/BackOrder。
Google Merchant Center 整合策略
Google Merchant Center(GMC)是 Google 購物廣告與「購物分頁」的核心後台。Google 已推出「免費商品資訊」,讓沒投放廣告的商家也能在購物分頁取得自然曝光,而這個免費曝光最依賴的就是 Product Schema。
Schema 與 Merchant Center Feed 的對應關係
GMC 支援三種上架方式:手動 CSV、API,以及「網站結構化資料自動擷取」。第三種對中小型電商最友善,只要您的網站每個商品頁有完整 Product Schema,Google 會自動每天爬取並更新 Merchant Center 的商品庫存與價格。
| Merchant Center 欄位 | 對應的 Schema 欄位 | 是否必填 |
|---|---|---|
| id | sku 或 productID | 必填 |
| title | name | 必填 |
| description | description | 必填 |
| price | offers.price | 必填 |
| availability | offers.availability | 必填 |
| brand | brand.name | 多數品類必填 |
| gtin | gtin / gtin13 | 有條碼商品必填 |
| mpn | mpn | 無 GTIN 時必填 |
| image_link | image | 必填 |
| sale_price | priceSpecification(SalePrice) | 有折扣時建議 |
整合的三個關鍵步驟
- 確認商家身份:在 Merchant Center 與 Search Console 同時驗證網域所有權。
- 啟用結構化資料自動擷取:於 GMC「產品」到「資料來源」中新增「網站擷取」資料來源。
- 每週透過 Rich Results Test 與 GMC 診斷工具檢查:確保所有商品的 Schema 通過驗證,並修復警告訊息。
AI 搜尋時代:Schema 如何決定您的商品能否被引用
消費者購物路徑已明顯轉向 AI。ChatGPT 推出了購物推薦功能、Perplexity 上線了 Shopping 模式、Google AI Overviews 也在商品類查詢中大量顯示。這些 AI 系統選擇引用哪些商品時,Schema 中的可信欄位是它們最依賴的訊號來源(想全面了解被引用的條件,可參考網站被 AI 引用)。
AI 搜尋如何判讀 Product Schema
觀察 ChatGPT、Perplexity、Google AI Overviews 引用商品時的行為模式,可以歸納出幾個 AI 特別重視的欄位:
- aggregateRating:有評分的商品被引用機率高 4 倍以上,星等 4.0 以下幾乎不會被推薦。
- price 加 priceValidUntil:AI 會主動過濾「價格過期」的商品,priceValidUntil 過期等於從推薦名單下架。
- availability:InStock 才會被推薦,OutOfStock 與 Discontinued 直接排除。
- brand 加 gtin:有完整品牌與條碼的商品,AI 信任度大幅提升。
- review.reviewBody:AI 會直接擷取真實評論作為「推薦理由」呈現給使用者。
實測案例:同類商品 Schema 差異造成的曝光落差
某台灣家電品牌 A(完整 Schema:含 brand、gtin、aggregateRating、5 則 review)與品牌 B(僅 name、price、image)近期同時上架同價位帶吹風機。在 Perplexity 上查詢「推薦 NT$3000 以下吹風機」時,品牌 A 在 30 次查詢中被引用 24 次,品牌 B 僅被引用 3 次。引用率差異約 8 倍,即便兩者的真實銷量與評價相近。
台灣中小型電商實作步驟與常見錯誤
無論您使用 Shopify、SHOPLINE、91APP、Cyberbiz 還是自架 WooCommerce,實作 Product Schema 的流程大同小異。以下是經驗證可行的六步驟:
標準六步驟導入流程
- 盤點現有 Schema:用 Google Rich Results Test 測試 5 到 10 個熱銷商品頁,記錄目前已有與缺失的欄位。
- 補齊必填欄位:優先補上 brand、sku、aggregateRating、priceValidUntil 四個最常缺失的欄位。
- 導入變體結構:若有顏色或尺寸變體,改寫為 ProductGroup 加 hasVariant 結構。
- 整合評論系統:將商品頁的評論模組(如 Loox、Judge.me、自建系統)的評分輸出進 Schema。
- 連接 Merchant Center:啟用網站結構化資料擷取,監控 GMC 診斷報告。
- 建立每月健檢機制:每月用 Search Console「強化項目」報告檢查錯誤與警告。
新手最常見的五個錯誤
| 錯誤類型 | 實際情況 | 正確做法 |
|---|---|---|
| availability 縮寫 | 寫成 "InStock" | 應為 "https://schema.org/InStock" |
| 價格包含貨幣符號 | "NT$12,800" | 價格純數字 "12800",貨幣另放 priceCurrency |
| 評分頁面不可見 | Schema 有 ratingValue 但頁面沒顯示星等 | 頁面與 Schema 必須一致呈現 |
| priceValidUntil 過期 | 填了過期日期未更新 | 每月檢查,長期商品設為當年底 |
| 變體商品共用同一 SKU | 所有顏色尺寸都用同一個 sku | 每個變體必須有獨立 sku |
若您對 Schema 的整體架構還不熟悉,建議先看結構化資料是什麼建立概念,再透過Schema Markup 實作了解 JSON-LD 的基本語法、Google 偏好的格式,以及 FAQPage、Article、Organization 等其他常見 Schema 的寫法。電商網站通常需要同時實作 Product、BreadcrumbList、Organization 三組 Schema,才能讓搜尋引擎完整理解網站結構。更完整的 SEO 佈局可參考新視野 SEO 教學指南。