Dữ liệu có cấu trúc Hướng dẫn (HowTo)

Bạn có thể sử dụng dữ liệu có cấu trúc HowTo để thông báo rõ ràng cho Google rằng nội dung của bạn là hướng dẫn. Hướng dẫn là loại kết quả chỉ cho người dùng cách thực hiện một nhóm các bước để hoàn tất một nhiệm vụ, có thể bao gồm cả video, hình ảnh và văn bản. Ví dụ: "Cách thắt cà vạt" hoặc "Cách ốp gạch tường bếp". Nếu hướng dẫn của bạn gồm nhiều bước và phải đọc từng bước theo trình tự, thì khả năng cao là dữ liệu có cấu trúc HowTo có thể giúp ích cho nội dung của bạn. Dữ liệu có cấu trúc HowTo chỉ phù hợp khi nội dung chính trên trang là nội dung hướng dẫn.

Những trang hướng dẫn được đánh dấu đúng cách có thể đủ điều kiện hiển thị dưới dạng kết quả nhiều định dạng trên Tìm kiếm và dưới dạng Hành động trên Trợ lý Google. Nhờ đó, trang web của bạn có thể tiếp cận đúng đối tượng người dùng.

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 trên trang. Nếu mới làm quen với dữ liệu có cấu trúc, bạn có thể tìm hiểu thêm về cách thức hoạt động của dữ liệu có cấu trúc.

Sau đâ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. Để 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.

  1. Thêm các thuộc tính bắt buộc. Tùy theo định dạng bạn đang sử dụng, hãy tìm hiểu nơi chèn dữ liệu có cấu trúc trên trang.
  2. Tuân 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 rồi sửa mọi lỗi nghiêm trọng. Bạn cũng nên cân nhắc việc khắc phục mọi vấn đề không nghiêm trọng có thể bị gắn cờ trong công cụ này, vì những vấn đề này có thể giúp cải thiện chất lượng của dữ liệu có cấu trúc của bạn (tuy nhiên, bạn không nhất thiết thực hiện việc này để nội dung đủ điều kiện xuất hiện dưới dạng 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à sử 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 có vẻ như trang 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 các URL của mình.
  5. Để thông báo cho Google về các thay đổi sau này, bạn nên gửi một sơ đồ trang web. Bạn có thể tự động hoá quy trình này bằng Search Console Sitemap API.

Phạm vi cung cấp tính năng

Hiện tại, Google cung cấp kết quả nhiều định dạng về nội dung hướng dẫn bằng mọi ngôn ngữ và ở mọi quốc gia có Google Tìm kiếm. Người dùng có thể sử dụng tính năng này trên thiết bị di động và máy tính.

Ví dụ

Dưới đây là một số ví dụ về cách nội dung của bạn có thể xuất hiện trong kết quả nhiều định dạng về nội dung Hướng dẫn. Kết quả nhiều hình ảnh hơn có thể được hiển thị nếu nội dung hướng dẫn của bạn chứa hình ảnh của toàn bộ hướng dẫn và một hình ảnh cho mỗi bước. Hãy nhớ thêm càng nhiều thuộc tính bắt buộc và nên có càng tốt để hướng dẫn của bạn được giới thiệu theo cách hiệu quả nhất trong Google Tìm kiếm.

Kết quả nhiều định dạng về nội dung Hướng dẫn (loại thông thường)

Kết quả nhiều định dạng về nội dung Hướng dẫn (loại thông thường) trong Google Tìm kiếm
JSON-LD

Dưới đây là ví dụ về trang hướng dẫn dựa trên văn bản bằng JSON-LD. Ví dụ chỉ có một hình ảnh thể hiện trạng thái cuối cùng của hướng dẫn. Trong kết quả này, người dùng có thể xem trước nội dung cho một số bước.


<html>
  <head>
    <title>How to tile a kitchen backsplash</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "HowTo",
      "name": "How to tile a kitchen backsplash",
      "image": {
        "@type": "ImageObject",
        "url": "https://example.com/photos/1x1/photo.jpg",
        "height": "406",
        "width": "305"
      },
      "estimatedCost": {
        "@type": "MonetaryAmount",
        "currency": "USD",
        "value": "100"
      },
      "supply": [
        {
          "@type": "HowToSupply",
          "name": "tiles"
        }, {
          "@type": "HowToSupply",
          "name": "thin-set mortar"
        }, {
          "@type": "HowToSupply",
          "name": "tile grout"
        }, {
          "@type": "HowToSupply",
          "name": "grout sealer"
        }
      ],
      "tool": [
        {
          "@type": "HowToTool",
          "name": "notched trowel"
        }, {
          "@type": "HowToTool",
          "name": "bucket"
        },{
          "@type": "HowToTool",
          "name": "large sponge"
        }
      ],
      "step": [
        {
          "@type": "HowToStep",
          "url": "https://example.com/kitchen#step1",
          "name": "Prepare the surfaces",
          "itemListElement": [{
            "@type": "HowToDirection",
            "text": "Turn off the power to the kitchen and then remove everything that is on the wall, such as outlet covers, switchplates, and any other item in the area that is to be tiled."
          }, {
            "@type": "HowToDirection",
            "text": "Then clean the surface thoroughly to remove any grease or other debris and tape off the area."
          }],
          "image": {
            "@type": "ImageObject",
            "url": "https://example.com/photos/1x1/photo-step1.jpg",
            "height": "406",
            "width": "305"
          }
        }, {
          "@type": "HowToStep",
          "name": "Plan your layout",
          "url": "https://example.com/kitchen#step2",
          "itemListElement": [{
            "@type": "HowToTip",
            "text": "The creases created up until this point will be guiding lines for creating the four walls of your planter box."
          }, {
            "@type": "HowToDirection",
            "text": "Lift one side at a 90-degree angle, and fold it in place so that the point on the paper matches the other two points already in the center."
          }, {
            "@type": "HowToDirection",
            "text": "Repeat on the other side."
          }],
          "image": {
            "@type": "ImageObject",
            "url": "https://example.com/photos/1x1/photo-step2.jpg",
            "height": "406",
            "width": "305"
          }
        }, {
          "@type": "HowToStep",
          "name": "Prepare your and apply mortar (or choose adhesive tile)",
          "url": "https://example.com/kitchen#step3",
          "itemListElement": [{
            "@type": "HowToDirection",
            "text": "Follow the instructions on your thin-set mortar to determine the right amount of water to fill in your bucket. Once done, add the powder gradually and make sure it is thoroughly mixed."
          }, {
            "@type": "HowToDirection",
            "text": "Once mixed, let it stand for a few minutes before mixing it again. This time do not add more water. Double check your thin-set mortar instructions to make sure the consistency is right."
          }, {
            "@type": "HowToDirection",
            "text": "Spread the mortar on a small section of the wall with a trowel."
          }, {
            "@type": "HowToTip",
            "text": "Thinset and other adhesives set quickly so make sure to work in a small area."
          }, {
            "@type": "HowToDirection",
            "text": "Once it's applied, comb over it with a notched trowel."
          }],
          "image": {
            "@type": "ImageObject",
            "url": "https://example.com/photos/1x1/photo-step3.jpg",
            "height": "406",
            "width": "305"
          }
        }, {
          "@type": "HowToStep",
          "name": "Add your tile to the wall",
          "url": "https://example.com/kitchen#step4",
          "itemListElement": [{
            "@type": "HowToDirection",
            "text": "Place the tile sheets along the wall, making sure to add spacers so the tiles remain lined up."
          }, {
            "@type": "HowToDirection",
            "text": "Press the first piece of tile into the wall with a little twist, leaving a small (usually one-eight inch) gap at the countertop to account for expansion. use a rubber float to press the tile and ensure it sets in the adhesive."
          }, {
            "@type": "HowToDirection",
            "text": "Repeat the mortar and tiling until your wall is completely tiled, Working in small sections."
          }],
          "image": {
            "@type": "ImageObject",
            "url": "https://example.com/photos/1x1/photo-step4.jpg",
            "height": "406",
            "width": "305"
          }
        }, {
          "@type": "HowToStep",
          "name": "Apply the grout",
          "url": "https://example.com/kitchen#step5",
          "itemListElement": [{
            "@type": "HowToDirection",
            "text": "Allow the thin-set mortar to set. This usually takes about 12 hours. Don't mix the grout before the mortar is set, because you don't want the grout to dry out!"
          }, {
            "@type": "HowToDirection",
            "text": "To apply, cover the area thoroughly with grout and make sure you fill all the joints by spreading it across the tiles vertically, horizontally, and diagonally. Then fill any remaining voids with grout."
          }, {
            "@type": "HowToDirection",
            "text": "Then, with a moist sponge, sponge away the excess grout and then wipe clean with a towel. For easier maintenance in the future, think about applying a grout sealer."
          }],
          "image": {
            "@type": "ImageObject",
            "url": "https://example.com/photos/1x1/photo-step5.jpg",
            "height": "406",
            "width": "305"
          }
        }
      ],
      "totalTime": "P2D"
    }
    </script>
  </head>
  <body>
  </body>
</html>
Microdata (vi dữ liệu)

Dưới đây là ví dụ về trang hướng dẫn dựa trên văn bản bằng Microdata. Ví dụ chỉ có một hình ảnh thể hiện trạng thái cuối cùng của hướng dẫn. Trong kết quả này, người dùng có thể xem trước nội dung cho một số bước.


<html>
<head>
<title>How to tile a kitchen backsplash</title>
</head>
<body>
<div itemscope itemtype="https://schema.org/HowTo">
  <b><span itemprop="name">How to tile a kitchen backsplash</span></b>
  <div>About <span itemprop="estimatedCost" itemscope itemtype="https://schema.org/MonetaryAmount">
    <meta itemprop="currency" content="USD"/>
    <meta itemprop="value" content="100"/>
    $100
  </span>
  </div>
  <div>About <span itemprop="totalTime" content="P2D">2 days</span></div>
  <div>Necessary Items:</div>
  <div itemprop="supply" itemscope itemtype="https://schema.org/HowToSupply">
    <a itemprop="url" href="https://example.com/supplies?id=1">
      <span itemprop="name">tiles</span>
    </a>
    <img alt="Blue kitchen tiles with scalloped edges" itemprop="image" src="https://example.com/photos/1x1/photo.jpg"/>
  </div>
  <div itemprop="supply" itemscope itemtype="https://schema.org/HowToSupply">
    <a itemprop="url" href="https://example.com/supplies?id=2">
      <span itemprop="name">thin-set mortar</span>
    </a>
    <img alt="Thin-set mortar" itemprop="image"
         src="https://example.com/photos/1x1/photo.jpg"/>
  </div>
  <div itemprop="supply" itemscope itemtype="https://schema.org/HowToSupply">
    <a itemprop="url" href="https://example.com/supplies?id=3">
      <span itemprop="name">tile grout</span>
    </a>
    <img alt="White tile grout" itemprop="image"
         src="https://example.com/photos/1x1/photo.jpg"/>
  </div>
  <div itemprop="supply" itemscope itemtype="https://schema.org/HowToSupply">
    <a itemprop="url" href="https://example.com/supplies?id=4">
      <span itemprop="name">grout sealer</span>
    </a>
    <img alt="Grout sealer" itemprop="image"
         src="https://example.com/photos/1x1/photo.jpg"/>
  </div>
  <div itemprop="tool" itemscope itemtype="https://schema.org/HowToTool">
    <a itemprop="url" href="https://example.com/supplies?id=5">
      <span itemprop="name">notched trowel</span>
    </a>
    <img alt="Notched trowel with a red handle" itemprop="image"
         src="https://example.com/photos/1x1/photo.jpg"/>
  </div>
  <div itemprop="tool" itemscope itemtype="https://schema.org/HowToTool">
    <a itemprop="url" href="https://example.com/tools?id=6">
      <span itemprop="name">bucket</span>
    </a>
    <img alt="Medium-sized blue bucket" itemprop="image" src="https://example.com/photos/1x1/photo.jpg"/>
  </div>
  <div itemprop="tool" itemscope itemtype="https://schema.org/HowToTool">
    <a itemprop="url" href="https://example.com/tools?id=7">
      <span itemprop="name">large sponge</span>
    </a>
    <img alt="Large yellow sponge" itemprop="image"
         src="https://example.com/photos/1x1/photo.jpg"/>
  </div>
  <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
    <link itemprop="url" href="https://example.com/example#step1" />
    <div itemprop="name">Preparation</div>
    <img itemprop="image" alt="image showing preparation"
         src="https://example.com/photos/1x1/photo-step1.jpg"/>
    <div itemprop="itemListElement" itemscope itemtype="https://schema.org/HowToDirection">
      <div itemprop="text">Turn off the power to the kitchen and then remove
        everything that is on the wall, such as outlet covers, switchplates, and any other item in
        the area that is to be tiled. Then clean the surface thoroughly to remove any grease or
        other debris and tape off the area.
      </div>
    </div>
  </div>
  <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
    <link itemprop="url" href="https://example.com/example#step2" />
    <div itemprop="name">Plan your Layout</div>
    <img itemprop="image" alt="image showing layout planning"
           src="https://example.com/photos/1x1/photo-step2.jpg"/>
    <div itemprop="itemListElement" itemscope itemtype="https://schema.org/HowToDirection">
      <div itemprop="text">Lay out your tile horizontally below the wall where you're going to
        place it. This makes it easy to ensure that your pattern will fit in the space provided.
        Also it helps you double check that you have enough tile and know exactly where each piece
        will go.
      </div>
    </div>
    <div itemprop="itemListElement" itemscope itemtype="https://schema.org/HowToDirection">
      <div itemprop="text">Spread the mortar on a small section of the wall with a trowel. Thinset
        and other adhesives set quickly so make sure to work in a small area. Once it's applied,
        comb over it with a notched trowel.
      </div>
    </div>
  </div>
  <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
    <link itemprop="url" href="https://example.com/example#step3" />
    <div itemprop="name">Add your tile to the wall</div>
    <img itemprop="image" alt="image grout application"
         src="https://example.com/photos/1x1/photo-step3.jpg"/>
    <div itemprop="itemListElement" itemscope itemtype="https://schema.org/HowToDirection">
      <div itemprop="text">Place the tile sheets along the wall, making sure to add spacers so the
        tiles remain lined up. Press the first piece of tile into the wall with a little twist,
        leaving a small (usually one-eight inch) gap at the countertop to account for expansion.
        use a rubber float to press the tile and ensure it sets in the adhesive. Repeat the mortar
        and tiling until your wall is completely tiled, working in small sections.
      </div>
    </div>
  </div>
  <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
    <link itemprop="url" href="https://example.com/example#step4" />
    <div itemprop="name">Apply the grout</div>
    <img itemprop="image" alt="image grout application"
         src="https://example.com/photos/1x1/photo-step4.jpg"/>
    <div itemprop="itemListElement" itemscope itemtype="https://schema.org/HowToDirection">
      <div itemprop="text">Allow the thin-set mortar to set. This usually takes about 12 hours.
        Don't mix the grout before the mortar is set, because you don't want the grout to dry out!
        To apply, cover the area thoroughly with grout and make sure you fill all the joints by
        spreading it across the tiles vertically, horizontally, and diagonally. Then fill any
        remaining voids with grout.
      </div>
    </div>
    <div itemprop="itemListElement" itemscope itemtype="https://schema.org/HowToDirection">
      <div itemprop="text">Then, with a moist sponge, sponge away the excess grout and then wipe
        clean with a towel. For easier maintenance in the future, think about applying a grout
        sealer.
      </div>
    </div>
  </div>
</div>
</body>
</html>

Kết quả nhiều định dạng về nội dung Hướng dẫn (kèm hình ảnh cho mỗi bước)

Hình ảnh kết quả nhiều định dạng về nội dung hướng dẫn có ảnh kèm theo
JSON-LD

Dưới đây là ví dụ về trang hướng dẫn có hình ảnh cho mỗi bước bằng JSON-LD. Khi có một hình ảnh cho mỗi bước, người dùng có thể xem trước nội dung với một băng chuyền gồm nhiều hình ảnh.


<html>
  <head>
    <title>How to tie a tie</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "HowTo",
      "image": {
        "@type": "ImageObject",
        "url": "https://example.com/1x1/photo.jpg"
      },
      "name": "How to tie a tie",
      "totalTime": "PT2M",
      "video": {
        "@type": "VideoObject",
        "name": "Tie a Tie",
        "description": "How to tie a four-in-hand knot.",
        "thumbnailUrl": "https://example.com/photos/photo.jpg",
        "contentUrl": "https://www.example.com/videos/123_600x400.mp4",
        "embedUrl": "https://www.example.com/videoplayer?id=123",
        "uploadDate": "2019-01-05T08:00:00+08:00",
        "duration": "P1MT10S"
      },
      "supply": [
        {
          "@type": "HowToSupply",
          "name": "A tie"
        }, {
          "@type": "HowToSupply",
          "name": "A collared shirt"
        }
      ],
      "tool": [
        {
          "@type": "HowToTool",
          "name": "A mirror"
        }
      ],
      "step":[
        {
          "@type": "HowToStep",
          "name": "Preparations",
          "text": "Button your shirt how you'd like to wear it, then drape the tie around your neck. Make the thick end about 1/3rd longer than the short end. For formal button down shirts, it usually works best with the small end of the tie between 4th and 5th button.",
          "image": "https://example.com/1x1/step1.jpg",
          "url": "https://example.com/tie#step1"
        }, {
          "@type": "HowToStep",
          "name": "Crossing once",
          "text": "Cross the long end over the short end. This will form the basis for your knot.",
          "image": "https://example.com/1x1/step2.jpg",
          "url": "https://example.com/tie#step2"
        }, {
          "@type": "HowToStep",
          "name": "Second crossing",
          "text": "Bring the long end back under the short end, then throw it back over the top of the short end in the other direction.",
          "image": "https://example.com/1x1/step3.jpg",
          "url": "https://example.com/tie#step3"
        }, {
          "@type": "HowToStep",
          "name": "Loop in",
          "text": "Now pull the long end through the loop near your neck, forming another loop near your neck.",
          "image": "https://example.com/1x1/step4.jpg",
          "url": "https://example.com/tie#step4"
        }, {
          "@type": "HowToStep",
          "name": "Pull and tighten",
          "text": "Pull the long end through that new loop and tighten to fit!",
          "image": "https://example.com/1x1/step5.jpg",
          "url": "https://example.com/tie#step5"
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>
Microdata (vi dữ liệu)

Dưới đây là ví dụ về trang hướng dẫn có hình ảnh cho mỗi bước bằng Microdata. Khi có một hình ảnh cho mỗi bước, người dùng có thể xem trước nội dung trên một băng chuyền gồm nhiều hình ảnh.


<html>
<head>
<title>How to tie a tie</title>
</head>
<body>
<div itemscope itemtype="https://schema.org/HowTo">
  <b><span itemprop="name">How to tie a tie</span></b>
  <div>About <span itemprop="totalTime" content="PT2M">2 minutes</span></div>
  <div itemprop="video" itemscope itemtype="https://schema.org/VideoObject">
    <meta itemprop="name" content="Tie a Tie" />
    <meta itemprop="description" content="How to tie a four-in-hand knot." />
    <link itemprop="thumbnailUrl" content="https://example.com/photos/photo.jpg" />
    <link itemprop="contentUrl" content="https://www.example.com/videos/123_600x400.mp4" />
    <link itemprop="embedUrl" content="https://www.example.com/videoplayer?id=123" />
    <meta itemprop="duration" content="P1MT10S" />
    <meta itemprop="uploadDate" content="2019-01-05T08:00:00+08:00" />
    <video>...</video>
  </div>
  <div>Necessary Items:</div>
  <div itemprop="supply" itemtype="https://schema.org/HowToSupply">A tie</div>
  <div itemprop="supply" itemtype="https://schema.org/HowToSupply">A collared Shirt</div>
  <div itemprop="tool" itemtype="https://schema.org/HowToTool">A mirror</div>
  <div>
    <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
      <div itemprop="name">Preparations</div>
      <div itemprop="text">Button your shirt how you'd like to wear it, then drape the tie around your neck. Make the thick end about 1/3rd longer than the short end. For formal button down shirts, it usually works best with the small end of the tie between 4th and 5th button.</div>
      <div itemprop="image">https://example.com/1x1/photo1.jpg</div>
      <meta itemprop="url" content="https://example.com/tie#step1" />
    </div>

    <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
      <div itemprop="name">Crossing once</div>
      <div itemprop="text">Cross the long end over the short end. This will form the basis for your knot.</div>
      <div itemprop="image">https://example.com/1x1/photo2.jpg</div>
      <meta itemprop="url" content="https://example.com/tie#step2" />
    </div>

    <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
      <div itemprop="name">Second crossing</div>
      <div itemprop="text">Bring the long end back under the short end, then throw it back over the top of the short end in the other direction.</div>
      <div itemprop="image">https://example.com/1x1/photo3.jpg</div>
      <meta itemprop="url" content="https://example.com/tie#step3" />
    </div>

    <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
      <div itemprop="name">Loop in</div>
      <div itemprop="text">Now pull the long end through the loop near your neck, forming another loop near your neck.</div>
      <div itemprop="image">https://example.com/1x1/photo4.jpg</div>
      <meta itemprop="url" content="https://example.com/tie#step4" />
    </div>

    <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
      <div itemprop="name">Pull and tighten</div>
      <div itemprop="text">Pull the long end through that new loop and tighten to fit!</div>
      <div itemprop="image">https://example.com/1x1/photo5.jpg</div>
      <meta itemprop="url" content="https://example.com/tie#step5" />
    </div>
  </div>
</div>
</body>
</html>

Kết quả nhiều định dạng về nội dung Hướng dẫn (kèm video)

JSON-LD

Dưới đây là ví dụ về trang hướng dẫn kết hợp văn bản, hình ảnh và đoạn video bằng JSON-LD. Trong ví dụ này có 1 video nội dung hướng dẫn, trong đó các bước trong cùng video được đánh dấu bằng dữ liệu có cấu trúc Clip.


<html>
  <head>
    <title>How to create a Trivia action</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "HowTo",
      "image": {
        "@type": "ImageObject",
        "url": "https://example.com/1x1/photo.jpg"
      },
      "name": "How to create a Trivia action",
      "totalTime": "PT2M",
      "video": {
        "@type": "VideoObject",
        "name": "Build a Trivia Game for the Google Assistant with No Code",
        "description": "Learn how to create a Trivia action for Assistant within minutes.",
        "thumbnailUrl": "https://example.com/photos/photo.jpg",
        "contentUrl": "https://www.youtube.com/watch?v=4AOI1tZrgMI",
        "embedUrl": "https://www.youtube.com/embed/4AOI1tZrgMI",
        "uploadDate": "2019-01-05T08:00:00+08:00",
        "duration": "P1MT10S",
        "hasPart": [
          {
            "@type": "Clip",
            "@id": "Clip1",
            "name": "Open Actions on Google Console",
            "startOffset": 29,
            "endOffset": 36,
            "url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=29"
          },
          {
            "@type": "Clip",
            "@id": "Clip2",
            "name": "Select Trivia Template",
            "startOffset": 36,
            "endOffset": 45,
            "url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=36"
          },
          {
            "@type": "Clip",
            "@id": "Clip3",
            "name": "Choose a Personality",
            "startOffset": 45,
            "endOffset": 65,
            "url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=45"
          },
          {
            "@type": "Clip",
            "@id": "Clip4",
            "name": "Feed your content",
            "startOffset": 65,
            "endOffset": 154,
            "url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=65"
          },
          {
            "@type": "Clip",
            "@id": "Clip5",
            "name": "Create the action",
            "startOffset": 154,
            "endOffset": 172,
            "url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=154"
          },
          {
            "@type": "Clip",
            "@id": "Clip6",
            "name": "Test your action",
            "startOffset": 172,
            "endOffset": 212,
            "url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=172"
          },
          {
            "@type": "Clip",
            "@id": "Clip7",
            "name": "Submit your action",
            "startOffset": 212,
            "endOffset": 285,
            "url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=212"
          }
        ]
      },
      "step": [
        {
          "@type": "HowToStep",
          "name": "Open Actions on Google Console",
          "text": "Navigate to https://console.actions.google.com to get started.",
          "image": "https://example.com/1x1/step1.jpg",
          "url": "https://example.com/tie#step1",
          "video": {
            "@id": "Clip1"
          }
        },
        {
          "@type": "HowToStep",
          "name": "Select Trivia Template",
          "text": "Create a new project and select Templates | You have a choice to select between Trivia, Flashcard or Personality Quiz.",
          "image": "https://example.com/1x1/step2.jpg",
          "url": "https://example.com/tie#step2",
          "video": {
            "@id": "Clip2"
          }
        },
        {
          "@type": "HowToStep",
          "name": "Choose a Personality",
          "text": "Select one of the three personalities- Mr, Montgomery, Regal Queen, or the Trivia Bot.",
          "image": "https://example.com/1x1/step3.jpg",
          "url": "https://example.com/tie#step3",
          "video": {
            "@id": "Clip3"
          }
        },
        {
          "@type": "HowToStep",
          "name": "Feed your content",
          "itemListElement": [
            {
              "@type": "HowToDirection",
              "text": "Make a copy of our pre-filled sheet and replace with your content."
            },
            {
              "@type": "HowToDirection",
              "text": "Ensure you make the sheet publicly accessible. Copy the URL of the sheet and paste it into the Console."
            }
          ],
          "image": "https://example.com/1x1/step4.jpg",
          "url": "https://example.com/tie#step4",
          "video": {
            "@id": "Clip4"
          }
        },
        {
          "@type": "HowToStep",
          "name": "Create the action",
          "text": "Create the action. Once content is successfully uploaded, it will take couple of minutes to create the action.",
          "image": "https://example.com/1x1/step5.jpg",
          "url": "https://example.com/tie#step5",
          "video": {
            "@id": "Clip5"
          }
        },
        {
          "@type": "HowToStep",
          "name": "Test your action",
          "text": "Navigate to the Simulator to test your action and simulate various surfaces, locations and locales.",
          "image": "https://example.com/1x1/step6.jpg",
          "url": "https://example.com/tie#step6",
          "video": {
            "@id": "Clip6"
          }
        },
        {
          "@type": "HowToStep",
          "name": "Submit your action",
          "text": "Once you complete directory information and invocation names, submit your action for all Assistant users to see and use your action.",
          "image": "https://example.com/1x1/step7.jpg",
          "url": "https://example.com/tie#step7",
          "video": {
            "@id": "Clip7"
          }
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>
Microdata (vi dữ liệu)

Dưới đây là ví dụ về trang hướng dẫn kết hợp văn bản, hình ảnh và đoạn video bằng Vi dữ liệu. Trong ví dụ này có 1 video nội dung hướng dẫn, trong đó các bước trong cùng video được đánh dấu bằng dữ liệu có cấu trúc Clip.


<html>
<head>
<title>How to create a Trivia action</title>
</head>
<body>
<div itemscope itemtype="https://schema.org/HowTo">
  <b><span itemprop="name">How to create a Trivia action</span></b>
  <div>About <span itemprop="totalTime" content="PT2M">2 minutes</span></div>
  <div itemprop="video" itemscope itemtype="https://schema.org/VideoObject">
    <meta itemprop="name" content="Tie a Tie" />
    <meta itemprop="description" content="How to tie a four-in-hand knot." />
    <link itemprop="thumbnailUrl" content="https://example.com/photos/photo.jpg" />
    <link itemprop="contentUrl" content="https://www.example.com/videos/123_600x400.mp4" />
    <link itemprop="embedUrl" content="https://www.example.com/videoplayer?id=123" />
    <meta itemprop="duration" content="P1MT10S" />
    <meta itemprop="uploadDate" content="2019-01-05T08:00:00+08:00" />
    <div>
      <div itemprop="hasPart" itemscope itemtype="https://schema.org/Clip" itemid="Clip1">
        <div itemprop="name">Open Actions on Google Console</div>
        <div itemprop="startOffset">29</div>
        <div itemprop="endOffset">36</div>
        <div itemprop="url">https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=29</div>
      </div>
      <div itemprop="hasPart" itemscope itemtype="https://schema.org/Clip" itemid="Clip2">
        <div itemprop="name">Select Trivia Template</div>
        <div itemprop="startOffset">36</div>
        <div itemprop="endOffset">45</div>
        <div itemprop="url">https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=36</div>
      </div>
      <div itemprop="hasPart" itemscope itemtype="https://schema.org/Clip" itemid="Clip3">
        <div itemprop="name">Choose a Personality</div>
        <div itemprop="startOffset">45</div>
        <div itemprop="endOffset">65</div>
        <div itemprop="url">https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=45</div>
      </div>
      <div itemprop="hasPart" itemscope itemtype="https://schema.org/Clip" itemid="Clip4">
        <div itemprop="name">Feed your content</div>
        <div itemprop="startOffset">65</div>
        <div itemprop="endOffset">154</div>
        <div itemprop="url">https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=65</div>
      </div>
      <div itemprop="hasPart" itemscope itemtype="https://schema.org/Clip" itemid="Clip5">
        <div itemprop="name">Create the action</div>
        <div itemprop="startOffset">154</div>
        <div itemprop="endOffset">172</div>
        <div itemprop="url">https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=154</div>
      </div>
      <div itemprop="hasPart" itemscope itemtype="https://schema.org/Clip" itemid="Clip6">
        <div itemprop="name">Test your action</div>
        <div itemprop="startOffset">172</div>
        <div itemprop="endOffset">212</div>
        <div itemprop="url">https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=172</div>
      </div>
      <div itemprop="hasPart" itemscope itemtype="https://schema.org/Clip" itemid="Clip7">
        <div itemprop="name">Submit your action</div>
        <div itemprop="startOffset">212</div>
        <div itemprop="endOffset">285</div>
        <div itemprop="url">https://www.youtube.com/watch?v=4AOI1tZrgMI&amp;t=212</div>
      </div>
    </div>
    <video>...</video>
  </div>
  <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
    <div itemprop="name">Open Actions on Google Console</div>
    <div itemprop="text">Navigate to https://console.actions.google.com to get started.</div>
    <div itemprop="image">https://example.com/1x1/photo1.jpg</div>
    <meta itemprop="url" content="https://example.com/tie#step1" />
    <link itemprop="video" href="Clip1" />
  </div>
  <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
    <div itemprop="name">Select Trivia Template</div>
    <div itemprop="text">Create a new project and select Templates | You have a choice to select between Trivia, Flashcard or Personality Quiz.</div>
    <div itemprop="image">https://example.com/1x1/photo2.jpg</div>
    <meta itemprop="url" content="https://example.com/tie#step2" />
    <link itemprop="video" href="Clip2" />
  </div>
  <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
    <div itemprop="name">Choose a Personality</div>
    <div itemprop="text">Select one of the three personalities- Mr, Montgomery, Regal Queen, or the Trivia Bot.</div>
    <div itemprop="image">https://example.com/1x1/photo3.jpg</div>
    <meta itemprop="url" content="https://example.com/tie#step3" />
    <link itemprop="video" href="Clip3" />
  </div>
  <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
    <div itemprop="name">Feed your content</div>
    <div itemprop="itemListElement" itemscope itemtype="https://schema.org/HowToDirection">
      <div itemprop="text">Make a copy of our pre-filled sheet and replace with your content.</div>
    </div>
    <div itemprop="itemListElement" itemscope itemtype="https://schema.org/HowToDirection">
      <div itemprop="text">Ensure you make the sheet publicly accessible. Copy the URL of the sheet and paste it into the Console.</div>
    </div>
    <div itemprop="image">https://example.com/1x1/photo4.jpg</div>
    <meta itemprop="url" content="https://example.com/tie#step4" />
    <link itemprop="video" href="Clip4" />
  </div>
  <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
    <div itemprop="name">Create the action</div>
    <div itemprop="text">Create the action. Once content is successfully uploaded, it will take couple of minutes to create the action.</div>
    <div itemprop="image">https://example.com/1x1/photo5.jpg</div>
    <meta itemprop="url" content="https://example.com/tie#step5" />
    <link itemprop="video" href="Clip5" />
  </div>
  <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
    <div itemprop="name">Test your action</div>
    <div itemprop="text">PNavigate to the Simulator to test your action and simulate various surfaces, locations and locales.</div>
    <div itemprop="image">https://example.com/1x1/photo6.jpg</div>
    <meta itemprop="url" content="https://example.com/tie#step6" />
    <link itemprop="video" href="Clip6" />
  </div>
  <div itemprop="step" itemscope itemtype="https://schema.org/HowToStep">
    <div itemprop="name">Submit your action</div>
    <div itemprop="text">Once you complete directory information and invocation names, submit your action for all Assistant users to see and use your action.</div>
    <div itemprop="image">https://example.com/1x1/photo7.jpg</div>
    <meta itemprop="url" content="https://example.com/tie#step7" />
    <link itemprop="video" href="Clip7" />
  </div>
</div>
</body>
</html>

Nguyên tắc

Để trang của bạn đủ điều kiện hiển thị dưới dạng kết quả nhiều định dạng về nội dung Hướng dẫn và Hành động hướng dẫn cho Trợ lý Google, bạn phải tuân theo các nguyên tắc sau:

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

  • Quảng cáo: Đừng sử dụng dữ liệu có cấu trúc HowTo cho mục đích quảng cáo.
  • Nội dung không đủ điều kiện: Kết quả nhiều định dạng về nội dung hướng dẫn có thể không được hiển thị nếu nội dung mang tính tục tĩu, thô tục, khiêu dâm hoặc chứa hình ảnh bạo lực; hoặc nếu nội dung truyền 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.
  • Nguồn: Người dùng phải xem được mọi nội dung HowTo trên trang nguồn. Hãy đảm bảo rằng nội dung hướng dẫn là trọng tâm chính của trang nguồn. Đừng sử dụng nhiều HowTo trên một trang nhất định.
  • Vật tư và dụng cụ: Thêm dữ liệu có cấu trúc về tất cả các vật tư và dụng cụ cần thiết để hoàn thành nhiệm vụ.
  • Các bước: Mỗi HowToStep phải bao gồm toàn bộ nội dung của bước nguồn. Đừng đánh dấu dữ liệu không phải là nội dung chính của bước như phần tóm tắt hoặc giới thiệu về một bước.
  • Hình ảnh trong các bước: Nếu cách trình bày tốt nhất cho các bước này là qua hình ảnh, hãy nhớ đánh dấu các hình ảnh trong từng bước HowToStep. Chỉ đánh dấu các hình ảnh hướng dẫn của riêng từng bước và không sử dụng hình ảnh giống nhau trong nhiều bước cho cùng một nội dung hướng dẫn. Bạn nên sử dụng các hình ảnh tương ứng với nội dung trên trang của mình. Đừng sử dụng hình ảnh không phản ánh nội dung hướng dẫn hoặc sử dụng các hình ảnh khác nhau để tối ưu hoá kết quả nhiều định dạng.
  • Hình ảnh cuối cùng: Nếu có thể mô tả chính xác kết quả cuối cùng bằng một hình ảnh, hãy đảm bảo hình ảnh này hiện diện trên trang và đưa hình ảnh đó vào thẻ đánh dấu HowTo của bạn bằng thuộc tính image. Hình ảnh này có thể giống với hình ảnh đã được đánh dấu cho bước cuối cùng.
  • Nội dung: Đừng dùng mã đánh dấu HowTo cho công thức nấu ăn, mà hãy dùng Recipe structured data. Những bài viết và nội dung tư vấn chung mà không phải là một nhóm các bước hướng dẫn cụ thể sẽ không phù hợp với thẻ đánh dấu HowTo.

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

Bạn phải bao gồm 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ể dùng những thuộc tính được chúng tôi khuyên dùng để thêm nhiều thông tin hơn vào dữ liệu có cấu trúc, qua đó mang lại trải nghiệm tốt hơn cho người dùng.

HowTo

Bạn có thể xem định nghĩa đầy đủ về dữ liệu có cấu trúc HowTo tại schema.org/HowTo.

Loại HowTo chỉ ra rằng trang chứa nội dung hướng dẫn. Phải có một định nghĩa loại HowTo trên mỗi trang.

Sau đây là các thuộc tính được Google hỗ trợ:

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

Text

Tiêu đề của hướng dẫn. Ví dụ: "Cách thắt cà vạt".

step HowToStep hoặc HowToSection

Một mảng các phần tử HowToStep tạo nên hướng dẫn đầy đủ trong nội dung hướng dẫn. Mỗi phần tử step phải tương ứng với một bước cụ thể trong hướng dẫn. Đừng dùng thuộc tính này để đánh dấu dữ liệu không phải là một bước trong hướng dẫn, chẳng hạn như phần tóm tắt hoặc giới thiệu. Ví dụ:

  • Bạn có thể chỉ rõ văn bản hoàn chỉnh cho từng bước bằng cách đặt thuộc tính text trong từng HowToStep. Bạn không bắt buộc phải sử dụng các thuộc tính image, name (tiêu đề của một bước) và url. Tuy nhiên, bạn vẫn nên chỉ định các thuộc tính tuỳ chọn này vì chúng có thể góp phần mang lại định dạng trình bày phong phú cho kết quả tìm kiếm.
    
    "step":[
      {
        "@type": "HowToStep",
        "text": "Button your shirt how you'd like to wear it, then drape the tie around your neck. Make the thick end about 1/3rd longer than the short end. For formal button down shirts, it usually works best with the small end of the tie between 4th and 5th button.",
        "image": "https://example.com/1x1/photo.jpg"
      }, {
        "@type": "HowToStep",
        "text": "Cross the long end over the short end. This will form the basis for your knot.",
        "image": "https://example.com/1x1/photo.jpg"
      }, {
        "@type": "HowToStep",
        "text": "Bring the long end back under the short end, then throw it back over the top of the short end in the other direction. ",
        "image": "https://example.com/1x1/photo.jpg"
      }, {
        "@type": "HowToStep",
        "text": "Now pull the long and through the loop near your neck, forming another loop near your neck.",
        "image": "https://example.com/1x1/photo.jpg"
      }, {
        "@type": "HowToStep",
        "text": "Pull the long end through that new loop and tighten to fit! ",
        "image": "https://example.com/1x1/photo.jpg"
      }
    ]
  • Đối với các bước phức tạp, bạn có thể cung cấp name của bước và liệt kê từng bước phụ riêng lẻ bằng cách dùng HowToDirection hoặc HowToTip.
    
    "step": [
      {
        "@type": "HowToStep",
        "name": "Prepare the surfaces",
        "itemListElement": [{
          "@type": "HowToDirection",
          "text": "First please turn off the power to the kitchen and then remove everything that is on the wall, such as outlet covers, switchplates, and any other item in the area that is to be tiled."
        }, {
          "@type": "HowToDirection",
          "text": "Then clean the surface thoroughly to remove any grease or other debris and tape off the area."
        }],
        "image": {
          "@type": "ImageObject",
          "url": "https://example.com/photos/1x1/photo.jpg",
          "height": "406",
          "width": "305"
        }
      }, {
        "@type": "HowToStep",
        "name": "Plan your layout",
        "itemListElement": [{
          "@type": "HowToTip",
          "text": "The creases created up until this point will be guiding lines for creating the four walls of your planter box."
        }, {
          "@type": "HowToDirection",
          "text": "Lift one side at a 90-degree angle, and fold it in place so that the point on the paper matches the other two points already in the center."
        }, {
          "@type": "HowToDirection",
          "text": "Repeat on the other side."
        }],
        "image": {
          "@type": "ImageObject",
          "url": "https://example.com/photos/1x1/photo.jpg",
          "height": "406",
          "width": "305"
        }
      }, {
        "@type": "HowToStep",
        "name": "Prepare your and apply mortar (or choose adhesive tile)",
        "itemListElement": [{
          "@type": "HowToDirection",
          "text": "Follow the instructions on your thin-set mortar to determine the right amount of water to fill in your bucket. Once done, add the powder gradually and make sure it is thoroughly mixed."
        }, {
          "@type": "HowToDirection",
          "text": "Once mixed, let it stand for a few minutes before mixing it again. This time don't add more water. Double check your thin-set mortar instructions to make sure the consistency is right."
        }, {
          "@type": "HowToDirection",
          "text": "Spread the mortar on a small section of the wall with a trowel."
        }, {
          "@type": "HowToTip",
          "text": "Thinset and other adhesives set quickly so make sure to work in a small area."
        }, {
          "@type": "HowToDirection",
          "text": "Once it's applied, comb over it with a notched trowel."
        }],
        "image": {
          "@type": "ImageObject",
          "url": "https://example.com/photos/1x1/photo.jpg",
          "height": "406",
          "width": "305"
        }
      }, {
        "@type": "HowToStep",
        "name": "Add your tile to the wall",
        "itemListElement": [{
          "@type": "HowToDirection",
          "text": "Place the tile sheets along the wall, making sure to add spacers so the tiles remain lined up."
        }, {
          "@type": "HowToDirection",
          "text": "Press the first piece of tile into the wall with a little twist, leaving a small (usually one-eight inch) gap at the countertop to account for expansion. use a rubber float to press the tile and ensure it sets in the adhesive."
        }, {
          "@type": "HowToDirection",
          "text": "Repeat the mortar and tiling until your wall is completely tiled, Working in small sections."
        }],
        "image": {
          "@type": "ImageObject",
          "url": "https://example.com/photos/1x1/photo.jpg",
          "height": "406",
          "width": "305"
        }
      }, {
        "@type": "HowToStep",
        "name": "Apply the grout",
        "itemListElement": [{
          "@type": "HowToDirection",
          "text": "Allow the thin-set mortar to set. This usually takes about 12 hours. Don't mix the grout before the mortar is set, because you don't want the grout to dry out!"
        }, {
          "@type": "HowToDirection",
          "text": "To apply, cover the area thoroughly with grout and make sure you fill all the joints by spreading it across the tiles vertically, horizontally, and diagonally. Then fill any remaining voids with grout."
        }, {
          "@type": "HowToDirection",
          "text": "Then, with a moist sponge, sponge away the excess grout and then wipe clean with a towel. For easier maintenance in the future, think about applying a grout sealer."
        }],
        "image": {
          "@type": "ImageObject",
          "url": "https://example.com/photos/1x1/photo.jpg",
          "height": "406",
          "width": "305"
        }
      }
    ]

Một mảng các phần tử HowToSection tạo nên hướng dẫn đầy đủ trong HowTo này. Ví dụ:


"step":[
  {
    "@type": "HowToSection",
    "name": "Choose a Tie",
    "itemListElement": [
      {
        "@type": "HowToStep",
        "name": "Choose a color",
        "text": "Pick a tie that matches your shirt color. Contrasting colors can be fun!"
      },
      {
        "@type": "HowToStep",
        "name": "Choose a pattern",
        "text": "A tie with a pattern can add flare to your outfit. Make sure the pattern is not
                 too noisy against your shirt"
      }
    ]
  },
  {
    "@type": "HowToSection",
    "name": "Put on the Tie",
    "itemListElement": [
      {
        "@type": "HowToStep",
        "name": "Arrange the Tie",
        "text": "Stand in front of the mirror with the tie around your neck."
      },
      {
        "@type": "HowToStep",
        "name": "Tie the Tie",
        "text": "Use your hands to tie the tie into a neat knot around your neck. Looking sharp!"
      }
    ]
  }
]
Thuộc tính nên có
estimatedCost MonetaryAmount hoặc Text

Chi phí ước tính của vật tư sẽ tiêu hao khi thực hiện theo hướng dẫn.

image ImageObject hoặc URL

Hình ảnh của toàn bộ hướng dẫn.

Nguyên tắc bổ sung về hình ảnh:

  • Mỗi trang phải chứa ít nhất một hình ảnh. Google sẽ chọn (các) hình ảnh phù hợp nhất để cho thấy trong kết quả tìm kiếm trên Google dựa trên tỷ lệ khung hình và độ phân giải.
  • URL của hình ảnh phải cho phép Google thu thập dữ liệu và lập chỉ mục. Để kiểm tra xem Google có truy cập được URL của bạn hay không, hãy dùng Công cụ kiểm tra URL.
  • Hình ảnh phải mang tính đại diện cho nội dung được đánh dấu.
  • Tệp hình ảnh phải thuộc một định dạng mà Google Hình ảnh hỗ trợ.
supply HowToSupply hoặc Text

Một vật tư sẽ tiêu hao khi thực hiện theo hướng dẫn hoặc chỉ dẫn.

tool HowToTool hoặc Text

Một vật sẽ dùng đến (mà không tiêu hao) khi thực hiện theo hướng dẫn hoặc chỉ dẫn.

totalTime Duration

Tổng thời gian cần thiết để thực hiện tất cả các hướng dẫn hoặc chỉ dẫn (bao gồm cả thời gian chuẩn bị vật tư), ở định dạng thời gian ISO 8601.

video VideoObject

Video về nội dung hướng dẫn. Hãy tham khảo danh sách thuộc tính Video bắt buộc và nên có. Bạn có thể đánh dấu các bước trong video bằng hasPart.


{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "video": {
    "@type": "VideoObject",
    "name": "Build a Trivia Game for the Google Assistant with No Code",
    "description": "Learn how to create a Trivia action for Assistant within minutes.",
    "thumbnailUrl": "https://example.com/photos/photo.jpg",
    "contentUrl": "https://www.youtube.com/watch?v=4AOI1tZrgMI",
    "embedUrl": "https://www.youtube.com/embed/4AOI1tZrgMI",
    "uploadDate": "2019-01-05T08:00:00+08:00",
    "duration": "P1MT10S",
    "hasPart": [
      {
        "@type": "Clip",
        "@id": "Clip1",
        "name": "Open Actions on Google Console",
        "startOffset": 29,
        "endOffset": 36,
        "url": "https://www.youtube.com/watch?v=4AOI1tZrgMI?t=29"
      },
      {
        "@type": "Clip",
        "@id": "Clip2",
        "name": "Select Trivia Template",
        "startOffset": 36,
        "endOffset": 45,
        "url": "https://www.youtube.com/watch?v=4AOI1tZrgMI?t=36"
      }
    ]
  }
}
video.hasPart

Clip

Một đoạn video thuộc video hoàn chỉnh.

video.hasPart.endOffset

Number

Thời gian kết thúc của đoạn được biểu thị bằng số giây tính từ đầu video.

video.hasPart.name

Text

Tên của đoạn. Ví dụ: Bạn có thể sử dụng tên "Kéo và thắt" cho đoạn video hướng dẫn cách kéo và thắt cà vạt.

video.hasPart.startOffset

Number

Thời gian bắt đầu của đoạn được biểu thị bằng số giây tính từ đầu video.

video.hasPart.url

URL

Đường liên kết đến thời gian bắt đầu của đoạn. Thời gian bắt đầu phải khớp với giá trị đã đặt trong video.hasPart.startOffset. Ví dụ:


"startOffset": 30,
"endOffset": 45,
"url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&t=30"

HowToSection

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

Loại HowToSection xác định một mục trong hướng dẫn và chứa một hoặc nhiều bước. Đừng sử dụng HowToSection để xác định các giải pháp khác nhau để hoàn thành một nhiệm vụ. Thay vào đó, hãy sử dụng HowToSection dưới dạng một phần của một giải pháp. Để liệt kê nhiều cách hoàn thành một nhiệm vụ, hãy sử dụng nhiều đối tượng HowTo. Ví dụ: nhiều cách thay lốp được liệt kê dưới dạng nhiều đối tượng HowTo, thay vì các đối tượng HowToSection.

Sau đây là các thuộc tính được Google hỗ trợ:

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

Danh sách các bước chi tiết trong mục này.

name Text

Tên của mục.

HowToStep

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

Loại HowToStep xác định một bước đơn giản bằng văn bản trong một bản hướng dẫn và có thể bao gồm cả một hình ảnh.

Sau đây là các thuộc tính được Google hỗ trợ:

Thuộc tính bắt buộc
itemListElement HowToDirection hoặc HowToTip

Danh sách các bước phụ chi tiết, bao gồm cả các chỉ dẫn hoặc mẹo.

Không bắt buộc nếu bạn sử dụng text.

text Text

Toàn văn hướng dẫn của bước này.

Không bắt buộc nếu bạn sử dụng itemListElement. Nguyên tắc bổ sung:

  • Chỉ bao gồm văn bản hướng dẫn và không bao gồm văn bản khác như "Chỉ dẫn", "Xem video", "Bước 1". Bạn có thể chỉ định những cụm từ đó bên ngoài thuộc tính được đánh dấu.

    Không nên:

    
    {
      "@type": "HowToStep",
      "text": "Step 1. Drape the tie around your neck."
    }

    Nên:

    
    {
      "@type": "HowToStep",
      "text": "Drape the tie around your neck."
    }
Thuộc tính nên có
image ImageObject hoặc URL

Một hình ảnh của bước. Nguyên tắc bổ sung về hình ảnh:

  • Google phải có thể thu thập dữ liệu và lập chỉ mục URL hình ảnh.
  • Hình ảnh phải mang tính đại diện cho nội dung được đánh dấu.
  • Hình ảnh phải ở định dạng .jpg, .png hoặc .gif.
name Text

Từ hoặc cụm từ ngắn tóm tắt nội dung bước (ví dụ: "Nối dây vào cột" hoặc "Đào"). Đừng dùng văn bản không mang tính mô tả (ví dụ như "Bước 1: [văn bản]") hoặc số thứ tự của bước ở dạng khác (ví dụ như "1. [văn bản]").

url URL

Một URL liên kết trực tiếp đến bước này (nếu có). Ví dụ: một đoạn liên kết neo.

video VideoObject hoặc Clip

Một video cho bước hướng dẫn này hoặc một đoạn trong một video trình bày toàn bộ hướng dẫn.

Đối với VideoObject, hãy tham khảo danh sách thuộc tính video bắt buộc và nên có.

Sau đây là một ví dụ về cách dùng VideoObject:


{
  "@type": "HowToStep",
  "video": {
    "name": "Drape the tie",
    "description": "Drape the tie.",
    "thumbnailUrl": "https://example.com/photos/photo.jpg",
    "contentUrl": "https://www.example.com/videos/123_600x400.mp4",
    "embedUrl": "https://www.example.com/videoplayer?id=123",
    "uploadDate": "2019-01-05T08:00:00+08:00",
    "duration": "PT12S"
  }
}
          

Sau đây là một ví dụ về cách dùng Clip:


{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "Build a Trivia Game for the Google Assistant with No Code",
  "video": {
    "@type": "VideoObject",
    "name": "Build a Trivia Game for the Google Assistant with No Code",
    "description": "Learn how to create a Trivia action for Assistant within minutes.",
    "thumbnailUrl": "https://example.com/photos/photo.jpg",
    "contentUrl": "https://www.youtube.com/watch?v=4AOI1tZrgMI",
    "embedUrl": "https://www.youtube.com/embed/4AOI1tZrgMI",
    "uploadDate": "2019-01-05T08:00:00+08:00",
    "duration": "P1MT10S",
    "hasPart": [
      {
        "@type": "Clip",
        "@id": "Clip1",
        "name": "Open Actions on Google Console",
        "startOffset": 29,
        "endOffset": 36,
        "url": "https://www.youtube.com/watch?v=4AOI1tZrgMI?t=29"
      },
      {
        "@type": "Clip",
        "@id": "Clip2",
        "name": "Select Trivia Template",
        "startOffset": 36,
        "endOffset": 45,
        "url": "https://www.youtube.com/watch?v=4AOI1tZrgMI?t=36"
      }
    ]
  },
  "step": [
    {
      "@type": "HowToStep",
      "name": "Open Actions on Google Console",
      "video": { "@id": "Clip1" }
    },
    {
      "@type": "HowToStep",
      "name": "Select Trivia Template",
      "video": { "@id": "Clip2" }
    }
  ]
}
          

HowToSupply, HowToTool

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

HowToSupplyHowToTool dùng để hoàn thiện cho HowTo. Hai loại dữ liệu này có các thuộc tính bắt buộc và nên có giống nhau.

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

Tên của vật tư hoặc dụng cụ.

HowToDirection, HowToTip

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

Sử dụng HowToDirectionHowToTip để mô tả chỉ dẫn hoặc mẹo. Hai loại dữ liệu này có các thuộc tính bắt buộc và nên có giống nhau.

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

Toàn bộ văn bản chỉ dẫn hoặc mẹo.

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.