How-to (HowTo) structured data

Use HowTo structured data to explicitly tell Google that your content is a how-to. A how-to walks users through a set of steps to successfully complete a task, and can feature video, images, and text. For example, "How to tie a tie" or "How to tile a kitchen backsplash". If each step in your how-to must be read in sequence, it's a good sign that HowTo structured data could benefit your content. HowTo structured data is appropriate when the how-to is the main focus of the page.

Properly marked up how-to pages may be eligible to have a rich result on Search and an Action on the Google Assistant, which can help your site reach the right users.

How to add structured data

Structured data is a standardized format for providing information about a page and classifying the page content. If you're new to structured data, you can learn more about how structured data works.

Here's an overview of how to build, test, and release structured data. For a step-by-step guide on how to add structured data to a web page, check out the structured data codelab.

  1. Add the required properties. Based on the format you're using, learn where to insert structured data on the page.
  2. Follow the guidelines.
  3. Validate your code using the Rich Results Test and fix any critical errors. Consider also fixing any non-critical issues that may be flagged in the tool, as they can help improve the quality of your structured data (however, this isn't necessary to be eligible for rich results).
  4. Deploy a few pages that include your structured data and use the URL Inspection tool to test how Google sees the page. Be sure that your page is accessible to Google and not blocked by a robots.txt file, the noindex tag, or login requirements. If the page looks okay, you can ask Google to recrawl your URLs.
  5. To keep Google informed of future changes, we recommend that you submit a sitemap. You can automate this with the Search Console Sitemap API.

Feature availability

How-to rich results are currently available in all languages and countries where Google Search is available. The feature is available on mobile and desktop devices.

Examples

Here are some examples of how your content may appear in How-to rich results. A more visual variant may be displayed if your how-to contains an image of the completed how-to and an image per step. Make sure to add as many required and recommended properties as possible so your how-to can be most effectively represented in Google Search.

Standard How-to rich result

Standard How-To Rich Result in Google Search
JSON-LD

Here's an example of a text based how-to page using JSON-LD. The example only has one image that represents the final state of the how-to. In this result, users may see a preview of the content for some steps.


<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

Here's an example of a text based how-to page using Microdata. The example only has one image that represents the final state of the how-to. In this result, users may see a preview of the content for some steps.


<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 rich result with images for each step

Image of a Visual How-to Rich Result
JSON-LD

Here's an example of a how-to page with images for each step using JSON-LD. When there's an image for each step, users may see a preview with a carousel of images.


<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

Here's an example of a how-to page with images for each step using Microdata. When there's an image for each step, users may see a preview with a carousel of images.


<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 rich result with video

JSON-LD

Here's an example of a how-to page that contains a mix of text, images, and video clips using JSON-LD. 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>
    <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

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&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>

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:

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.

The Google-supported properties are the following:

Required properties
name

Text

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:

  • Every page must contain at least one image. Google will pick the best image(s) to display in Search results based on the aspect ratio and resolution.
  • Image URLs must be crawlable and indexable. To check if Google can access your URLs, use the URL Inspection tool.
  • Images must represent the marked up content.
  • Images must be in a file format that's supported by Google Images.
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

Clip

A video clip that is part of the entire video.

video.hasPart.endOffset

Number

The end time of the clip expressed as the number of seconds from the beginning of the video.

video.hasPart.name

Text

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

Number

The start time of the clip expressed as the number of seconds from the beginning of the video.

video.hasPart.url

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.

The Google-supported properties are the following:

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.

The Google-supported properties are the following:

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.

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.

Monitor rich results with Search Console

Search Console is a tool that helps you monitor how your pages perform in Google Search. You don't have to sign up for Search Console to be included in Google Search results, but it can help you understand and improve how Google sees your site. We recommend checking Search Console in the following cases:

  1. After deploying structured data for the first time
  2. After releasing new templates or updating your code
  3. Analyzing traffic periodically

After deploying structured data for the first time

After Google has indexed your pages, look for issues using the relevant Rich result status report. Ideally, there will be an increase of valid items, and no increase in invalid items. If you find issues in your structured data:

  1. Fix the invalid items.
  2. Inspect a live URL to check if the issue persists.
  3. Request validation using the status report.

After releasing new templates or updating your code

When you make significant changes to your website, monitor for increases in structured data invalid items.
  • If you see an increase in invalid items, perhaps you rolled out a new template that doesn't work, or your site interacts with the existing template in a new and bad way.
  • If you see a decrease in valid items (not matched by an increase in invalid items), perhaps you are no longer embedding structured data in your pages. Use the URL Inspection tool to learn what is causing the issue.

Analyzing traffic periodically

Analyze your Google Search traffic using the Performance Report. The data will show you how often your page appears as a rich result in Search, how often users click on it and what is the average position you appear on search results. You can also automatically pull these results with the Search Console API.

Troubleshooting

If you're having trouble implementing or debugging structured data, here are some resources that may help you.

  • If you're using a content management system (CMS) or someone else is taking care of your site, ask them to help you. Make sure to forward any Search Console message that details the issue to them.
  • Google does not guarantee that features that consume structured data will show up in search results. For a list of common reasons why Google may not show your content in a rich result, see the General Structured Data Guidelines.
  • You might have an error in your structured data. Check the list of structured data errors.
  • If you received a structured data manual action against your page, the structured data on the page will be ignored (although the page can still appear in Google Search results). To fix structured data issues, use the Manual Actions report.
  • Review the guidelines again to identify if your content isn't compliant with the guidelines. The problem can be caused by either spammy content or spammy markup usage. However, the issue may not be a syntax issue, and so the Rich Results Test won't be able to identify these issues.
  • Troubleshoot missing rich results / drop in total rich results.
  • Allow time for re-crawling and re-indexing. Remember that it may take several days after publishing a page for Google to find and crawl it. For general questions about crawling and indexing, check the Google Search crawling and indexing FAQ.
  • Post a question in the Google Search Central forum.