問與答 (QAPage) 結構化資料

這張插圖顯示問與答的複合式搜尋結果

問與答網頁中的資料採用問答格式,也就是先提出一個問題,緊接著提供問題的答案。如果內容是用於呈現問題和答案,則您可以使用 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,
        "datePublished": "2024-02-14T15:34-05:00",
        "author": {
          "@type": "Person",
          "name": "Mary Stone",
          "url": "https://example.com/profiles/mary-stone"
        },
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "1 pound (lb) is equal to 16 ounces (oz).",
          "image": "https://example.com/images/conversion-chart.jpg",
          "upvoteCount": 1337,
          "url": "https://example.com/question1#acceptedAnswer",
          "datePublished": "2024-02-14T16:34-05:00",
          "author": {
            "@type": "Person",
            "name": "Julius Fernandez",
            "url": "https://example.com/profiles/julius-fernandez"
          }
        },
        "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",
            "datePublished": "2024-02-14T15:39-05:00",
            "author": {
              "@type": "Person",
              "name": "Kara Weber",
              "url": "https://example.com/profiles/kara-weber"
            },
            "comment": {
              "@type": "Comment",
              "text": "I'm looking for ounces, not fluid ounces.",
              "datePublished": "2024-02-14T15:40-05:00",
              "author": {
                "@type": "Person",
                "name": "Mary Stone",
                "url": "https://example.com/profiles/mary-stone"
              }
            }
          }, {
            "@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",
            "datePublished": "2024-02-14T16:02-05:00",
            "author": {
              "@type": "Person",
              "name": "Joe Cobb",
              "url": "https://example.com/profiles/joe-cobb"
            }
          }
        ]
      }
    }
    </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>
   <meta itemprop="datePublished" content="2024-02-14T15:34-05:00"/>
   <div itemprop="author" itemscope itemtype="https://schema.org/Person">
     <span itemprop="name">Mary Stone</span>
   </div>
<div>
    <div><span itemprop="answerCount">3</span> answers</div>
    <div><span itemprop="upvoteCount">26</span> votes</div>
    <div id="acceptedAnswer" 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>
      <meta itemprop="datePublished" content="2024-02-14T16:34-05:00"/>
      <div itemprop="author" itemscope itemtype="https://schema.org/Person">
        <span itemprop="name">Julius Fernandez</span>
      </div>
      </div>
    <div id="suggestedAnswer1" 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>
       <meta itemprop="datePublished" content="2024-02-14T15:39-05:00"/>
       <div itemprop="author" itemscope itemtype="https://schema.org/Person">
         <span itemprop="name">Kara Weber</span>
       </div>
       <div itemprop="comment" itemscope itemtype="https://schema.org/Comment">
         <div itemprop="text">I'm looking for ounces, not fluid ounces.</div>
         <div itemprop="author" itemscope itemtype="https://schema.org/Person">
           <span itemprop="name">Mary Stone</span>
         </div>
         <meta itemprop="datePublished" content="2024-02-14T15:40-05:00"/>
       </div>
     </div>
     <div id="suggestedAnswer2" 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>
       <meta itemprop="datePublished" content="2024-02-14T16:02-05:00"/>
       <div itemprop="author" itemscope itemtype="https://schema.org/Person">
         <span itemprop="name">Joe Cobb</span>
       </div>
    </div>
</div>
</div>
</body>
</html>

指南規範

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

內容指南

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

    適用的情況

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

    不適用的情況

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

結構化資料類型定義

本節將說明與 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 的完整定義。Google 支援的屬性如下:

必要屬性

answerCount

Integer

問題的答案總數。舉例來說,如果有 15 個答案,但是由於分頁只有前 10 個被標記,則此值為 15。如果問題沒有答案,則此值也可能為 0。answerCount + commentCount 應等於任何類型的回覆總數。

acceptedAnswersuggestedAnswer Answer

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

acceptedAnswer

Answer

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

suggestedAnswer

Answer

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

name

Text

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

建議屬性

author

PersonOrganization

提問作者的相關資訊。為了讓 Google 更瞭解不同內容的作者,建議您遵循作者標記最佳做法

請依照支援的文章資料頁面結構化資料屬性,盡量納入所有合理的作者屬性。

author.url

URL

明確識別問題作者的網頁連結,通常是問答網站的個人資料頁面。建議您使用個人資料頁面結構化資料標記該網頁。

comment

Comment

與該問題相關的留言 (如有)。理想情況下,這些內容並非答案,這通常是關於問題的說明或討論。

commentCount

Integer

此問題的留言數 (如適用)。answerCount + commentCount 應等於任何類型的回覆總數。

dateModified

DateTime

答案的編輯日期和時間 (如適用),採 ISO 8601 格式

datePublished

DateTime

問題的張貼日期和時間,採 ISO 8601 格式

digitalSourceType

IPTCDigitalSourceEnumeration

digitalSourceType 屬性會指出與內容相關聯的數位來源類型 (如適用)。這項屬性特別適合用來區分人類、AI 或其他機器生成的內容。Google 支援下列值:

  • TrainedAlgorithmicMediaDigitalSource:表示內容是由訓練過的模型 (例如 LLM) 建立。
  • AlgorithmicMediaDigitalSource:表示內容是由較簡單的演算法程序 (例如自動回覆機器人) 建立。

如未指定這項屬性,Google 會假設內容是由人類生成。

image

ImageObjectURL

問題中的任何內嵌圖片 (如適用)。如果沒有圖片,請勿在這個欄位加入預設圖片、圖示、預留位置圖片或作者圖片。

text

Text

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

upvoteCount

Integer

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

video

VideoObject

問題中的任何內嵌影片 (如適用)。

Answer

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

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

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

必要屬性

text

Text

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

建議屬性

author

PersonOrganization

答案作者的相關資訊。為了讓 Google 更瞭解不同內容的作者,建議您遵循作者標記最佳做法

請依照支援的文章資料頁面結構化資料屬性,盡量納入所有合理的作者屬性。

author.url

URL

可明確識別答案作者的網頁連結,通常是問答網站的個人資料頁面。建議您使用個人資料頁面結構化資料標記該網頁。

comment

Comment

與答案相關的留言,這通常是關於答案的說明或討論 (如適用)。

commentCount

Integer

此答案的留言數 (如適用)。如果留言並未全數顯示在留言標記中,這項功能就特別實用。

dateModified

DateTime

答案的編輯日期和時間 (如適用),採 ISO 8601 格式

datePublished

DateTime

問題的回答日期和時間,採 ISO 8601 格式

digitalSourceType

IPTCDigitalSourceEnumeration

digitalSourceType 屬性會指出與內容相關聯的數位來源類型 (如適用)。這項屬性特別適合用來區分人類、AI 或其他機器生成的內容。Google 支援下列值:

  • TrainedAlgorithmicMediaDigitalSource:表示內容是由訓練過的模型 (例如 LLM) 建立。
  • AlgorithmicMediaDigitalSource:表示內容是由較簡單的演算法程序 (例如自動回覆機器人) 建立。

如未指定這項屬性,Google 會假設內容是由人類生成。

image

ImageObjectURL

答案中的任何內嵌圖片 (如適用)。如果沒有圖片,請勿在這個欄位加入預設圖片、圖示、預留位置圖片或作者圖片。

upvoteCount

Integer

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

url

URL

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

video

VideoObjectURL

答案中的任何內嵌影片 (如適用)。

Comment

Comment 類型可以視需要用於描述與問題/答案相關的說明或討論,但這些不是問題或答案本身。請在 QuestionAnswer 中,將 Comments 定義為 comment 屬性的值。

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

必要屬性

text

Text

留言全文。如果只標記部分文字,Google 可能無法判定最適合顯示的文字。

建議屬性

author

PersonOrganization

留言作者的相關資訊。為了讓 Google 更瞭解不同內容的作者,建議您遵循作者標記最佳做法

請依照支援的文章資料頁面結構化資料屬性,盡量納入所有合理的作者屬性。

author.url

URL

可明確識別留言作者的網頁連結,通常是問答網站的個人資料頁面。建議您使用個人資料頁面結構化資料標記該網頁。

comment

Comment

具有巢狀結構包含個別留言回覆的留言串 (如適用)。

commentCount

Integer

與這則留言相關的留言數 (如適用)。如果留言並未全數顯示在留言標記中,這項功能就特別實用。

dateModified

DateTime

留言的編輯日期和時間 (如適用),採 ISO 8601 格式

datePublished

DateTime

留言的撰寫日期和時間,採 ISO 8601 格式

digitalSourceType

IPTCDigitalSourceEnumeration

digitalSourceType 屬性會指出與內容相關聯的數位來源類型 (如適用)。這項屬性特別適合用來區分人類、AI 或其他機器生成的內容。Google 支援下列值:

  • TrainedAlgorithmicMediaDigitalSource:表示內容是由訓練過的模型 (例如 LLM) 建立。
  • AlgorithmicMediaDigitalSource:表示內容是由較簡單的演算法程序 (例如自動回覆機器人) 建立。

如未指定這項屬性,Google 會假設內容是由人類生成。

image

ImageObjectURL

註解中的內嵌圖片 (如適用)。如果沒有圖片,請勿在這個欄位加入預設圖片、圖示、預留位置圖片或作者圖片。

video

VideoObjectURL

留言中的任何內嵌圖片 (如適用)。

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

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

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

首次部署結構化資料後

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

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

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

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

定期分析流量

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

疑難排解

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

  • 如果您使用內容管理系統 (CMS) 或者有他人代您處理網站事務,請向對方尋求協助。請務必將所有與問題相關的 Search Console 訊息都轉寄給對方,這些訊息會針對問題提供詳細說明。
  • Google 不保證採用結構化資料的功能一定會顯示在搜尋結果中。如要瞭解為何 Google 無法將您的內容顯示為複合式搜尋結果,請參閱結構化資料通用指南裡的常見原因清單。
  • 結構化資料可能含有錯誤。請查看結構化資料錯誤清單無法剖析的結構化資料報告
  • 如果您的網頁遭到結構化資料人工判決處罰,系統會忽略網頁上的結構化資料,但該網頁仍然會出現在 Google 搜尋結果中。請使用人工判決處罰報告來修正結構化資料問題
  • 再次查看指南規範,確認您的內容是否符合規定。問題可能是因為垃圾內容或不當使用的標記所引起。不過,因為問題可能與語法無關,所以複合式搜尋結果測試無法找出問題所在。
  • 參閱「疑難排解:未出現複合式搜尋結果/複合式搜尋結果總數減少」。
  • 請等待一段時間,讓系統執行重新檢索和重新建立索引作業。在發布網頁後,Google 可能需要幾天時間才會找到網頁並進行檢索。如有關於檢索和索引建立作業的一般問題,請參閱 Google 搜尋檢索和索引常見問題
  • 前往 Google 搜尋中心論壇發文提問。