在 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「適合送女友的生日禮物」,商品資訊越完整、越容易被機器讀懂,越有機會被拿來比較與推薦。
對於依賴自然流量的中小型電商而言,把商品資訊整理成機器讀得懂的格式,已是基本功。
Product Schema 帶來的三個關鍵效益
- 搜尋結果視覺強化:商品圖片、價格、評分、庫存狀態有機會直接出現在 Google 搜尋結果,比純文字結果更醒目。
- Google Shopping 免費曝光:透過 Merchant Center 整合,可在「購物」分頁取得免費商品曝光,無需投放廣告。
- AI 搜尋讀得更準:價格、評分、庫存寫成結構化資料,AI 與搜尋引擎較不容易誤讀;不過各家 AI 並未公開是否優先採用頁面上的 Schema。
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 最吸睛的元素,也是消費者比較商品時最先看的資訊。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": "2027-06-30",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"priceType": "https://schema.org/StrikethroughPrice",
"price": "12800",
"priceCurrency": "TWD"
}
}
}
offers 的 price 是目前實際售價,另一筆標上 StrikethroughPrice 的價格是被劃掉的原價,Google 會因此把目前售價視為特價,符合資格時可能以「原價 NT$12,800 劃線、特價 NT$9,990(約省 22%)」的方式呈現。Google 目前只支援 StrikethroughPrice 這個 priceType 值(過渡期仍接受 ListPrice),實際售價不要加 priceType。範例中的日期請改成您實際的活動截止日。
免運、會員價、預購等特殊情境
Schema 允許多個 Offer 並存,可用來標記不同身份或購買情境的價格:
- 會員價:在 priceSpecification 用
validForMemberTier標記僅限會員的價格,並搭配會員方案(MemberProgram)標記定義會員等級。 - 免運:在 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 | offers.price(原價另以 StrikethroughPrice 標記) | 有折扣時建議 |
整合的三個關鍵步驟
- 確認商家身份:在 Merchant Center 與 Search Console 同時驗證網域所有權。
- 啟用結構化資料自動擷取:於 GMC「產品」到「資料來源」中新增「網站擷取」資料來源。
- 每週透過 Rich Results Test 與 GMC 診斷工具檢查:確保所有商品的 Schema 通過驗證,並修復警告訊息。
AI 搜尋時代:Schema 如何決定您的商品能否被引用
消費者購物路徑已明顯轉向 AI。ChatGPT 推出了購物推薦功能、Perplexity 上線了 Shopping 模式、Google AI Overviews 也在商品類查詢中大量顯示。這些 AI 系統如何挑選商品,各家都沒有完整公開,但Schema 中的價格、庫存、評分是機器最容易直接讀取的商品資訊;Google 也說明,出現在 AI Overviews 與 AI Mode 不需要額外的特殊 Schema,結構化資料內容與頁面可見文字一致才是重點(想全面了解被引用的條件,可參考網站被 AI 引用)。
AI 搜尋如何判讀 Product Schema
從消費者比較商品的角度來看,以下幾個欄位最值得優先補齊(各家 AI 並未公開實際採用的權重):
- aggregateRating:評分與評論數是比較商品時最直觀的依據,有真實評價的商品較有機會被拿來推薦。
- price 加 priceValidUntil:價格資訊過期時,Google 的產品摘要可能不會顯示,AI 也可能引用到錯誤價格。
- availability:缺貨或停產的商品被推薦的機會自然較低,庫存狀態要與頁面隨時同步。
- brand 加 gtin:有完整品牌與條碼,系統較容易把您的商品與其他網站上的同款商品對應起來。
- review.reviewBody:AI 回答常會整理評論內容作為推薦理由,真實、具體的評論更有參考價值。
情境示例:同類商品 Schema 差異可能造成的落差
假設兩個同價位帶的吹風機品牌,A 的 Schema 完整(含 brand、gtin、aggregateRating 與數則真實評論),B 只有 name、price、image。當使用者請 AI 推薦平價吹風機時,A 提供給系統可核對的價格、規格與評價資訊明顯較多,被拿來比較、引用的條件也比較好;但實際是否被引用,仍受內容深度、評價與品牌知名度等多重因素影響,Schema 不是唯一變數。
台灣中小型電商實作步驟與常見錯誤
無論您使用 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 完整指南。