SEO GUIDE
SEO 指南 Q & A
電商 SEO

Product Schema 完整實作教學 | 電商商品結構化資料指南

Product Schema 完整實作教學 | 電商商品結構化資料指南

在 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 在推薦商品時,會優先讀取結構化資料中的價格、評分、庫存等可信欄位。
實務觀察:許多台灣電商使用 Shopify、SHOPLINE、91APP 等平台,內建會輸出基本 Product Schema,但通常只涵蓋 name、price、image 三個欄位。aggregateRating、brand、gtin、sku 等關鍵欄位往往需要手動補齊,否則無法觸發 Rich Snippet。

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,適合剛起步的電商先導入:

JSON-LD
{
  "@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"
  }
}
注意:availability 必須使用 schema.org 完整 URL,例如 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 標準寫法

JSON-LD
{
  "@type": "Product",
  "name": "ErgoMax 人體工學辦公椅",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "bestRating": "5",
    "worstRating": "1",
    "ratingCount": "238",
    "reviewCount": "186"
  }
}
ratingCount 與 reviewCount 差異:ratingCount 是「給星但未必留言」的總數,reviewCount 是「實際撰寫文字評論」的數量。兩者都填會讓資料更完整,Google 也較容易採用。

個別評論(Review)的完整結構

若想讓單一商品評論也能被 AI 引用(例如 Perplexity 在回答「ErgoMax 椅子的使用心得」時),建議將前 3 到 5 則優質評論一同放入 Schema:

JSON-LD
{
  "@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 近年推出 ProductGrouphasVariant 結構,專門處理變體商品,Google 也已正式支援這個寫法。

變體商品的正確結構

邏輯上分為三層:

  • ProductGroup:商品群組(母商品),定義所有變體共用的欄位(品牌、描述、評分)。
  • variesBy:列出區分變體的維度(color、size、material 等)。
  • hasVariant:陣列,列出每個 Product 變體,各自帶 sku、price、image。
JSON-LD
{
  "@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"
      }
    }
  ]
}
實務建議:變體 URL 建議使用查詢字串(query string)而非獨立路徑,例如 /ergomax?color=black,讓主商品頁的 SEO 權重集中,同時各變體又能被 AI 精準引用。

反向關聯:isVariantOf

若您的網站每個變體都有獨立 URL(例如 /ergomax-black-l/ergomax-gray-xl 是不同頁),則每個變體頁應使用 isVariantOf 反向指向 ProductGroup:

JSON-LD
{
  "@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 提供 UnitPriceSpecificationpriceValidUntil 兩個機制來正確標記折扣。

標準折扣寫法(含原價對比)

JSON-LD
{
  "@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% 以上。

注意:priceValidUntil 一旦過期,Google 會立即從搜尋結果撤掉價格資訊。折扣結束前務必更新此欄位,否則商品會在 SERP 上失去吸引力。長期商品建議設為當年底。

免運、會員價、預購等特殊情境

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) 有折扣時建議

整合的三個關鍵步驟

  1. 確認商家身份:在 Merchant Center 與 Search Console 同時驗證網域所有權。
  2. 啟用結構化資料自動擷取:於 GMC「產品」到「資料來源」中新增「網站擷取」資料來源。
  3. 每週透過 Rich Results Test 與 GMC 診斷工具檢查:確保所有商品的 Schema 通過驗證,並修復警告訊息。
實務經驗:許多台灣商家以為「上了 Schema 就會出現在 Google 購物」,但若 Merchant Center 沒設定,Google 不會自動建檔。Schema 是必要條件,Merchant Center 註冊是充分條件,兩者缺一不可。

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 倍,即便兩者的真實銷量與評價相近。

策略建議:對於 AI 搜尋優化,務必在 Schema 中放入至少 3 到 5 則精選評論(reviewBody 完整呈現),並確保 aggregateRating 反映真實評價。AI 引用時會直接擷取這些文字作為推薦理由,等同於免費的 KOL 背書。

台灣中小型電商實作步驟與常見錯誤

無論您使用 Shopify、SHOPLINE、91APP、Cyberbiz 還是自架 WooCommerce,實作 Product Schema 的流程大同小異。以下是經驗證可行的六步驟:

標準六步驟導入流程

  1. 盤點現有 Schema:用 Google Rich Results Test 測試 5 到 10 個熱銷商品頁,記錄目前已有與缺失的欄位。
  2. 補齊必填欄位:優先補上 brand、sku、aggregateRating、priceValidUntil 四個最常缺失的欄位。
  3. 導入變體結構:若有顏色或尺寸變體,改寫為 ProductGroup 加 hasVariant 結構。
  4. 整合評論系統:將商品頁的評論模組(如 Loox、Judge.me、自建系統)的評分輸出進 Schema。
  5. 連接 Merchant Center:啟用網站結構化資料擷取,監控 GMC 診斷報告。
  6. 建立每月健檢機制:每月用 Search Console「強化項目」報告檢查錯誤與警告。

新手最常見的五個錯誤

錯誤類型 實際情況 正確做法
availability 縮寫 寫成 "InStock" 應為 "https://schema.org/InStock"
價格包含貨幣符號 "NT$12,800" 價格純數字 "12800",貨幣另放 priceCurrency
評分頁面不可見 Schema 有 ratingValue 但頁面沒顯示星等 頁面與 Schema 必須一致呈現
priceValidUntil 過期 填了過期日期未更新 每月檢查,長期商品設為當年底
變體商品共用同一 SKU 所有顏色尺寸都用同一個 sku 每個變體必須有獨立 sku
注意:Google 對 Product Schema 的審核越來越嚴。若您的 Schema 與頁面實際顯示不一致(例如 Schema 寫 4.8 星但頁面找不到任何星等),可能會被判定為「結構化資料政策違規」,失去整個網站的 Rich Snippet 資格。請務必確保兩者完全同步。

若您對 Schema 的整體架構還不熟悉,建議先看結構化資料是什麼建立概念,再透過Schema Markup 實作了解 JSON-LD 的基本語法、Google 偏好的格式,以及 FAQPage、Article、Organization 等其他常見 Schema 的寫法。電商網站通常需要同時實作 Product、BreadcrumbList、Organization 三組 Schema,才能讓搜尋引擎完整理解網站結構。更完整的 SEO 佈局可參考新視野 SEO 教學指南

常見問答 FAQ

沒有 GTIN 條碼的自有品牌商品,還能取得 Rich Snippet 嗎?
可以。Google 允許「brand 加 mpn」組合替代 GTIN,適用於自有品牌、手工商品、客製商品。mpn 全名是 Manufacturer Part Number(製造商料號),只要您能提供穩定不變的內部編號即可。建議的命名規則是:品牌縮寫加商品代號加變體碼,例如 ERGO-CHR-BLK-L。但要注意,若是商品本身有國際條碼(例如 OEM 廠商提供),仍建議填入 gtin13,可信度更高,在 Google Shopping 的曝光也較強。實務上,Shopify 與 SHOPLINE 的後台都有 sku 與 barcode 兩個獨立欄位,只要正確填寫,平台會自動輸出對應 Schema。
變體商品到底要用 hasVariant 還是分頁面?哪個對 SEO 比較好?
兩種做法都可行,但策略不同。若變體差異小(僅顏色尺寸不同),建議用單一商品頁加 hasVariant 結構,讓 SEO 權重集中、評論累積在同一頁,Rich Snippet 與 AI 引用表現都比較好。若變體差異大(例如不同口味的食品、不同規格的工具,各自有專屬使用情境與搜尋需求),則建議每個變體獨立頁面,並用 isVariantOf 互相串聯。判斷標準是「使用者會不會用不同關鍵字搜尋?」會的話就分頁,不會的話就合併。台灣多數中小型電商的服飾、3C 配件適合合併;食品、保健品適合分頁。
Shopify、SHOPLINE 內建的 Schema 夠用嗎?需要再自訂嗎?
基本夠用,但欄位涵蓋通常不到 60%。Shopify 預設輸出 name、image、price、availability、sku 五個基本欄位;SHOPLINE 多了 brand 與 description。但 aggregateRating、review、priceSpecification、hasVariant 這些觸發 Rich Snippet 與 AI 引用的關鍵欄位,通常需要透過自訂 Liquid 模板、額外評論 App(例如 Loox、Judge.me),或請工程師客製插入。建議的做法是:先用 Google Rich Results Test 檢測現有商品頁,看少了哪些欄位,再針對性補足。多數情境下,加裝一個評論 App 加上手動補 brand 與 priceValidUntil,就能達到 90% 的完整度。
Product Schema 實作後多久會看到效果?評分星等什麼時候會出現在搜尋結果?
Schema 部署後,Google 通常需要 3 到 14 天重新爬取與處理,熱門網站可能 2 到 3 天就會看到變化,新站或低權重網站可能需要 2 到 4 週。Rich Snippet(尤其是星等)的觸發還需要兩個條件同時滿足:一是 Schema 通過 Rich Results Test 驗證,二是網站本身有足夠的權威度與信任度。許多剛起步的電商即使 Schema 完美,星等也可能不會立刻出現,這時不必慌張,持續累積品牌搜尋量、外部連結、用戶評論,通常 1 到 3 個月內會自然觸發。可以在 Search Console 的「強化項目,產品摘要」報告中追蹤 Google 是否已成功讀取您的 Schema。
Schema 中的評分,可以放編輯部測評或廠商自評嗎?
不可以,這是 Google 結構化資料政策的明確違規行為。Google 規定 Product Schema 中的 aggregateRating 與 review 必須來自「真實的最終消費者」,不能是商家自評、編輯部測評、合作媒體評分。若被檢測到,輕則 Rich Snippet 失效,重則整個網站收到「結構化資料政策違規」的人工處罰。若您希望放編輯部測評,正確做法是另外使用 Review Schema(獨立的 Review 物件),並明確標記 author 為「您的網站 Organization」,且必須放在獨立的測評文章頁面,而非商品頁。商品頁的評分必須由真實購買者產生,並建議使用第三方評論系統(如 Loox、Judge.me、Yotpo)以增加可信度,這些系統會自動驗證購買紀錄。
ChatGPT 和 Perplexity 會直接讀取我的 Product Schema 嗎?還是需要其他優化?
會直接讀取,但同時也會綜合其他訊號。ChatGPT 與 Perplexity 都會解析網頁中的 JSON-LD,優先信任結構化資料中的價格、庫存、評分。但它們不只看 Schema,還會綜合判斷:商品頁的文字描述深度、品牌權威度(維基百科、新聞報導提及次數)、消費者真實評論的多元性、社群討論熱度等。優化策略上,Schema 是地基,但還需要搭配:豐富的商品描述(300 字以上、含使用情境)、真實的用戶 UGC、品牌的線上可見度。建議的順序是:先完成完整 Schema(本篇所述),再強化商品文案的具體性與獨特性,接著累積真實評論,最後在 PTT、Mobile01、Dcard 等台灣社群建立自然提及。這套組合拳能顯著提升 AI 搜尋的引用率。

歡迎推廣本文,請務必連結(LINK)本文出處:新視野網頁設計公司