Dữ liệu có cấu trúc loại Hỏi và đáp (QAPage)

Hình minh hoạ kết quả nhiều định dạng về câu hỏi và câu trả lời

Trang Hỏi đáp là các trang web chứa dữ liệu ở định dạng câu hỏi và câu trả lời, cụ thể là một câu hỏi kèm theo câu trả lời. Đối với nội dung câu hỏi và câu trả lời, bạn có thể đánh dấu dữ liệu bằng các loại QAPage, QuestionAnswer trên schema.org.

Các trang được đánh dấu đúng cách sẽ đủ điều kiện xuất hiện dưới dạng kết quả nhiều định dạng trên trang kết quả tìm kiếm. Kết quả nhiều định dạng này giúp trang web của bạn tiếp cận đúng người dùng trên Google Tìm kiếm. Ví dụ: bạn có thể thấy kết quả nhiều định dạng cho cụm từ tìm kiếm "Làm cách nào để tháo cáp bị kẹt ở cổng USB?" nếu trang của bạn đã được đánh dấu là chứa câu trả lời cho câu hỏi đó.

Ngoài việc giúp nội dung của bạn xuất hiện dưới dạng kết quả nhiều định dạng như ví dụ trên, việc thêm mã đánh dấu vào trang Hỏi đáp sẽ giúp Google tạo một đoạn trích phù hợp hơn cho trang của bạn. Nội dung trong các câu trả lời có thể xuất hiện trong kết quả cơ bản nếu kết quả nhiều định dạng không xuất hiện.

如何添加结构化数据

结构化数据是一种提供网页相关信息并对网页内容进行分类的标准化格式。如果您不熟悉结构化数据,可以详细了解结构化数据的运作方式

下面概述了如何构建、测试和发布结构化数据。如需获得向网页添加结构化数据的分步指南,请查看结构化数据 Codelab

  1. 添加必要属性。根据您使用的格式,了解在网页上的什么位置插入结构化数据
  2. 遵循指南
  3. 使用富媒体搜索结果测试验证您的代码,并修复所有严重错误。此外,您还可以考虑修正该工具中可能会标记的任何非严重问题,因为这些这样有助于提升结构化数据的质量(不过,要使内容能够显示为富媒体搜索结果,并非必须这么做)。
  4. 部署一些包含您的结构化数据的网页,然后使用网址检查工具测试 Google 看到的网页样貌。请确保您的网页可供 Google 访问,不会因 robots.txt 文件、noindex 标记或登录要求而被屏蔽。如果网页看起来没有问题,您可以请求 Google 重新抓取您的网址
  5. 为了让 Google 随时了解日后发生的更改,我们建议您提交站点地图Search Console Sitemap API 可以帮助您自动执行此操作。

Ví dụ

Ví dụ về mã đánh dấu sau đây có các định nghĩa thuộc kiểu QAPage, QuestionAnswer theo phương thức JSON-LD:

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>
Vi dữ liệu

<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>

Nguyên tắc

Để trang Hỏi đáp của bạn đủ điều kiện xuất hiện dưới dạng kết quả nhiều định dạng, bạn phải tuân theo các nguyên tắc sau:

Nguyên tắc về nội dung

  • Chỉ sử dụng mã đánh dấu QAPage nếu trang của bạn có thông tin ở dạng câu hỏi và câu trả lời, cụ thể là một câu hỏi kèm theo các câu trả lời.
  • Người dùng phải gửi được câu trả lời cho câu hỏi. Đừng sử dụng mã đánh dấu QAPage cho nội dung chỉ có một câu trả lời cho một câu hỏi nhất định mà không có cách nào để người dùng thêm các câu trả lời khác. Thay vào đó, hãy sử dụng FAQPage. Dưới đây là một số ví dụ:

    Các trường hợp sử dụng hợp lệ:

    • Trang diễn đàn mà người dùng có thể gửi nhiều câu trả lời cho một câu hỏi
    • Trang hỗ trợ sản phẩm mà người dùng có thể gửi nhiều câu trả lời cho một câu hỏi

    Các trường hợp sử dụng không hợp lệ:

    • Trang Câu hỏi thường gặp do chính trang web đó cung cấp mà không có cách nào để người dùng gửi câu trả lời thay thế
    • Trang sản phẩm mà người dùng có thể gửi nhiều câu hỏi và câu trả lời trên một trang
    • Bản hướng dẫn cách làm nhằm trả lời một câu hỏi
    • Bài đăng trên blog nhằm trả lời một câu hỏi
    • Bài luận nhằm trả lời một câu hỏi
  • Đừng sử dụng mã đánh dấu QAPage cho tất cả các trang trên trang web hoặc diễn đàn nếu không phải tất cả nội dung đều đủ điều kiện. Ví dụ: Một diễn đàn có thể có nhiều câu hỏi được đăng lên, trong đó từng câu riêng sẽ đủ điều kiện sử dụng mã đánh dấu này. Tuy nhiên, nếu diễn đàn đó cũng có các trang khác không chứa câu hỏi, thì các trang đó không đủ điều kiện.
  • Đừng sử dụng mã đánh dấu QAPage cho các trang Câu hỏi thường gặp hoặc các trang có nhiều câu hỏi trên mỗi trang. Mã đánh dấu QAPage chỉ dành cho các trang tập trung vào một câu hỏi duy nhất cùng các câu trả lời tương ứng.
  • Đừng sử dụng mã đánh dấu QAPage cho mục đích quảng cáo.
  • Đảm bảo mỗi mã đánh dấu Question đều bao gồm toàn văn câu hỏi và đảm bảo mỗi mã đánh dấu Answer đều bao gồm toàn văn câu trả lời.
  • Mã đánh dấu Answer chỉ dành cho các câu trả lời của câu hỏi, chứ không dành cho các bình luận về câu hỏi hay bình luận về các câu trả lời khác. Thay vào đó, hãy sử dụng thuộc tính comment và kiểu Comment cho loại nội dung này.
  • Nội dung câu hỏi và câu trả lời có thể sẽ không xuất hiện dưới dạng kết quả nhiều định dạng nếu có chứa một trong những loại nội dung sau đây: tục tĩu, thô tục, khiêu dâm, hình ảnh bạo lực, quảng bá các hoạt động nguy hiểm hoặc bất hợp pháp, hoặc ngôn từ mang tính thù địch hoặc quấy rối.
  • Các trang hỏi và đáp liên quan đến giáo dục (chủ yếu tập trung vào việc đưa ra câu trả lời chính xác cho câu hỏi của người dùng về bài tập về nhà) có thể đủ điều kiện xuất hiện dưới dạng trải nghiệm băng chuyền Hỏi và đáp. Có thể các trang này chỉ có một câu trả lời do các chuyên gia nội bộ (thay vì người dùng) cung cấp hoặc lựa chọn.
    Ví dụ: Một trang giáo dục trong đó người dùng gửi một câu hỏi và câu trả lời hàng đầu là do các chuyên gia chọn ra.

Định nghĩa các loại dữ liệu có cấu trúc

Phần này mô tả các loại dữ liệu có cấu trúc liên quan đến mã đánh dấu QAPage.

Bạn phải thêm các thuộc tính bắt buộc để nội dung của mình đủ điều kiện xuất hiện dưới dạng kết quả nhiều định dạng. Bạn cũng có thể sử dụng các thuộc tính nên có để bổ sung thông tin vào dữ liệu có cấu trúc nhằm mang lại trải nghiệm tốt hơn cho người dùng.

Bạn có thể sử dụng công cụ Kiểm tra kết quả nhiều định dạng của Google để xác thực và xem trước dữ liệu có cấu trúc của mình.

QAPage

Loại QAPage cho biết rằng trang này tập trung vào một câu hỏi cụ thể cùng (các) câu trả lời tương ứng. Chúng tôi sẽ chỉ sử dụng dữ liệu có cấu trúc Question trên các trang có mã đánh dấu QAPage. Mỗi trang chỉ được phép có một định nghĩa cho loại QAPage.

Bạn có thể xem định nghĩa đầy đủ của QAPage tại https://schema.org/QAPage.

Bảng sau đây mô tả các thuộc tính của loại QAPage mà Google Tìm kiếm sử dụng.

Thuộc tính bắt buộc

mainEntity

Question

Question cho trang này phải được lồng trong thuộc tính mainEntity của mục QAPage.

Question

Loại Question xác định câu hỏi mà trang này trả lời và bao gồm các câu trả lời (nếu có) cho câu hỏi đó. Bạn chỉ nên cung cấp đúng một loại Question trên trang, lồng trong thuộc tính mainEntity của schema.org/QAPage. Mỗi trang chỉ được phép có một định nghĩa cho loại Question.

Bạn có thể xem định nghĩa đầy đủ về Question tại https://schema.org/Question. Sau đây là các thuộc tính được Google hỗ trợ:

Thuộc tính bắt buộc

answerCount

Integer

Tổng số câu trả lời cho câu hỏi. Ví dụ: Nếu có 15 câu trả lời, nhưng chỉ có 10 câu đầu tiên được đánh dấu do việc phân trang, thì giá trị này sẽ là 15. Giá trị này cũng có thể là 0 đối với các câu hỏi không có câu trả lời.

acceptedAnswer hoặc suggestedAnswer Answer

Để đủ điều kiện xuất hiện dưới dạng kết quả nhiều định dạng, một câu hỏi phải có ít nhất một câu trả lời – có thể là acceptedAnswer hay suggestedAnswer. Tuy nhiên, câu hỏi có thể chưa có câu trả lời khi vừa mới đăng. Đối với các câu hỏi chưa có câu trả lời, hãy đặt thuộc tính answerCount thành 0. Các câu hỏi không có câu trả lời sẽ không đủ điều kiện cho kết quả nhiều định dạng.

acceptedAnswer

Answer

Câu trả lời hàng đầu cho câu hỏi. Có thể không có hoặc có nhiều câu trả lời loại này cho mỗi câu hỏi. Thuộc tính này phải đại diện cho những câu trả lời được chấp nhận theo cách nào đó trên trang web của bạn. Ví dụ: Người đặt câu hỏi, người kiểm duyệt hoặc hệ thống bình chọn đã chấp nhận đó là câu trả lời hàng đầu. Bạn không được sử dụng các hình thức sắp xếp câu trả lời khác (chẳng hạn như câu trả lời gần đây nhất) để xác định câu trả lời hàng đầu.

suggestedAnswer

Answer

Một câu trả lời tạm ổn, nhưng chưa được chấp nhận là câu trả lời hàng đầu (acceptedAnswer). Có thể không có hoặc có nhiều câu trả lời loại này cho mỗi câu hỏi.

name

Text

Toàn văn câu hỏi ở dạng ngắn. Ví dụ: "Một cốc tương đương với bao nhiêu muỗng cà phê?".

Thuộc tính nên có

author

Person hoặc Organization

Thông tin về tác giả của câu hỏi. Để giúp Google hiểu rõ về tác giả trên nhiều khía cạnh, bạn nên làm theo các phương pháp hay nhất về mã đánh dấu tác giả.

Dựa vào các thuộc tính được hỗ trợ trong dữ liệu có cấu trúc về bài viếttrang hồ sơ, hãy cung cấp càng nhiều thuộc tính phù hợp với tác giả càng tốt.

author.url

URL

Đường liên kết đến một trang web xác định duy nhất tác giả của câu hỏi, rất có thể là một trang hồ sơ trên trang web Hỏi và đáp. Bạn nên đánh dấu trang đó bằng dữ liệu có cấu trúc loại trang hồ sơ.

comment

Comment

Một bình luận liên quan đến câu hỏi, nếu có. Lý tưởng nhất là nội dung này không phải là câu trả lời, mà thường được dùng để làm rõ hoặc thảo luận về câu hỏi.

dateModified

DateTime

Ngày giờ chỉnh sửa câu trả lời, ở định dạng ISO 8601 (nếu có).

datePublished

DateTime

Ngày giờ đăng câu hỏi, ở định dạng ISO 8601.

image

ImageObject hoặc URL

Mọi hình ảnh cùng dòng ở trong câu hỏi (nếu có).

text

Text

Toàn văn câu hỏi ở dạng dài. Ví dụ: "Tôi đang nấu ăn, tôi muốn biết một cốc đong thì bằng bao nhiêu muỗng cà phê. 1 cốc tương đương với bao nhiêu muỗng cà phê?"

upvoteCount

Integer

Tổng số lượt bình chọn mà câu hỏi này đã nhận được. Nếu trang hỗ trợ tính năng tán thành và phản đối, thì hãy đặt giá trị upvoteCount thành một giá trị tổng hợp duy nhất đại diện cho cả số lượt tán thành và phản đối. Ví dụ: nếu có 5 lượt tán thành và 2 lượt phản đối, thì giá trị tổng hợp cho upvoteCount sẽ là 3. Nếu có 5 lượt tán thành nhưng trang không hỗ trợ tính năng phản đối, thì giá trị của upvoteCount sẽ là 5.

video

VideoObject

Mọi video cùng dòng ở trong câu hỏi (nếu có).

Answer

Loại Answer xác định các câu trả lời được đề xuất và được chấp nhận cho Question trên trang này. Hãy định nghĩa loại Answers bên trong loại Question, dưới dạng các giá trị cho thuộc tính suggestedAnsweracceptedAnswer.

Bảng sau đây mô tả các thuộc tính của loại Answer dùng trong Question.

Bạn có thể xem định nghĩa đầy đủ của Answer tại https://schema.org/Answer.

Thuộc tính bắt buộc

text

Text

Toàn văn câu trả lời. Nếu chỉ có một phần được đánh dấu, thì nội dung của bạn có thể không xuất hiện và Google không thể xác định văn bản phù hợp nhất để hiển thị.

Thuộc tính nên có

author

Person hoặc Organization

Thông tin về tác giả của câu trả lời. Để giúp Google hiểu rõ về tác giả trên nhiều khía cạnh, bạn nên làm theo các phương pháp hay nhất về mã đánh dấu tác giả.

Dựa vào các thuộc tính được hỗ trợ trong dữ liệu có cấu trúc về bài viếttrang hồ sơ, hãy cung cấp càng nhiều thuộc tính phù hợp với tác giả càng tốt.

author.url

URL

Đường liên kết đến một trang web xác định duy nhất tác giả của câu trả lời, rất có thể là một trang hồ sơ trên trang web Hỏi và đáp đó. Bạn nên đánh dấu trang đó bằng dữ liệu có cấu trúc loại trang hồ sơ.

comment

Comment

Một bình luận liên quan đến câu trả lời, thường là nội dung được dùng để làm rõ hoặc thảo luận về câu trả lời (nếu có).

dateModified

DateTime

Ngày giờ chỉnh sửa câu trả lời, ở định dạng ISO 8601 (nếu có).

datePublished

DateTime

Ngày giờ câu hỏi được trả lời, ở định dạng ISO 8601.

image

ImageObject hoặc URL

Mọi hình ảnh cùng dòng ở trong câu hỏi (nếu có).

upvoteCount

Integer

Tổng số lượt bình chọn mà câu trả lời này đã nhận được (nếu có). Nếu trang hỗ trợ tính năng tán thành và phản đối, thì hãy đặt giá trị upvoteCount thành một giá trị tổng hợp duy nhất đại diện cho cả số lượt tán thành và phản đối. Ví dụ: nếu có 5 lượt tán thành và 2 lượt phản đối, thì giá trị tổng hợp cho upvoteCount sẽ là 3. Nếu có 5 lượt tán thành nhưng trang không hỗ trợ tính năng phản đối, thì giá trị của upvoteCount sẽ là 5.

url

URL

URL liên kết trực tiếp đến câu trả lời này. Ví dụ: https://www.examplesite.com/question#answer1

video

VideoObject hoặc URL

Mọi video cùng dòng ở trong câu trả lời (nếu có).

Comment

Nếu muốn, bạn có thể sử dụng loại Comment để mô tả nội dung làm rõ hoặc thảo luận về câu hỏi hoặc câu trả lời mà không phải là câu hỏi hoặc câu trả lời. Hãy định nghĩa Comments bên trong Question hoặc Answer dưới dạng các giá trị cho thuộc tính comment.

Bạn có thể xem định nghĩa đầy đủ về Comment tại https://schema.org/Comment.

Thuộc tính bắt buộc

text

Text

Toàn văn nội dung bình luận. Nếu chỉ có một phần được đánh dấu, Google có thể không xác định được văn bản nào là phù hợp nhất để hiển thị.

Thuộc tính nên có

author

Person hoặc Organization

Thông tin về tác giả của bình luận. Để giúp Google hiểu rõ về tác giả trên nhiều khía cạnh, bạn nên làm theo các phương pháp hay nhất về mã đánh dấu tác giả.

Dựa vào các thuộc tính được hỗ trợ trong dữ liệu có cấu trúc về bài viếttrang hồ sơ, hãy cung cấp càng nhiều thuộc tính phù hợp với tác giả càng tốt.

author.url

URL

Đường liên kết đến một trang web xác định duy nhất tác giả của nhận xét, rất có thể là một trang hồ sơ trên trang web Hỏi và đáp đó. Bạn nên đánh dấu trang đó bằng dữ liệu có cấu trúc loại trang hồ sơ.

comment

Comment

Một bình luận theo luồng, được lồng ghép và phản hồi bình luận đó (nếu có).

dateModified

DateTime

Ngày giờ chỉnh sửa bình luận, ở định dạng ISO 8601 (nếu có).

datePublished

DateTime

Ngày giờ viết bình luận, ở định dạng ISO 8601.

image

ImageObject hoặc URL

Mọi hình ảnh cùng dòng ở trong bình luận (nếu có).

video

VideoObject hoặc URL

Mọi video cùng dòng ở trong bình luận (nếu có).

Theo dõi kết quả nhiều định dạng bằng Search Console

Search Console là công cụ giúp bạn theo dõi hiệu quả hoạt động của các trang web trong Google Tìm kiếm. Bạn không cần đăng ký sử dụng Search Console để đưa trang web vào Google Tìm kiếm, nhưng việc làm vậy có thể giúp bạn hiểu và cải thiện cách Google nhìn thấy trang web của bạn. Bạn nên kiểm tra Search Console trong những trường hợp sau:

  1. Sau lần đầu triển khai dữ liệu có cấu trúc
  2. Sau khi phát hành mẫu mới hoặc cập nhật mã của bạn
  3. Phân tích lưu lượng truy cập định kỳ

Sau lần đầu triển khai dữ liệu có cấu trúc

Sau khi Google lập chỉ mục các trang của bạn, hãy tìm vấn đề bằng cách sử dụng Báo cáo trạng thái kết quả nhiều định dạng có liên quan. Lý tưởng nhất là số mục hợp lệ tăng lên và số mục không hợp lệ không tăng. Nếu bạn tìm thấy vấn đề trong dữ liệu có cấu trúc:

  1. Sửa các mục không hợp lệ.
  2. Kiểm tra URL đang hoạt động để xem vấn đề còn tồn tại không.
  3. Yêu cầu xác thực bằng cách sử dụng báo cáo trạng thái.

Sau khi phát hành các mẫu mới hoặc cập nhật mã

Khi bạn thực hiện những thay đổi đáng kể trên trang web của mình, hãy theo dõi xem số lượng mục dữ liệu có cấu trúc không hợp lệ có tăng lên hay không.
  • Nếu bạn thấy số mục không hợp lệ gia tăng, thì có lẽ bạn đã triển khai một mẫu mới không hoạt động được hoặc trang web của bạn tương tác với mẫu hiện có theo cách mới và không hợp lệ.
  • Nếu bạn thấy số mục hợp lệ giảm (nhưng số mục không hợp lệ không tăng), thì có thể bạn không còn nhúng dữ liệu có cấu trúc trên các trang của mình nữa. Hãy sử dụng Công cụ kiểm tra URL để tìm hiểu nguyên nhân gây ra vấn đề.

Phân tích lưu lượng truy cập định kỳ

Phân tích lưu lượng truy cập bạn nhận được qua Google Tìm kiếm bằng cách sử dụng Báo cáo hiệu suất. Dữ liệu báo cáo sẽ cho bạn biết bạn tần suất trang web xuất hiện dưới dạng kết quả nhiều định dạng trong Tìm kiếm, tần suất người dùng nhấp vào trang và vị trí trung bình của trang trong kết quả tìm kiếm. Bạn cũng có thể tự động lấy các kết quả này bằng Search Console API.

Khắc phục sự cố

Nếu gặp sự cố khi triển khai hoặc gỡ lỗi dữ liệu có cấu trúc, thì bạn có thể tham khảo một số tài nguyên trợ giúp sau đây.