Hỏi đáp

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 hiển thị 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 Tìm kiếm. Sau đây là một ví dụ về kết quả mà bạn có thể thấy cho cụm từ tìm kiếm "Làm cách nào để tháo cáp bị kẹt khỏi 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 đó:

Một ví dụ trong kết quả tìm kiếm cho một thẻ câu hỏi và câu trả lời

Ngoài việc giúp nội dung của bạn hiển thị dưới dạng kết quả nhiều định dạng như trên, việc đánh dấu 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. Trong ví dụ trên, nội dung từ 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 được hiển thị.

Cách thêm dữ liệu có cấu trúc

Dữ liệu có cấu trúc là một định dạng chuẩn để cung cấp thông tin về một trang và phân loại nội dung trang. Nếu mới sử dụng dữ liệu có cấu trúc, bạn có thể tìm hiểu thêm về cách hoạt động của dữ liệu có cấu trúc.

Dưới đây là thông tin tổng quan về cách xây dựng, kiểm tra và phát hành dữ liệu có cấu trúc. Để biết hướng dẫn từng bước về cách thêm dữ liệu có cấu trúc vào một trang web, hãy xem lớp học mã về dữ liệu có cấu trúc.

  1. Thêm thuộc tính bắt buộc. Để biết thông tin về nơi để đặt dữ liệu có cấu trúc trên trang, hãy xem Dữ liệu có cấu trúc JSON-LD: Vị trí chèn dữ liệu vào trang.
  2. Làm theo các nguyên tắc.
  3. Xác thực mã của bạn bằng công cụ Kiểm tra kết quả nhiều định dạng.
  4. Triển khai một vài trang có chứa dữ liệu có cấu trúc và dùng Công cụ kiểm tra URL để kiểm tra xem Google nhìn thấy trang đó như thế nào. Hãy đảm bảo rằng Google có thể truy cập trang của bạn và bạn không chặn trang bằng tệp robots.txt, thẻ noindex hoặc yêu cầu đăng nhập. Nếu trang có vẻ không gặp vấn đề nào, bạn có thể yêu cầu Google thu thập lại dữ liệu đối với các URL này.
  5. Để thông báo cho Google về các thay đổi sau này, bạn nên gửi sơ đồ trang web. Bạn có thể tự động hóa quy trình này bằng cách sử dụng API sơ đồ trang web của Search Console.

Ví dụ

Ví dụ về mã đánh dấu sau đây bao gồm định nghĩa các loại 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,
        "dateCreated": "2016-07-23T21:11Z",
        "author": {
          "@type": "Person",
          "name": "New Baking User"
        },
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "1 pound (lb) is equal to 16 ounces (oz).",
          "dateCreated": "2016-11-02T21:11Z",
          "upvoteCount": 1337,
          "url": "https://example.com/question1#acceptedAnswer",
          "author": {
            "@type": "Person",
            "name": "SomeUser"
          }
        },
        "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.",
            "dateCreated": "2016-11-02T21:11Z",
            "upvoteCount": 42,
            "url": "https://example.com/question1#suggestedAnswer1",
            "author": {
              "@type": "Person",
              "name": "AnotherUser"
            }
          }, {
            "@type": "Answer",
            "text": " I can't remember exactly, but I think 18 ounces in a lb. You might want to double check that.",
            "dateCreated": "2016-11-06T21:11Z",
            "upvoteCount": 0,
            "url": "https://example.com/question1#suggestedAnswer2",
            "author": {
              "@type": "Person",
              "name": "ConfusedUser"
            }
          }
        ]
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>
Microdata

<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>asked <time itemprop="dateCreated" datetime="2010-11-04T20:07Z">Nov 11
'10 at 20:07</time></div>
<div itemprop="author" itemscope itemtype="https://schema.org/Person"><span
itemprop="name">New Baking User</span></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>answered <time itemprop="dateCreated" datetime="2010-12-01T22:01Z">Dec 1 '10 at 22:01</time></div>
      <div itemprop="author" itemscope itemtype="https://schema.org/Person"><span itemprop="name">SomeUser</span></div>
      </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>answered <time itemprop="dateCreated"datetime="2010-12-06T21:11Z">Dec 6 '10 at 21:11</time></div>
       <div itemprop="author" itemscope itemtype="https://schema.org/Person"><span
itemprop="name">AnotherUser</span></div>
     </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>answered <time itemprop="dateCreated"datetime="2010-12-06T21:11Z">Dec 6 '10 at 21:11</time></div>
       <div itemprop="author" itemscope itemtype="https://schema.org/Person"><span
itemprop="name">ConfusedUser</span></div>
    </div>
</div>
</div>
</body>
</html>

Nguyên tắc

Để trang Hỏi đáp của bạn đủ điều kiện hiển thị 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âu trả lời.
  • Phải cho phép người dùng có thể gửi câu trả lời cho câu hỏi. Khô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 giải đáp một vấn đề
    • Bài đăng trên blog nhằm giải đáp một vấn đề
    • Bài viết nhằm giải đáp một vấn đề
  • Khô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.
  • Khô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.
  • Khô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. Không đánh dấu thẻ Answer đối với các bình luận không phải là câu trả lời.
  • Nội dung câu hỏi và câu trả lời có thể không được hiển thị dưới dạng kết quả nhiều định dạng nếu có chứa bất kỳ loại nội dung nào 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 đáp liên quan đến phương pháp giáo dục STEM, tập trung chủ yếu vào việc cung cấp 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à thì có thể đủ điều kiện cho trải nghiệm băng chuyền Hỏi đáp. Các trang này có thể 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 đưa vào các thuộc tính bắt buộc để nội dung của mình đủ điều kiện hiển thị 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. Chỉ nên có một định nghĩa loại QAPage trên mỗi trang.

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. Chỉ nên có một định nghĩa loại Question trên mỗi trang.

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

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 hiển thị 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 – dù 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 đại diện cho các 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 nên 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 được, 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

Người đặt câu hỏi.

dateCreated

Date hoặc DateTime

Ngày mà câu hỏi được thêm vào trang, ở định dạng ISO-8601.

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ê. Một 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.

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 loại 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 được hiển thị 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

Người đưa ra câu trả lời.

dateCreated

Date hoặc DateTime

Ngày mà câu trả lời được thêm vào trang, ở định dạng ISO-8601.

upvoteCount

Integer

Tổng số lượt bình chọn mà câu trả lờ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.

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

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 các 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. Kết quả lý tưởng nhất là bạn sẽ thấy sự gia tăng về số trang hợp lệ, đồng thời số lỗi hoặc cảnh báo không tăng. Nếu tìm thấy vấn đề trong dữ liệu có cấu trúc, bạn hãy:

  1. Sửa lỗi.
  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ã của bạn

Khi bạn thực hiện những thay đổi đáng kể cho trang web của mình, hãy theo dõi xem số lỗi và cảnh báo về dữ liệu có cấu trúc có tăng không.
  • Nếu bạn thấy số lỗi 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 một 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ố lỗi không tăng), thì có thể bạn không còn nhúng dữ liệu có cấu trúc trong 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 API Search Console.

Khắc phục sự cố

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