Giới thiệu về mã đánh dấu dữ liệu có cấu trúc trên Google Tìm kiếm

Google Tìm kiếm phải nỗ lực để hiểu được nội dung của một trang. Bạn có thể giúp chúng tôi bằng cách cung cấp gợi ý rõ ràng về ý nghĩa của trang thông qua dữ liệu có cấu trúc trên trang. 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. Ví dụ: trên một trang về công thức nấu ăn sẽ có các loại dữ liệu về nguyên liệu, thời gian nấu và nhiệt độ, lượng calo, v.v.

Tại sao nên thêm dữ liệu có cấu trúc vào trang?

Việc thêm dữ liệu có cấu trúc có thể kích hoạt các kết quả tìm kiếm hấp dẫn người dùng hơn và có thể khuyến khích họ tương tác nhiều hơn với trang web của bạn, còn gọi là kết quả nhiều định dạng. Sau đây là một số nghiên cứu điển hình về các trang web đã triển khai dữ liệu có cấu trúc:

  • Rotten Tomatoes đã thêm dữ liệu có cấu trúc vào 100.000 trang riêng biệt. Nhờ đó, tỷ lệ nhấp của các trang được bổ sung dữ liệu có cấu trúc tăng 25% so với các trang không có dữ liệu có cấu trúc.
  • The Food Network đã triển khai các tính năng tìm kiếm cho 80% số trang của họ và nhận thấy số lượt truy cập tăng 35%.
  • Rakuten nhận thấy rằng người dùng dành thời gian trên các trang đã triển khai dữ liệu có cấu trúc nhiều hơn 1,5 lần so với các trang không thêm dữ liệu có cấu trúc. Ngoài ra, tỷ lệ tương tác cũng cao hơn 3,6 lần trên các trang AMP có các tính năng tìm kiếm so với các trang AMP không có những tính năng này.
  • Nestlé nhận thấy các trang hiển thị dưới dạng kết quả nhiều định dạng trên Google Tìm kiếm có tỷ lệ nhấp cao hơn 82% so với các trang không hiển thị dưới dạng kết quả nhiều định dạng.

Google sử dụng dữ liệu có cấu trúc tìm thấy trên web để hiểu nội dung của trang cũng như thu thập thông tin về web và thế giới nói chung, chẳng hạn như thông tin về con người, sách hoặc công ty có trong mã đánh dấu. Ví dụ: đây là một đoạn trích dữ liệu có cấu trúc JSON-LD có thể xuất hiện trên một trang công thức, trong đó mô tả tên công thức, người nghĩ ra công thức và các chi tiết khác:

<html>
  <head>
    <title>Party Coffee Cake</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Party Coffee Cake",
      "author": {
        "@type": "Person",
        "name": "Mary Stone"
      },
      "datePublished": "2018-03-10",
      "description": "This coffee cake is awesome and perfect for parties.",
      "prepTime": "PT20M"
    }
    </script>
  </head>
  <body>
    <h2>Party coffee cake recipe</h2>
    <p>
      <i>by Mary Stone, 2018-03-10</i>
    </p>
    <p>
      This coffee cake is awesome and perfect for parties.
    </p>
    <p>
      Preparation time: 20 minutes
    </p>
  </body>
</html>

Google Tìm kiếm cũng sử dụng dữ liệu có cấu trúc để kích hoạt các tính năng đặc biệt và nâng cao trong kết quả tìm kiếm. Ví dụ: một trang về công thức nấu ăn có dữ liệu có cấu trúc hợp lệ sẽ đủ điều kiện xuất hiện trong kết quả tìm kiếm dạng đồ hoạ, như minh hoạ bên dưới:

Giao diện tìm kiếm

Kết quả nhiều định dạng về công thức làm bánh táo

Dữ liệu có cấu trúc

<html>
  <head>
    <title>Apple Pie by Grandma</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Apple Pie by Grandma",
      "author": "Elaine Smith",
      "image": "https://images.edge-generalmills.com/56459281-6fe6-4d9d-984f-385c9488d824.jpg",
      "description": "A classic apple pie.",
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": 4.8,
        "reviewCount": 7462,
        "bestRating": 5,
        "worstRating": 1
      },
      "prepTime": "PT30M",
      "totalTime": "PT1H30M",
      "recipeYield": 8,
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "512 calories"
      },
      "recipeIngredient": [
        "1 box refrigerated pie crusts, softened as directed on box",
        "6 cups thinly sliced, peeled apples (6 medium)"
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Vì dữ liệu có cấu trúc gắn nhãn cho từng thành phần riêng trong công thức, người dùng có thể tìm kiếm công thức của bạn theo nguyên liệu, lượng calo, thời gian nấu, v.v.

Dữ liệu có cấu trúc được mã hoá bằng cách sử dụng thẻ đánh dấu trên trang chứa dữ liệu đó. Dữ liệu có cấu trúc trên trang mô tả nội dung của trang đó. Đừng tạo các trang trống chỉ để chứa dữ liệu có cấu trúc và cũng đừng thêm dữ liệu có cấu trúc về thông tin mà người dùng không nhìn thấy, ngay cả khi thông tin đó chính xác. Để biết thêm các nguyên tắc về kỹ thuật và chất lượng, hãy xem Nguyên tắc chung về dữ liệu có cấu trúc.

Công cụ Kiểm tra kết quả nhiều định dạng là một công cụ dễ sử dụng và hữu ích để xác thực dữ liệu có cấu trúc của bạn và xem trước một tính năng của Google Tìm kiếm trong một số trường hợp. Hãy dùng thử:

Từ điển và định dạng dữ liệu có cấu trúc

Tài liệu này mô tả các thuộc tính bắt buộc, đề xuất hoặc không bắt buộc cho những dữ liệu có cấu trúc mang ý nghĩa đặc biệt đối với Google Tìm kiếm. Hầu hết dữ liệu có cấu trúc trên Tìm kiếm đều dùng mã có trên schema.org, nhưng bạn nên coi tài liệu tại Trung tâm Google Tìm kiếm là nguồn tham khảo chính thức về hành vi của Google Tìm kiếm thay vì dựa vào tài liệu của schema.org. Có nhiều thuộc tính và đối tượng trên schema.org mà Google Tìm kiếm không yêu cầu. Tuy nhiên, những thuộc tính hoặc đối tượng đó có thể hữu ích cho các công cụ tìm kiếm, dịch vụ, công cụ và nền tảng khác.

Hãy nhớ kiểm tra dữ liệu có cấu trúc của bạn bằng cách sử dụng công cụ Kiểm tra kết quả nhiều định dạng trong quá trình phát triển. Sau khi triển khai, hãy sử dụng Báo cáo trạng thái kết quả nhiều định dạng để theo dõi tính hợp lệ của các trang vì những trang đó có thể bị hỏng sau khi triển khai do các vấn đề khi đặt mẫu hoặc phân phát.

Bạn phải cung cấp mọi thuộc tính bắt buộc để một đối tượng đủ điều kiện xuất hiện trong Google Tìm kiếm với giao diện nâng cao. Nói chung, việc xác định thêm các tính năng được đề xuất có thể khiến thông tin của bạn dễ xuất hiện hơn trong kết quả Tìm kiếm với giao diện nâng cao. Tuy nhiên, mức độ hoàn thiện và chính xác của các thuộc tính được đề xuất thì quan trọng hơn số lượng mà bạn cung cấp. Do đó, đừng cố gắng cung cấp mọi thuộc tính được đề xuất trong khi dữ liệu lại không đầy đủ, không hợp lệ hoặc không chính xác.

Ngoài các thuộc tính và đối tượng nêu ở đây, Google cũng có thể sử dụng thuộc tính sameAs và những dữ liệu có cấu trúc khác trên schema.org. Có thể một số phần tử trong số này sau này được dùng để kích hoạt các tính năng của Tìm kiếm nếu được đánh giá là hữu ích.

Định dạng được hỗ trợ

Google Tìm kiếm hỗ trợ dữ liệu có cấu trúc ở những định dạng sau đây, trừ trường hợp có quy định khác. Nhìn chung, bạn nên dùng định dạng dễ nhất để triển khai và duy trì (trong hầu hết trường hợp, đó là JSON-LD); Google có thể sử dụng cả 3 định dạng trên, miễn là mã đánh dấu đó hợp lệ và được triển khai đúng cách theo tài liệu của tính năng tương ứng.

Định dạng
JSON-LD* (Nên dùng) Loại ký hiệu JavaScript được nhúng trong thẻ <script> trong các phần tử <head><body> của một trang HTML. Thẻ đánh dấu này không nằm xen kẽ với văn bản mà người dùng nhìn thấy, điều này giúp việc xác định các mục dữ liệu lồng nhau dễ dàng hơn, chẳng hạn như mục Country trong PostalAddress trong MusicVenue của một Event. Ngoài ra, Google có thể đọc dữ liệu JSON-LD khi dữ liệu đó được chèn theo phương thức động vào nội dung của trang, chẳng hạn như qua mã JavaScript hoặc các tiện ích nhúng trong hệ thống quản lý nội dung của bạn.
Vi dữ liệu Đặc tả HTML cộng đồng mở được dùng để lồng dữ liệu có cấu trúc trong nội dung HTML. Giống như RDFa, Vi dữ liệu sử dụng các thuộc tính thẻ HTML để đặt tên cho các thuộc tính bạn muốn cung cấp dưới dạng dữ liệu có cấu trúc. Nó thường được dùng trong phần tử <body>, nhưng cũng có thể được dùng trong phần tử <head>.
RDFa Một tiện ích HTML5 hỗ trợ dữ liệu được liên kết bằng cách sử dụng các thuộc tính thẻ HTML tương ứng với nội dung cho người dùng thấy mà bạn muốn mô tả cho các công cụ tìm kiếm. RDFa thường được sử dụng trong cả phần <head><body> của trang HTML.

Nguyên tắc về dữ liệu có cấu trúc

Hãy làm theo nguyên tắc chung về dữ liệu có cấu trúc cũng như mọi nguyên tắc cụ thể cho loại dữ liệu có cấu trúc mà bạn dùng. Nếu không, dữ liệu có cấu trúc của bạn có thể không đủ điều kiện hiển thị dưới dạng kết quả nhiều định dạng trên Google Tìm kiếm.

Làm quen với dữ liệu có cấu trúc

Nếu bạn mới làm quen với dữ liệu có cấu trúc, hãy tham khảo hướng dẫn của schema.org về dữ liệu có cấu trúc cho người mới bắt đầu. Hướng dẫn này chủ yếu tập trung vào Vi dữ liệu nhưng về cơ bản thì cũng phù hợp với JSON-LD và RDFa. Để xem 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 tham khảo lớp học lập trình về dữ liệu có cấu trúc.

Khi bạn đã thông thạo kiến thức cơ bản về dữ liệu có cấu trúc, hãy khám phá danh sách tính năng của dữ liệu có cấu trúc trên Google Tìm kiếm rồi chọn một tính năng để triển khai. Mỗi hướng dẫn sẽ đi sâu vào cách triển khai dữ liệu có cấu trúc sao cho trang web của bạn đủ điều kiện xuất hiện dưới dạng một kết quả nhiều định dạng trên Google Tìm kiếm.

Chọn tính năng

Đo lường tác động của dữ liệu có cấu trúc

Bạn nên so sánh hiệu suất của những trang có dữ liệu có cấu trúc với những trang không có dữ liệu có cấu trúc để quyết định xem bạn có nên dành công sức cho những dữ liệu đó hay không. Cách thực hiện tốt nhất là chạy quy trình kiểm tra trước và sau khi sử dụng trên một vài trang thuộc trang web của bạn. Điều này có thể hơi phức tạp, vì lượt xem một trang có thể thay đổi vì nhiều lý do đa dạng.

  1. Chọn một số trang trên trang web mà hiện không sử dụng dữ liệu có cấu trúc và có một vài tháng dữ liệu trong Search Console. Đảm bảo chọn các trang không bị ảnh hưởng bởi thời gian trong năm hoặc tính kịp thời của nội dung. Hãy sử dụng các trang sẽ không thay đổi nhiều nhưng vẫn đủ phổ biến để người dùng đọc thường xuyên ở mức tạo ra được dữ liệu có ý nghĩa.
  2. Thêm dữ liệu có cấu trúc hoặc tính năng khác vào các trang của bạn. Dùng công cụ Kiểm tra URL cho trang của bạn để xác nhận mã đánh dấu đã hợp lệ và Google đã tìm thấy dữ liệu có cấu trúc của bạn.
  3. Ghi lại hiệu suất của một vài tháng trong Báo cáo hiệu suất rồi lọc theo URL để so sánh hiệu suất của trang.