問與答

問與答網頁中的資料採用問答格式,也就是先提出一個問題,緊接著提供問題的答案。如果內容是用於呈現問題和答案,則您可以使用 schema.org QAPageQuestionAnswer 類型標記資料。

加入適當標記的網頁可以在搜尋結果網頁上顯示複合式搜尋結果。這種複合式的處理方式有助於您的網站在 Google 搜尋中觸及目標客群。 舉例來說,當使用者查詢「如何拔出卡在 USB 連接埠中的連接線?」時,如果針對這個問題提供解答的網頁已經加入標記,就會出現以下搜尋結果網頁:

系統在搜尋結果中傳回的問與答資訊卡範例

除了讓您的內容和像上圖一樣以複合式搜尋結果的形式顯示,標記問與答網頁還可以協助 Google 為您的網頁產生更優質的摘要。 以上述範例來說,在沒有顯示複合式搜尋結果的情況下,答案內容可能會以基本搜尋結果的形式出現。

如何新增結構化資料

結構化資料是一種標準化格式,能夠提供網頁相關資訊並分類網頁內容。如果您是第一次使用結構化資料,請參閱這篇文章,進一步瞭解結構化資料的運作方式。

以下簡要說明如何建立、測試及發布結構化資料。如需在網頁中新增結構化資料的逐步指南,請前往結構化資料程式碼研究室

  1. 新增必要屬性。根據您使用的格式,瞭解要在網頁中的什麼位置插入結構化資料
  2. 遵循指南規範
  3. 使用複合式搜尋結果測試驗證程式碼。
  4. 部署幾個包含結構化資料的網頁,並使用網址檢查工具測試 Google 轉譯網頁的情形。請確認 Google 可以存取您的網頁,且網頁並未遭到 robots.txt 檔案或 noindex 標記封鎖,也未設有登入規定。如果網頁看起來沒問題,您可以要求 Google 重新檢索您的網址
  5. 為了讓 Google 掌握日後的異動內容,建議您提交 Sitemap。您可以使用 Search Console Sitemap API 自動執行這項操作。

範例

下列標記範例包括採用 JSON-LD 格式的 QAPageQuestionAnswer 類型定義:

JSON-LD

<html>
  <head>
    <title>How many ounces are there in a pound?</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "QAPage",
      "mainEntity": {
        "@type": "Question",
        "name": "How many ounces are there in a pound?",
        "text": "I have taken up a new interest in baking and keep running across directions in ounces and pounds. I have to translate between them and was wondering how many ounces are in a pound?",
        "answerCount": 3,
        "upvoteCount": 26,
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "1 pound (lb) is equal to 16 ounces (oz).",
          "upvoteCount": 1337,
          "url": "https://example.com/question1#acceptedAnswer"
          },
        "suggestedAnswer": [
          {
            "@type": "Answer",
            "text": "Are you looking for ounces or fluid ounces? If you are looking for fluid ounces there are 15.34 fluid ounces in a pound of water.",
            "upvoteCount": 42,
            "url": "https://example.com/question1#suggestedAnswer1"
          }, {
            "@type": "Answer",
            "text": " I can't remember exactly, but I think 18 ounces in a lb. You might want to double check that.",
            "upvoteCount": 0,
            "url": "https://example.com/question1#suggestedAnswer2"
          }
        ]
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>
微資料

<html>
<body itemscope itemtype="https://schema.org/QAPage">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question">
   <h2 itemprop="name">How many ounces are there in a pound?</h2>
   <div itemprop="upvoteCount">52</div>
   <div itemprop="text">I have taken up a new interest in baking and keep running across directions in ounces and pounds. I have to translate between them and was wondering how many ounces are in a pound?</div>
<div>
    <div><span itemprop="answerCount">3</span> answers</div>
    <div><span itemprop="upvoteCount">26</span> votes</div>
    <div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer">
       <div itemprop="upvoteCount">1337</div>
       <div itemprop="text">
       1 pound (lb) is equal to 16 ounces (oz).
       </div>
      <a itemprop="url" href="https://example.com/question1#acceptedAnswer">Answer Link</a>
      </div>
    <div itemprop="suggestedAnswer" itemscope itemtype="https://schema.org/Answer">
       <div itemprop="upvoteCount">42</div>
       <div itemprop="text">
       Are you looking for ounces or fluid ounces? If you are looking for fluid ounces there are 15.34 fluid ounces in a pound of water.
       </div>
       <a itemprop="url" href="https://example.com/question1#suggestedAnswer1">Answer Link</a>
     </div>
     <div itemprop="suggestedAnswer" itemscope itemtype="https://schema.org/Answer">
       <div itemprop="upvoteCount">0</div>
       <div itemprop="text">
       I can't remember exactly, but I think 18 ounces in a lb. You might want to double check that.
       </div>
       <a itemprop="url" href="https://example.com/question1#suggestedAnswer2">Answer Link</a>
    </div>
</div>
</div>
</body>
</html>

指南規範

您必須遵守以下指南規範,才能讓問與答網頁採用這種複合式顯示方式:

內容指南

  • 如果網頁包含的資料是採用問答格式,也就是先提出一個問題,緊接著提供答案,才能使用 QAPage 標記。
  • 使用者必須能夠提交問題的答案。如果特定問題僅有一個答案,而且使用者無法新增其他答案,那麼請勿針對內容使用 QAPage 標記,應改用 FAQPage。以下舉幾個例子說明:

    適用標的

    • 可供使用者針對單一問題提交答案的論壇頁面
    • 可供使用者針對單一問題提交答案的產品支援頁面

    不適用標的

    • 由網站本身撰寫、使用者無法新增其他答案的 FAQ 頁面
    • 可讓使用者在單一頁面上提交多個問題與答案的產品網頁
    • 回答問題的使用指南
    • 回答問題的網誌文章
    • 回答問題的短文
  • 如果網站或論壇中的內容並未全部符合 QAPage 標記的使用條件,請勿為所有網頁套用此標記。 舉例來說,某個論壇可能張貼了許多問題,而且每個問題本身都符合標記使用條件。但是,如果該論壇有些網頁的內容並非問題,那麼這些網頁就不符合標記使用條件。
  • 請勿在 FAQ 網頁或包含多個問題的網頁上使用 QAPage 標記。只有在網頁通篇只聚焦一個問題並隨附答案時,才適合使用 QAPage 標記。
  • 請勿將 QAPage 標記用於廣告用途。
  • 每個 Question 必須包含完整的題目內文,而每個 Answer 必須包含完整的答案內文。
  • Answer 標記適用於問題解答,但不適用於評論其他答案或問題本身。請勿將不是答案的評論標記為 Answer
  • 如果問題與答案包含下列類型的內容,則可能無法以複合式搜尋結果的形式呈現:猥褻、不雅用語、煽情露骨內容、逼真呈現血腥暴力場景、鼓吹危險或不法活動,或是使用仇恨或騷擾言詞。
  • 與 STEM 教育相關的問與答網頁,這類網頁的主要目的是為使用者提交的家庭作業問題提供正確答案,可能符合問與答輪轉介面功能的使用資格。 這類網頁可能只有單一解答,而且是由網站內部專家提供或精選出來的答案,並非來自使用者。
    範例:使用者提交單一問題且由專家選取最佳解答的教育類網頁。

結構化資料類型定義

本節將說明與 QAPage 相關的結構化資料類型。

您的內容必須包含必要的屬性,才能以複合式搜尋結果的形式呈現。您也可以加入建議屬性,以便為您的結構化資料添加更多資訊,打造出更優質的使用者體驗。

您可以使用 Google 的複合式搜尋結果測試驗證及預覽您的結構化資料

QAPage

QAPage 類型表示網頁內容聚焦於單一特定問題及其答案。網頁必須具備 QAPage 標記,我們才會使用其中的 Question 結構化資料,且每個網頁只能有一個 QAPage 類型定義。

您可以在 https://schema.org/QAPage 找到 QAPage 的完整定義。

下表說明 Google 搜尋使用的 QAPage 類型屬性。

必要屬性

mainEntity

Question

網頁的 Question 必須以巢狀形式列於 QAPage 項目的 mainEntity 屬性底下。

Question

Question 類型用於定義網頁所回答的問題,包括該問題的答案 (如果有的話)。網頁中只能有一個 Question 類型,必須以巢狀形式嵌入 schema.org/QAPagemainEntity 屬性底下,且每個網頁只能有一個 Question 類型定義。

您可以在 https://schema.org/Question 找到 Question 的完整定義。

必要屬性

answerCount

Integer

問題的答案總數。舉例來說,如果有 15 個答案,但是只有前 10 個因為分頁而被標記,則此值為 15。如果問題沒有答案,則此值也可能為 0。

acceptedAnswersuggestedAnswer Answer

問題至少要有一個答案 (acceptedAnswersuggestedAnswer 皆可),才能夠以複合式搜尋結果的形式呈現。不過,剛張貼的問題可能沒有附上答案。針對沒有答案的問題,請將 answerCount 屬性設為 0。沒有答案的問題無法以複合式搜尋結果的形式呈現。

acceptedAnswer

Answer

問題的最佳答案。每個問題可以有零個或多個最佳答案。這個屬性代表的答案必須在您的網站上獲得一定程度的認可,比方說經過提問者、版主認可,或由投票系統選出的最佳答案。請勿根據其他排序方式 (例如依時間由新至舊) 來確定最佳答案。

suggestedAnswer

Answer

一個尚未被認可為最佳答案 (acceptedAnswer) 的可能答案。每個問題可以有零個或多個可能答案。

name

Text

簡短問題的全文。例如:「一杯是幾茶匙?」

建議屬性

author

PersonOrganization

問題的作者。

dateCreated

DateDateTime

將問題新增至網頁的日期 (採用 ISO-8601 格式)。

text

Text

問題的詳細版全文。例如:「我正在備料,因此必須知道一杯是幾茶匙。一杯是幾茶匙?」

upvoteCount

Integer

此問題收到的總票數。如果網頁支援投支持票和反對票,則應將 upvoteCount 值設定成匯總支持票和反對票數的單一代表值。比方說,如果有 5 票支持,2 票反對,則 upvoteCount 的匯總值為 3。如果有 5 票支持,而網頁根本不支援投反對票,則 upvoteCount 的值就是 5。

Answer

Answer 類型用於定義網頁中 Question 的建議答案和受到認同的答案。您可以將 Question 中的 Answers 定義為 suggestedAnsweracceptedAnswer 屬性的值。

下表說明在 Question 中使用的 Answer 類型屬性。

https://schema.org/Answer 內提供 Answer 的完整定義。

必要屬性

text

Text

答案的全文。如果只標記部分文字,Google 可能無法呈現您的內容,且無法判定最適合顯示的文字。

建議屬性

author

PersonOrganization

答案的作者。

dateCreated

DateDateTime

將答案新增至網頁的日期 (採用 ISO-8601 格式)。

upvoteCount

Integer

此答案收到的總票數。如果網頁支援投支持票和反對票,則應將 upvoteCount 值設定成匯總支持票和反對票數的單一代表值。比方說,如果有 5 票支持,2 票反對,則 upvoteCount 的匯總值為 3。如果有 5 票支持,而網頁根本不支援投反對票,則 upvoteCount 的值就是 5。

url

URL

直接連結至此答案的網址。例如:https://www.examplesite.com/question#answer1

透過 Search Console 監控複合式搜尋結果

Search Console 這項工具能協助您監控網頁在 Google 搜尋中的成效。 Google 會主動將您的網頁納入搜尋結果,您無需為此申請使用 Search Console,但是您可以藉由這項服務瞭解並改善 Google 檢索您網站的方式。建議在下列情況查看 Search Console:

  1. 首次部署結構化資料後
  2. 發布新範本或更新程式碼後
  3. 定期分析流量

首次部署結構化資料後

在 Google 為網頁建立索引後,請透過相關的複合式搜尋結果狀態報告查看是否存在任何問題。理想情況下,有效網頁會增加,但錯誤或警告不會變多。如果您在結構化資料中發現問題,請依下列步驟操作:

  1. 修正錯誤
  2. 檢查線上網址,查看問題是否仍繼續發生。
  3. 透過狀態報告要求驗證

發布新範本或更新程式碼後

當您對網站進行大幅變更時,請留意結構化資料中錯誤和警告的數量是否增加。
  • 如果錯誤增加,代表新推出的範本可能無法正常運作,或者網站採用新方式與現有範本互動,但效果不佳。
  • 如果有效項目減少,但錯誤並未隨之增加,代表您的網頁可能已不再內嵌結構化資料。請使用網址檢查工具找出問題的成因。

定期分析流量

透過成效報表分析您的 Google 搜尋流量。 這些資料會顯示您的網頁在 Google 搜尋中呈現為複合式搜尋結果的頻率、使用者點擊的頻率,以及您的搜尋結果平均排名。您也可以使用 Search Console API 自動提取這些結果。

疑難排解

如果無法順利導入結構化資料,或是偵錯時遇到困難,請參考下列資源。