How-to (HowTo
) 結構化資料
使用 HowTo
結構化資料就是在明確告訴 Google,您的內容是操作說明。操作說明的目的是讓使用者能夠按照一系列步驟成功完成某件事,內文可穿插影片、圖片和文字輔助說明。例如教人「如何打領帶」或「如何為廚房背牆貼上磁磚」。如果您的操作說明需要依照順序完成每一個步驟,使用 HowTo
結構化資料對您的內容就有加分效果。如果網頁主要用於描述操作說明,就相當適合採用 HowTo
結構化資料。
只要為操作說明網頁加入適當標記,就能顯示為複合式搜尋結果,而且您可以運用 Google 助理的動作,讓網站更容易觸及合適的使用者。
如何新增結構化資料
結構化資料是一種標準化格式,能夠提供網頁相關資訊並分類網頁內容。如果您是第一次使用結構化資料,請參閱這篇文章,進一步瞭解結構化資料的運作方式。
以下簡要說明如何建立、測試及發布結構化資料。如需在網頁中新增結構化資料的逐步指南,請前往結構化資料程式碼研究室。
- 新增必要屬性。根據您使用的格式,瞭解要在網頁中的什麼位置插入結構化資料。
- 遵循指南規範。
- 使用複合式搜尋結果測試驗證程式碼,並修正所有重大錯誤。此外,我們也建議您修正工具中可能標記的任何非重大問題,因為這有助於改善結構化資料的品質 (但並非符合複合式搜尋結果的顯示條件)。
- 部署幾個包含結構化資料的網頁,並使用網址檢查工具測試 Google 轉譯網頁的情形。請確認 Google 可以存取您的網頁,且網頁並未遭到 robots.txt 檔案或
noindex
標記封鎖,也未設有登入規定。如果網頁看起來沒問題,您可以要求 Google 重新檢索您的網址。 - 為了讓 Google 掌握日後的異動內容,建議您提交 Sitemap。您可以使用 Search Console Sitemap API 自動執行這項操作。
功能適用情況
只要 Google 搜尋支援您的語言且適用於您所在的國家/地區,即可使用 How-to 複合式搜尋結果。這項功能適用於行動裝置和電腦。
範例
以下列舉一些內容形式各異的 How-to 複合式搜尋結果範例。如果您的操作說明附有各步驟圖片,最後程序結束還有一張完成圖,瀏覽起來就更具有視覺張力。請儘可能多加入必要屬性和建議屬性,讓您的操作說明能在 Google 搜尋結果中展現最理想的效果。
標準操作說明複合式搜尋結果

以下示範以 JSON-LD 格式呈現的文字操作說明網頁,文中只有一張圖片,用來展示操作說明的最後狀態。使用者可以從這個搜尋結果預覽部分步驟的內容。
<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>
以下示範如何以微資料格式呈現文字操作說明網頁,文中只有一張圖片,用來展示操作說明的最後狀態。使用者可以從這個搜尋結果預覽部分步驟的內容。
<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>
附有步驟圖片的 How-to 複合式搜尋結果

以下示範的是以 JSON-LD 格式呈現的操作說明網頁,附有步驟圖片。當每個步驟都有示意圖時,使用者可以在輪轉介面中預覽圖片。
<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>
以下示範的是以微資料格式呈現的操作說明網頁,附有步驟圖片。當每個步驟都有示意圖時,使用者可以在輪轉介面中預覽圖片。
<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>
附有影片的 How-to 複合式搜尋結果
以下示範的是以 JSON-LD 格式呈現的操作說明網頁,內文由文字、圖片和短片構成。此範例包含 1 部解說影片,其中有一部影片加上標記 Clip
structured data.
<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&t=29"
},
{
"@type": "Clip",
"@id": "Clip2",
"name": "Select Trivia Template",
"startOffset": 36,
"endOffset": 45,
"url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&t=36"
},
{
"@type": "Clip",
"@id": "Clip3",
"name": "Choose a Personality",
"startOffset": 45,
"endOffset": 65,
"url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&t=45"
},
{
"@type": "Clip",
"@id": "Clip4",
"name": "Feed your content",
"startOffset": 65,
"endOffset": 154,
"url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&t=65"
},
{
"@type": "Clip",
"@id": "Clip5",
"name": "Create the action",
"startOffset": 154,
"endOffset": 172,
"url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&t=154"
},
{
"@type": "Clip",
"@id": "Clip6",
"name": "Test your action",
"startOffset": 172,
"endOffset": 212,
"url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&t=172"
},
{
"@type": "Clip",
"@id": "Clip7",
"name": "Submit your action",
"startOffset": 212,
"endOffset": 285,
"url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&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
Here's an example of a how-to page that contains a mix of text, images, and video clips using Microdata. The example contains 1 video of the how-to, with steps in that same video marked up with Clip structured data.
<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&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&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&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&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&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&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&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>
Guidelines
For your page to be eligible for How-to rich results and a How-to Action for the Google
Assistant, you must follow these guidelines:
- General structured data guidelines
- Search Essentials
- Content restrictions policy for Actions on Google
- How-to content guidelines
Content guidelines
- Advertising: Don't use
HowTo
structured data for advertising purposes.
- Ineligible Content: How-to rich results may not be displayed if the content
is obscene, profane, sexually explicit, or graphically violent; or if it promotes dangerous or
illegal activities or has hateful or harassing language.
- Source: All
HowTo
content must be visible to the user on
the source page. Make sure that the how-to is the main focus of the source page. Don't include more
than one HowTo
for a certain page.
- Materials and Tools: Add structured data to all materials and tools necessary
to complete the task.
- Steps: Each
HowToStep
must include the entire contents of the
source step. Don't mark up non-step data such as a summary or introduction section as a step.
- Step images: If the steps are best represented visually, ensure the images
in these steps are marked up for each
HowToStep
. Only mark up the instructional
step images that are specific for each step and don't use the same image in multiple steps for
the same how-to. Use the same images that correspond to the content on your page. Don't
use images that don't reflect the how-to content, or use different images to optimize the
rich-result.
- Final image: If the end result can be accurately described by an image,
ensure this image is present on the page, and your
HowTo
markup includes it using
the image
property. This image may be the same as the one marked up for the last
step.
- Content: Don't use
HowTo
markup for recipes; instead,
use Recipe structured data
.
Articles and general advice content that is not a specific set of instructions are not
appropriate for HowTo
markup.
Structured data type definitions
You must include the required properties for your content to be eligible for display as a rich
result. You can also include the recommended properties to add more information to your structured
data, which could provide a better user experience.
HowTo
The full definition of HowTo
is available at
schema.org/HowTo.
The HowTo
type indicates that the page contains a how-to. There
must be one HowTo
type definition per page.
Required properties
name
The title of the how-to. For example, "How to tie a tie".
step
HowToStep
or HowToSection
An array of HowToStep
elements which comprise
the full instructions of the how-to. Each step
element must correspond to
an individual step in the instructions. Don't mark up non-step data such as a summary or
introduction section, using this property.
For example:
-
You can specify the complete text for each step
by setting the
text
of each HowToStep
. An image
,
the title of a step given as name
, and url
are optional, but
recommended, since optional properties may contribute to a rich presentation of the search result.
"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"
}
]
-
For complex steps, you can provide a step
name
and list individual substeps using HowToDirection
or
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"
}
}
]
An array of HowToSection
elements which comprise
the full instructions of this HowTo
. For example:
"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!"
}
]
}
]
Recommended properties
estimatedCost
MonetaryAmount
or Text
The estimated cost of the supplies consumed when performing instructions.
image
ImageObject
or URL
Image of the completed how-to. Additional image guidelines:
- Image URLs must be crawlable and indexable.
- Images must represent the marked up content.
- Images must be in .jpg, .png, or. gif format.
supply
HowToSupply
or Text
A supply consumed when performing instructions or a direction.
tool
HowToTool
or Text
An object used (but not consumed) when performing instructions or a direction.
totalTime
Duration
The total time required to perform all instructions or directions (including time to
prepare the supplies), in ISO 8601 duration format.
video
VideoObject
A video of the how-to. Follow the list of required and recommended
Video properties. Mark the steps
within a video with 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
A video clip that is part of the entire video.
video.hasPart.endOffset
The end time of the clip expressed as the number of seconds from the beginning of the video.
video.hasPart.name
The name of the clip. For example, "Pull and tighten" could be the name of the clip that
shows how to pull and tighten a tie.
video.hasPart.startOffset
The start time of the clip expressed as the number of seconds from the beginning of the video.
video.hasPart.url
A link to the start time of the clip. The start time must match the value set in
video.hasPart.startOffset
. For example:
"startOffset": 30,
"endOffset": 45,
"url": "https://www.youtube.com/watch?v=4AOI1tZrgMI&t=30"
HowToSection
The full definition of HowToSection
is available at
schema.org/HowToSection.
The HowToSection
type defines a section of a single how-to and
contains one or multiple steps. Don't use HowToSection
to define different solutions
to complete a task; instead, use HowToSection
as part of a single solution. For listing
multiple ways to complete a task, use multiple HowTo
objects. For example,
multiple ways to change a flat tire are listed as multiple HowTo
objects, not
HowToSection
objects.
Required properties
itemListElement
HowToStep
A list of detailed steps for the section.
name
Text
The name of the section.
HowToStep
The full definition of HowToStep
is available at
schema.org/HowToStep.
The HowToStep
type defines the simple textual step in a how-to, and may
include an image.
Required properties
itemListElement
HowToDirection
or HowToTip
A list of detailed substeps, including directions or tips.
Optional if text
is used.
text
Text
The full instruction text of this step.
Optional if itemListElement
is used. Additional guidelines:
- Include only instructional text and don't include other text such as
"Directions", "Watch the video", "Step 1". Specify those phrases outside of the marked
up property.
Not recommended:
{
"@type": "HowToStep",
"text": "Step 1. Drape the tie around your neck."
}
Recommended:
{
"@type": "HowToStep",
"text": "Drape the tie around your neck."
}
Recommended properties
image
ImageObject
or URL
An image for the step. Additional image guidelines:
- Image URLs must be crawlable and indexable.
- Images must represent the marked up content.
- Images must be in .jpg, .png, or. gif format.
name
Text
The word or short phrase summarizing the step (for example, "Attach wires to post" or "Dig").
Don't use non-descriptive text (for example, "Step 1: [text]") or other form of step number
(for example, "1. [text]").
url
URL
A URL
that directly links to the step (if one is available). For example,
an anchor link fragment.
video
VideoObject
or Clip
A video for this step of the how-to, or a clip from one video that shows the entire how-to.
For VideoObject
, follow the list of required and recommended
Video properties.
Here's an example using 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"
}
}
Here's an example using 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
The full definitions of HowToSupply
and HowToTool
are available at
schema.org/HowToSupply and
schema.org/HowToTool.
HowToSupply
and HowToTool
are used to complete the HowTo
.
They have the same required and recommended properties.
Required properties
name
Text
The name of the supply or tool.
Recommended properties
image
ImageObject
or URL
An image of the supply or tool. Additional image guidelines:
- Image URLs must be crawlable and indexable.
- Images must represent the marked up content.
- Images must be in .jpg, .png, or. gif format.
HowToDirection
, HowToTip
The full definitions of HowToDirection
and HowToTip
are available at
schema.org/HowToDirection and
schema.org/HowToTip.
Use HowToDirection
and HowToTip
to describe directions or tips.
They have the same required and recommended properties.
Required properties
text
Text
The text of the direction or tip.
透過 Search Console 監控複合式搜尋結果
Search Console 這項工具能協助您監控網頁在 Google 搜尋中的成效。
Google 會主動將您的網頁納入搜尋結果,您無需為此申請使用 Search Console,但是您可以藉由這項服務瞭解並改善 Google 檢索您網站的方式。建議在下列情況查看 Search Console:
首次部署結構化資料後
在 Google 為網頁建立索引後,請透過相關的複合式搜尋結果狀態報告查看是否存在任何問題。理想情況下,有效項目會增加,但無效項目不會變多。如果您在結構化資料中發現問題,請依下列步驟操作:
發布新範本或更新程式碼後
當您對網站進行大幅變更時,請留意結構化資料中無效項目是否增加。
- 如果無效項目增加,代表您推出的新範本可能無法正常運作,或者您的網站採用新方式與現有範本互動,但效果不佳。
- 如果有效項目減少,但錯誤並未隨之增加,代表您的網頁可能已不再內嵌結構化資料。請使用網址檢查工具找出問題的成因。
定期分析流量
透過成效報表分析您的 Google 搜尋流量。
這些資料會顯示您的網頁在 Google 搜尋中呈現為複合式搜尋結果的頻率、使用者點擊的頻率,以及您的搜尋結果平均排名。您也可以使用 Search Console API 自動提取這些結果。
疑難排解
如果無法順利導入結構化資料,或是偵錯時遇到困難,請參考下列資源。
- 如果您使用內容管理系統 (CMS) 或者有他人代您處理網站事務,請向對方尋求協助。請務必將所有與問題相關的 Search Console 訊息都轉寄給對方,這些訊息會針對問題提供詳細說明。
- Google 不保證採用結構化資料的功能一定會顯示在搜尋結果中。如要瞭解為何 Google 無法將您的內容顯示為複合式搜尋結果,請參閱結構化資料通用指南裡的常見原因清單。
- 結構化資料可能含有錯誤。請查看結構化資料錯誤清單。
- 如果您的網頁遭到結構化資料專人介入處理處置,系統會忽略網頁上的結構化資料,但該網頁仍然會出現在 Google 搜尋結果中。請使用專人介入處理報告來修正結構化資料問題。
- 再次查看指南規範,確認您的內容是否符合規定。問題可能是因為垃圾內容或不當使用的標記所引起。不過,因為問題可能與語法無關,所以複合式搜尋結果測試無法找出問題所在。
- 疑難排解:未出現複合式搜尋結果/複合式搜尋結果總數減少。
- 請等待一段時間,讓系統執行重新檢索和重新建立索引作業。在發布網頁後,Google 可能需要幾天時間才會找到網頁並進行檢索。如有關於檢索和索引建立作業的一般問題,請參閱 Google 搜尋檢索和索引常見問題。
- 前往 Google 搜尋中心論壇發文提問。