產品頁已經有五星評論,theme 又輸出咗 Product JSON-LD,Rich Results Test 亦顯示綠色;但實際搜尋結果仍然冇星。這個情況最容易令人不斷裝 app、複製多一段 Schema,結果同一頁出現兩三個互相矛盾的 Product,問題反而更難查。
星級不是「加段 code 就開啟」的版面功能。結構化資料只令頁面取得某種搜尋外觀的資格,Google 結構化資料規範亦清楚說明:資料必須代表頁面可見主內容,而且即使標記正確,也不保證展示 rich result。本文不重講 Schema 類型總覽;需要先做全站選型,可看中小企 Schema 實作指南。這裡只處理電商產品頁的星級資格、資料關聯和故障排查。
先分清兩種星級:Google Maps 評分唔等於產品頁星級
香港商戶常把 Google Business Profile、首頁推薦語和產品評價混在一起。三者可以同時存在,但資料主體不同,不能用同一段 Review Schema 互相代替。
| 你見到的評分 | 評緊邊個主體 | 應放在哪裡處理 |
|---|---|---|
| Google Maps/商戶資料星級 | 店舖或公司 | 由 Google Business Profile 評論系統管理,不等於官網 Product 評價 |
| 自然搜尋產品結果星級 | 一件具體產品或同一產品的變體 | 對應產品頁的 Product、Review、AggregateRating |
| 首頁或服務頁 testimonial | 品牌、服務或合作經驗 | 先作可見信任內容;不要當作某件商品的評分 |
Google 的評論摘要規範對 LocalBusiness 與 Organization 的自評展示有額外限制。電商要爭取產品星級,應鎖定真實產品頁和該站收集的用戶評價,不要把 Maps 評論嵌入官網後就視為自己的產品評分。
寫 JSON-LD 前,先過四道資格閘門
以下任何一關未過,都應先修資料或頁面,而不是繼續加 markup。
- 頁面聚焦具體產品:Google 的Product snippet 技術指引以單一產品或同一產品變體頁為主。Collection、站內搜尋結果或「本月精選」清單,不應扮成一件 Product。
- 評分在頁面即時可見:用戶應看得到平均分、評分數量,以及有標記個別 Review 時的評論內容。資料藏在 JSON-LD、登入後或未展開的遠端 widget 內,都要檢查 Google 實際能否取得。
- 來源能夠交代:分數要由真實用戶對該產品作出。不要由員工填寫、把其他網站的星級加總,或把不同商品評價合併成一個好看的平均分。
- 商品識別一致:頁面標題、SKU、variant、價格、幣別、庫存、評分和 canonical 都要指向同一件商品。香港頁顯示 HKD,Schema 卻沿用 USD,已經是資料治理問題。
如果評分只出現在 Collection 卡片,先把用戶帶到產品頁查看完整評價,不要在分類頁硬塞 Product markup。分類與商品的頁面角色可參考電商分類頁取捨指南。
Product、AggregateRating、Review 應該點連接?
Product 是主體;aggregateRating 描述多個評分的平均;review 描述一條條可見評論。對產品頁而言,後兩者應嵌在同一個 Product 之內,避免搜尋引擎再猜「這個 4.6 分究竟屬於邊件貨」。
| 欄位 | 由哪裡來 | 最常見錯誤 |
|---|---|---|
name、sku、url | 產品主資料 | variant 頁與母商品共用錯誤名稱或網址 |
ratingValue | 現時平均評分 | 頁面顯示 4.4,JSON-LD 仍是 4.7 |
ratingCount/reviewCount | 評分或評論系統 | 把只有星級的 rating 全當成有文字的 review |
reviewRating、作者、日期、內容 | 個別可見評論 | 標記頁面沒有顯示的評論,或漏了作者關聯 |
offers | 價格與庫存系統 | 幣別、售價或 availability 未隨商品更新 |
以下只是「假設產品 A」的結構示意,不是可直接貼上的真實商店資料;正式輸出要由產品和評論資料庫動態生成:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://example.com/products/product-a#product",
"name": "假設產品 A",
"image": ["https://example.com/images/product-a.jpg"],
"sku": "EXAMPLE-A",
"offers": {
"@type": "Offer",
"url": "https://example.com/products/product-a",
"priceCurrency": "HKD",
"price": "699.00",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"ratingCount": 38
},
"review": [{
"@type": "Review",
"author": { "@type": "Person", "name": "示例顧客" },
"datePublished": "2026-07-01",
"reviewBody": "這段文字必須在產品頁真實可見。",
"reviewRating": { "@type": "Rating", "ratingValue": 5, "bestRating": 5 }
}]
}
</script>
Google 對巢狀 AggregateRating 要求提供 ratingValue,並至少有 ratingCount 或 reviewCount 其中一項;是否加入個別 Review,要看頁面有沒有相應可見內容。欄位不是愈多愈好,最重要是可核對和持續更新。
Shopify theme 同 review app 各出一段 Product,點樣拆?
常見情況是 theme 負責名稱、價格和庫存,review app 再輸出另一個 Product 連 aggregateRating。兩段各自看似正確,合起來卻可能一段寫母商品、一段寫當前 variant;一段 InStock,另一段 OutOfStock。測試工具未必把「兩件 Product」當語法錯誤,但搜尋引擎面對的是資料衝突。
- 開產品頁原始碼,搜尋所有
"@type":"Product",不要只看畫面中的 app widget。 - 逐段列出
@id、URL、SKU、variant、price、availability、ratingValue 和數量。 - 選定一個會隨產品資料穩定更新的主 Product 節點;評價資料應嵌入或以同一
@id關聯。 - 在 theme 或 app 設定停掉重複輸出,再抽查有變體、折扣、缺貨及沒有評價的產品。
不要看到兩段就隨手刪 app 那段,也不要假設 theme 一定較準。判斷依據是資料完整度、更新責任和實際頁面內容。Shopify 的商品、Collection、theme 與速度基礎,可另看Shopify SEO 設定指南。
驗證通過但星級唔出:跟這個次序查
| 檢查層 | 你要確認 | 見到問題點處理 |
|---|---|---|
| 1. 頁面資格 | 單一產品、評價可見、來源真實 | 先修內容與資料來源,暫停標記不合資格評分 |
| 2. 結構 | Rich Results Test 的 Product 項目、error、warning | error 先修;warning 按產品與商業價值判斷 |
| 3. 一致性 | 原始碼所有 Product 節點是否同一商品 | 收斂重複節點,同步價格、庫存、評分 |
| 4. 索引 | URL Inspection 的 canonical、抓取頁面、可索引狀態 | 修正 noindex、canonical、robots 或渲染問題 |
| 5. 上線後訊號 | GSC Product snippets/Merchant listings 報告與 Search appearance | 按模板或產品群組處理錯誤,不要逐頁盲修 |
| 6. 展示判斷 | 重新抓取後仍未展示,但資料合規且無錯 | 接受展示並非保證,繼續改善產品內容與購買承接 |
若 URL Inspection 顯示 Google 揀了另一個 canonical,先解決收錄與版本問題,再談 rich result。可用頁面收錄排查流程分清 canonical、爬取、渲染和內容原因。反覆「要求建立索引」不會修好衝突資料。
哪些情況應先停用 Review Schema?
- 頁面看不到平均分或評分數量,只有 JSON-LD 有數字。
- 把其他網站、Google Maps 或供應商的評分直接加總成自己的商品評分。
- Collection、首頁或搜尋結果頁被標成一件 Product。
- 評分屬於母商品,但頁面與 Schema 描述另一個無法對應的 variant。
- review app 已移除或資料停止同步,頁面分數和結構化資料長期不同。
- 同一頁多個 Product 節點互相矛盾,而團隊未決定哪一套負責更新。
停用不合規標記,不等於刪除客戶評論。可見評論仍然幫助用戶判斷產品;只是未整理好資料前,不應用結構化資料把模糊訊息放大。
小批量上線:先用 10 個產品頁找模板問題
不要一開始把全店幾千件商品一齊改。先抽十頁:有評價、無評價、有 variant、折扣、缺貨、不同幣別各取樣。記錄每頁的主 Product 節點、資料來源、測試結果和 Google 抓取狀態,確認 theme 與 app 的責任分工後再擴大。
上線後分三層量度:技術層看有效與無效 Product 項目;搜尋層看 Search appearance、曝光和點擊率變化;商業層看產品瀏覽到加購或查詢的承接。星級有出但產品資料薄、運費不清或缺貨,仍然未必帶來成交。Schema 的工作是準確描述好頁面,不是代替好頁面。
四個常見問題
Rich Results Test 驗證通過,點解搜尋結果仍然冇星?
驗證通過只代表標記在測試時符合技術資格,不保證 Google 一定展示星級。仍要確認頁面可被索引、canonical 正確、評價在頁面可見、資料沒有互相矛盾,並等候重新抓取。
只有平均分、沒有文字評論,可否加 AggregateRating?
可以按實際評分資料標記平均分,但平均分及評分數量必須在產品頁清楚可見,而且來自該站真實用戶。若評分來源、數量或對應商品無法核對,應先整理資料,不要只在 JSON-LD 裡加數字。
Shopify theme 同 review app 各自輸出 Product,應保留哪一段?
沒有一個適用所有店舖的固定答案。應先比較兩段的商品識別、價格、庫存、變體及評價資料,選定一個完整而持續更新的主 Product 節點,再讓另一套停止輸出重複節點或以相同識別關聯。
首頁或 Collection 顯示商品星級,可否直接加 Product Review Schema?
通常不應把商品清單或分類頁當成單一產品頁標記。Product rich result 以聚焦一件產品或其變體的頁面為主;Collection 可以顯示星級幫人選購,但應把完整 Product、Review 及 AggregateRating 放在對應產品頁。
先把一個產品頁查清楚,再動全店模板
產品資料、評論來源、theme 與 app 要有清楚責任,否則批量改動只會把同一錯誤複製到更多 URL。
先核對一個產品頁,再決定要不要改 theme
傳送產品 URL 與 Rich Results Test 結果,我們會先檢查評分來源、頁面與 JSON-LD 一致性,以及 theme/review app 有沒有輸出重複 Product 節點。
WhatsApp 提交產品頁