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ó).

使用 Search Console 监控富媒体搜索结果

Search Console 是一款工具,可帮助您监控网页在 Google 搜索结果中的显示效果。即使没有注册 Search Console,您的网页也可能会显示在 Google 搜索结果中,但注册 Search Console 能够帮助您了解 Google 如何查看您的网站并做出相应的改进。建议您在以下情况下查看 Search Console:

  1. 首次部署结构化数据后
  2. 发布新模板或更新代码后
  3. 定期分析流量时

首次部署结构化数据后

等 Google 将网页编入索引后,请在相关的富媒体搜索结果状态报告中查看是否存在问题。 理想情况下,有效项目数量会增加,而无效项目数量不会增加。如果您发现结构化数据存在问题,请执行以下操作:

  1. 修正无效项目
  2. 检查实际网址,核实问题是否仍然存在。
  3. 使用状态报告请求验证

发布新模板或更新代码后

如果对网站进行重大更改,请监控结构化数据无效项目的增幅。
  • 如果您发现无效项目增多了,可能是因为您推出的某个新模板无法正常工作,或者您的网站以一种新的错误方式与现有模板交互。
  • 如果您发现有效项目减少了(但无效项目的增加情况并不对应),可能是因为您的网页中未再嵌入结构化数据。请通过网址检查工具了解导致此问题的原因。

定期分析流量时

请使用效果报告分析您的 Google 搜索流量。数据将显示您的网页在 Google 搜索结果中显示为富媒体搜索结果的频率、用户点击该网页的频率以及网页在搜索结果中的平均排名。您还可以使用 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.