Product、FAQPage、HowTo怎麼正確使用

先説結論
拿到 Product、FAQPage、HowTo 三段代碼模板,先別急着全部複製進網站。
拿到 Product、FAQPage、HowTo 三段代碼模板,先別急着全部複製進網站。
Product(產品資訊)、FAQPage(常見問題頁面)和 HowTo(操作教程),都是 Schema.org 定義的結構化數據類型。所謂結構化數據,就是用一組標準字段告訴搜尋引擎:這個頁面介紹的是什麼,頁面中哪些內容屬於產品名稱、價格、問答或操作步驟。
JSON-LD 是編寫結構化數據的一種常用格式。它通常以一段代碼的形式放進網頁源代碼,但只能標記頁面已經提供的資訊,不能代替頁面正文。
如果頁面沒有展示價格、庫存、評價、問答、操作步驟或耗時,就不能只在 JSON-LD 中補寫這些內容。模板包含多少字段並不重要,真正決定該用哪類結構化數據的,是當前頁面寫了什麼。
這三類結構化數據的用途和 Google 目前的支持情況也不相同:
| 類型 | 適合什麼頁面 | 主要標記什麼 | Google 目前的支持情況 |
|---|---|---|---|
| Product | 單個商品或產品詳情頁 | 名稱、圖片、型號、價格、庫存等真實資訊 | 仍支持商品相關搜尋功能 |
| FAQPage | 展示多組站方固定問答的頁面 | 頁面上完整可見的問題和答案 | FAQ 富結果通常只向權威政府和健康網站展示 |
| HowTo | 有明確操作順序的教程 | 步驟、工具、材料和耗時 | HowTo 富結果已經停用 |
這裏所説的“富結果”,是指搜尋結果中可能額外出現的商品價格、庫存、問答等擴展資訊。
正確的使用順序是:先檢查頁面內容,再選擇結構化數據類型,最後填寫字段並完成驗證。
寫代碼前,先確認這5件事
1. 只標記頁面上真實可見的內容
商品價格、庫存、FAQ 答案和操作步驟,都不能只存在於 JSON-LD 中。用戶在頁面上能看到什麼,結構化數據才能標記什麼。
FAQ 可以使用摺疊組件展示,但用戶展開後必須能夠看到完整的問題和答案。
2. 不存在或無法確認的字段,直接刪除
模板中的示例價格、網址、評分、庫存和日期,上線前都必須替換。
如果頁面沒有對應資訊,就刪除相關字段。不要保留示例值,也不要為了讓驗證工具少報一條警告而編造數據。
3. 使用正確的 JSON-LD 格式
JSON-LD 應放在下面這組 HTML 標籤中。HTML 指網頁源代碼使用的標記語言。
<script type="application/ld+json">
Google 通常推薦使用 JSON-LD。但格式和放置位置正確,只能説明代碼寫法沒有明顯問題,不能證明代碼中的價格、庫存、評價等內容真實。
4. 分清 Schema.org 規範與 Google 搜尋功能
Schema.org 負責定義可以使用哪些結構化數據類型和字段,Google 則決定哪些類型能夠觸發搜尋結果中的擴展展示。
因此,代碼符合 Schema.org 規範,不等於 Google 一定會展示富結果。
FAQPage 和 HowTo 仍是有效的 Schema.org 類型,但 Google 對相應富結果的支持已經發生變化。判斷是否部署時,不能只看這個類型是否存在,還要看網站的使用目的和維護能力。
5. 驗證代碼後,還要檢查實際抓取結果
先檢查代碼語法,再用對應工具驗證。頁面上線後,還要查看網頁源代碼和 Google 的網址抓取結果,確認:
- 網站模板沒有轉義或破壞 JSON-LD;
- 頁面輸出的是新版本代碼;
- 緩存沒有繼續提供舊數據;
- Google 實際抓取到的內容與當前頁面一致。
驗證工具顯示“有效”,只説明代碼通過了對應規則,不代表 Google 一定會展示富結果。

Product:用於明確的商品或產品詳情頁
如果頁面介紹的是一個可以明確識別的商品,可以從下面這份簡化模板開始。
模板使用 offers 標記商品報價資訊,沒有加入評價字段,適合沒有真實評分數據的商品頁面。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://example.com/products/model-a#product",
"name": "示例產品A",
"image": [
"https://example.com/images/model-a.jpg"
],
"description": "用一句與頁面一致的話説明產品用途和關鍵規格。",
"sku": "MODEL-A-001",
"brand": {
"@type": "Brand",
"name": "示例品牌"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/products/model-a",
"priceCurrency": "CNY",
"price": "999.00",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition"
}
}
</script>
上線前,至少要逐項檢查並替換以下內容:
| 字段 | 含義 |
|---|---|
@id |
當前產品對象的唯一標識 |
url |
產品頁面的網址 |
name |
產品名稱 |
image |
產品圖片地址 |
description |
與頁面一致的產品説明 |
sku |
SKU,即用於識別具體商品的庫存單位編號 |
brand |
品牌名稱 |
priceCurrency |
價格使用的幣種,CNY 表示人民幣 |
price |
頁面實際展示的價格 |
availability |
當前庫存狀態 |
itemCondition |
商品狀態,例如模板中的 NewCondition 表示新品 |
Google 的 Product snippet,也就是商品摘要搜尋展示,要求提供 name,同時要求 review、aggregateRating、offers 至少有一項。上面的模板選擇了 offers。
如果頁面屬於可以直接購買的商品頁,還應對照 Merchant listing,也就是商家商品列表展示的相關文檔,判斷是否需要補充其他字段。
只有頁面真實展示、來源可以核驗的評價或彙總評分,才能加入 review 或 aggregateRating。沒有真實評價就刪除這些字段,不要編造評分。
價格、幣種和庫存狀態也必須與頁面可見內容一致。
沒有價格的 B2B 產品頁怎麼辦
B2B 指企業面向其他企業開展的業務。
沒有價格的 B2B 產品頁,仍然可以使用 Schema.org 的 Product 類型描述產品。但它是否滿足 Google 某類商品富結果的要求,需要根據 Product snippet 或 Merchant listing 的具體規則判斷。
頁面沒有真實價格時,不要用虛構價格填充 offers。

FAQPage:用於頁面上的站方固定問答
FAQ 是“常見問題”的英文縮寫。FAQPage 適合標記由網站提供的多組固定問答,每個問題和答案都要完整展示在頁面上,不能只寫進結構化數據。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "產品A支持哪些使用場景?",
"acceptedAnswer": {
"@type": "Answer",
"text": "產品A適用於場景一和場景二,具體限制以頁面規格表為準。"
}
},
{
"@type": "Question",
"name": "產品A如何申請售後?",
"acceptedAnswer": {
"@type": "Answer",
"text": "請在訂單頁提交售後申請,並上傳訂單號和問題説明。"
}
}
]
}
</script>
Question.name 要對應頁面上的完整問題,acceptedAnswer.text 要對應頁面上的完整答案。頁面可以使用摺疊組件,但用戶必須能夠查看全部內容。
如果一個頁面只圍繞一個問題展開,並允許用戶提交多個答案,就不屬於這裏所説的站方固定問答。這類頁面應另行查看 QAPage,也就是多人問答頁面結構化數據的相關規則。
還要注意,Google 從2023年起,通常只向權威政府和健康網站展示 FAQ 富結果。
普通企業網站仍然可以保留與頁面一致、維護成本較低的 FAQPage 標記,但不能把它當作穩定的搜尋展示入口,更不能承諾添加代碼後一定出現問答富結果。
HowTo:用於有明確順序的操作教程
HowTo 適合具有明確操作順序的教程。步驟、工具、材料和耗時,都要與頁面正文一一對應。
下面的模板以30分鐘、兩項材料、一件工具和三個步驟為例。頁面正文必須同步展示這些資訊。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "如何安裝示例產品A",
"description": "完成安裝前檢查、固定和通電測試。",
"totalTime": "PT30M",
"supply": [
{"@type": "HowToSupply", "name": "安裝螺絲"},
{"@type": "HowToSupply", "name": "絕緣膠帶"}
],
"tool": [
{"@type": "HowToTool", "name": "十字螺絲刀"}
],
"step": [
{
"@type": "HowToStep",
"name": "檢查配件",
"text": "核對主機、螺絲和説明書是否齊全。",
"url": "https://example.com/guides/install-model-a#step1"
},
{
"@type": "HowToStep",
"name": "固定設備",
"text": "按説明書標註的位置固定設備並檢查鬆動。",
"url": "https://example.com/guides/install-model-a#step2"
},
{
"@type": "HowToStep",
"name": "完成測試",
"text": "通電後按頁面檢查表完成首次運行測試。",
"url": "https://example.com/guides/install-model-a#step3"
}
]
}
</script>
totalTime 使用 ISO 8601 時長格式。這是一套通用的日期和時間表示標準,其中30分鐘寫作 PT30M。
步驟名稱、步驟説明和錨點網址,都要與頁面內容對應。錨點網址是可以直接跳轉到頁面中某個具體步驟的連結。
頁面沒有材料或工具時,應刪除 supply 或 tool 等相應字段。
Google 已經停止展示 HowTo 富結果,Rich Results Test(富結果測試工具)也不再支持這項搜尋功能。因此,部署 HowTo 的理由不應是等待 Google 展示步驟卡片,而應是讓仍然識別 Schema.org 規則的系統更清楚地理解教程內容及其組成部分。
如果網站沒有持續維護 HowTo 數據的能力,只保留結構清楚的網頁步驟也可以。
三類結構化數據能不能放在同一頁
可以,但頁面必須確實同時提供這三類內容。
例如,一個產品詳情頁同時展示了具體商品、多組站方 FAQ 和完整安裝教程,就可以使用 @graph 把多個數據對象組織在同一段 JSON-LD 中,也可以把不同類型拆成多個 JSON-LD 代碼塊。
無論採用哪種寫法,都要滿足三個條件:
- 每個數據對象對應的主體明確;
@id和頁面網址對應正確;- 結構化數據與頁面可見內容一致。
關鍵不在於代碼塊有幾個,而在於每個對象是否真實、對象之間的關係是否清楚。不能因為手裏有三份模板,就把三類結構化數據直接放進全站所有頁面。
| 檢查項 | Product | FAQPage | HowTo |
|---|---|---|---|
| 對應主體 | 一個具體商品 | 多組站方問答 | 一個完整操作過程 |
| 頁面必須展示 | 名稱、價格、庫存等實際填寫的資訊 | 每個問題和答案 | 步驟、工具、材料、耗時等實際填寫的資訊 |
| 最容易出現的虛假字段 | 評分、評價、價格 | 頁面不存在的答案 | 不存在的步驟和耗時 |
| Google 目前的支持情況 | 仍支持商品相關功能 | 富結果通常限權威政府和健康網站 | 富結果已經停用 |
上線前,按這個順序驗證
第一步:檢查 JSON 語法
先用 JSON 解析器檢查括號、逗號、引號等語法問題,確保代碼能夠正常讀取。JSON 解析器就是檢查這類文本代碼能否被程序正確識別的工具。
第二步:檢查 Schema.org 規範
使用 Schema.org Validator(Schema.org 驗證器)檢查類型、字段和嵌套關係是否符合 Schema.org 規範。嵌套關係指一個數據對象被放在另一個對象內部時,兩者的從屬關係是否正確。
第三步:檢查 Google 支持的搜尋功能
Product 可以使用 Rich Results Test,並根據 Product snippet 或 Merchant listing 的具體使用場景處理錯誤。
FAQPage 是否顯示富結果,要考慮 Google 目前的展示限制。HowTo 已不再屬於 Rich Results Test 支持的搜尋功能。
第四步:檢查 Google 實際抓取的版本
頁面上線後,使用 URL Inspection(網址檢查工具)查看 Google 抓取到的內容,確認它讀取的是新版本,而不是被網站模板破壞的代碼或緩存中的舊數據。
需要再次説明:驗證通過,不等於 Google 一定展示富結果。實際展示還會受到頁面質量、展示資格、抓取狀態、用戶搜尋內容和對應搜尋功能狀態的影響。
同樣,HowTo 不再出現在 Google 富結果測試的支持項目中,也不代表 Schema.org 刪除了 HowTo 類型。Schema.org 是否保留某個類型,與 Google 是否支持相應富結果,是兩個不同的問題。
5個容易誤判的問題
1. Product 必須同時填寫 offers、review 和 aggregateRating 嗎
不必須。
Product snippet 要求提供 name,並要求 offers、review、aggregateRating 至少有一項。頁面上有什麼真實資訊就寫什麼,沒有真實評價就不要補寫。
2. 普通企業網站還要不要使用 FAQPage
可以保留與頁面一致、維護成本較低的 FAQPage。
但 Google 的 FAQ 富結果通常只向權威政府和健康網站展示,普通企業網站不能把它視為穩定的富結果入口。
3. HowTo 富結果停用後,HowTo 還有沒有用
Google 的 HowTo 富結果已經停用,但 Schema.org 仍然保留 HowTo 類型。
是否繼續部署,應根據其他使用方和網站的維護能力判斷,不應再把 Google 步驟富結果作為主要理由。
4. 三種結構化數據能不能寫進同一個 JSON-LD
可以使用 @graph 把多個對象放在同一個 JSON-LD 代碼塊中,也可以拆成多個代碼塊。
真正需要檢查的是對象關係、@id、網址,以及每項數據能否在頁面內容中找到對應資訊。
5. 為什麼驗證通過後仍然沒有富結果
因為驗證通過只説明當前代碼符合對應工具的規則,不代表 Google 必須展示。
頁面質量、展示資格、抓取狀態、用戶搜尋內容和對應搜尋功能的當前狀態,都可能影響最終結果。
最後只看三個判斷標準
Product、FAQPage 和 HowTo 不是三份複製後就能直接使用的通用代碼。每個頁面是否需要部署、應該填寫哪些字段,都要回到頁面本身判斷。
上線前只問三件事:
- 頁面是否真的提供了這些內容?
- 結構化數據是否與用戶看到的內容一致?
- 網站是否有能力持續維護這些字段?
三項都能確認,再部署對應的結構化數據。缺少真實內容時,刪除字段或暫不使用,都比把示例數據直接上線更合適。
公開資料入口
- Google Product structured data:https://developers.google.com/search/docs/appearance/structured-data/product
- Google Product snippet:https://developers.google.com/search/docs/appearance/structured-data/product-snippet
- Google FAQ 與 HowTo 變更説明:https://developers.google.com/search/blog/2023/08/howto-faq-changes
- Schema.org Product:https://schema.org/Product
- Schema.org FAQPage:https://schema.org/FAQPage
- Schema.org HowTo:https://schema.org/HowTo
相關閲讀
GEO 指南
官網訪問量沒跌,為什麼客戶全被AI截走了?6項AI獲客自查
流量沒跌不代表客戶沒丟。AI截流發生在客戶提問環節,直接把競品當成標杆答案推給採購方,避開網頁點擊。做好AI獲客自查,是守住高淨值商機的第一步。
2026 年 10 月 23 日 · 9 分鐘讀完
GEO 指南
刷到一堆霸榜神器?看穿GEO騙局,企業做AI推薦該信什麼
市面上的“一鍵霸榜”多屬違背大模型機制的GEO騙局。AI推薦靠的是企業公開事實被權威信源採信,認清常見套路才能避開無效花費。
2026 年 10 月 22 日 · 6 分鐘讀完
GEO 指南
AI服務商選型報價差10倍怎麼選?4步審查清單定方案
判斷AI服務商選型報價,不看PPT概念而看交付動作。把方案拆解為信源基建、事實清洗、複測機制與責任對賭四步,核驗每項真實人日與交付物,水分立刻顯形。
2026 年 10 月 22 日 · 8 分鐘讀完