Đưa công thức nấu ăn của bạn lên Google

Giúp người dùng tìm thấy nội dung công thức nấu ăn của bạn bằng cách sử dụng dữ liệu có cấu trúc để cho Google biết về công thức nấu ăn đó. Khi bạn cung cấp thông tin như điểm xếp hạng của người đánh giá, thời gian nấu và chuẩn bị cũng như thông tin dinh dưỡng, Google có thể hiểu rõ hơn công thức nấu ăn của bạn và trình bày cho người dùng theo những cách thú vị. Công thức nấu ăn có thể xuất hiện trong kết quả của Google Tìm kiếm và Google Hình ảnh.

Công thức nấu ăn trong Google Tìm kiếm và Google Hình ảnh

Dựa trên cách bạn đánh dấu nội dung, công thức nấu ăn của bạn có thể đủ điều kiện xuất hiện kèm theo các tính năng nâng cao sau đây:

Các tính năng nâng cao cho công thức nấu ăn
Công thức nấu ăn có hướng dẫn: Cho phép Trợ lý Google hướng dẫn người dùng cách nấu theo công thức của bạn trên Google Home và màn hình thông minh bằng cách thêm dữ liệu có cấu trúc Recipe. Ngoài ra, còn có một số thuộc tính là bắt buộc đối với Công thức nấu ăn có hướng dẫn, nhưng chỉ là thuộc tính nên có đối với Google Tìm kiếm. Hãy nhớ thêm recipeIngredientrecipeInstructions.

Để biết thêm thông tin về công thức nấu ăn trên Trợ lý Google, hãy tìm hiểu cách bạn có thể xây dựng Hành động từ nội dung trên web.

Công thức nấu ăn trên Trợ lý
Băng chuyền dành riêng cho công thức nấu ăn: Cho phép người dùng khám phá các trang trong thư viện công thức của bạn bằng cách thêm dữ liệu có cấu trúc ItemList. Băng chuyền về công thức nấu ăn trong Google Tìm kiếm

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

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

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

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

Ví dụ

Dưới đây là một số ví dụ về công thức nấu ăn sử dụng mã JSON-LD.

Công thức nấu ăn có hướng dẫn

Dưới đây là ví dụ về một trang đủ điều kiện xuất hiện trên Google Tìm kiếm và dưới dạng Công thức nấu ăn có hướng dẫn trên Trợ lý.

<html>
  <head>
    <title>Party Coffee Cake</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Party Coffee Cake",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
      ],
      "author": {
        "@type": "Person",
        "name": "Mary Stone"
      },
      "datePublished": "2018-03-10",
      "description": "This coffee cake is awesome and perfect for parties.",
      "prepTime": "PT20M",
      "cookTime": "PT30M",
      "totalTime": "PT50M",
      "keywords": "cake for a party, coffee",
      "recipeYield": "10",
      "recipeCategory": "Dessert",
      "recipeCuisine": "American",
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "270 calories"
      },
      "recipeIngredient": [
        "2 cups of flour",
        "3/4 cup white sugar",
        "2 teaspoons baking powder",
        "1/2 teaspoon salt",
        "1/2 cup butter",
        "2 eggs",
        "3/4 cup milk"
        ],
      "recipeInstructions": [
        {
          "@type": "HowToStep",
          "name": "Preheat",
          "text": "Preheat the oven to 350 degrees F. Grease and flour a 9x9 inch pan.",
          "url": "https://example.com/party-coffee-cake#step1",
          "image": "https://example.com/photos/party-coffee-cake/step1.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Mix dry ingredients",
          "text": "In a large bowl, combine flour, sugar, baking powder, and salt.",
          "url": "https://example.com/party-coffee-cake#step2",
          "image": "https://example.com/photos/party-coffee-cake/step2.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Add wet ingredients",
          "text": "Mix in the butter, eggs, and milk.",
          "url": "https://example.com/party-coffee-cake#step3",
          "image": "https://example.com/photos/party-coffee-cake/step3.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Spread into pan",
          "text": "Spread into the prepared pan.",
          "url": "https://example.com/party-coffee-cake#step4",
          "image": "https://example.com/photos/party-coffee-cake/step4.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Bake",
          "text": "Bake for 30 to 35 minutes, or until firm.",
          "url": "https://example.com/party-coffee-cake#step5",
          "image": "https://example.com/photos/party-coffee-cake/step5.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Enjoy",
          "text": "Allow to cool and enjoy.",
          "url": "https://example.com/party-coffee-cake#step6",
          "image": "https://example.com/photos/party-coffee-cake/step6.jpg"
        }
      ],
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "5",
        "ratingCount": "18"
      },
      "video": {
        "@type": "VideoObject",
        "name": "How to make a Party Coffee Cake",
        "description": "This is how you make a Party Coffee Cake.",
        "thumbnailUrl": [
          "https://example.com/photos/1x1/photo.jpg",
          "https://example.com/photos/4x3/photo.jpg",
          "https://example.com/photos/16x9/photo.jpg"
         ],
        "contentUrl": "http://www.example.com/video123.mp4",
        "embedUrl": "http://www.example.com/videoplayer?video=123",
        "uploadDate": "2018-02-05T08:00:00+08:00",
        "duration": "PT1M33S",
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": { "@type": "WatchAction" },
          "userInteractionCount": 2347
        },
        "expires": "2019-02-05T08:00:00+08:00"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Công thức nấu ăn chỉ xuất hiện trên Tìm kiếm

Dưới đây là ví dụ về một trang đủ điều kiện xuất hiện trên Tìm kiếm. Trang này không đủ điều kiện xuất hiện dưới dạng Công thức nấu ăn có hướng dẫn trên Trợ lý.

<html>
  <head>
    <title>Non-alcoholic Pina Colada</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Non-alcoholic Pina Colada",
      "image": [
      "https://example.com/photos/1x1/photo.jpg",
      "https://example.com/photos/4x3/photo.jpg",
      "https://example.com/photos/16x9/photo.jpg"
      ],
      "author": {
        "@type": "Person",
        "name": "Mary Stone"
      },
      "datePublished": "2018-03-10",
      "description": "This non-alcoholic pina colada is everyone's favorite!",
      "recipeCuisine": "American",
      "prepTime": "PT1M",
      "cookTime": "PT2M",
      "totalTime": "PT3M",
      "keywords": "non-alcoholic",
      "recipeYield": "1 serving",
      "recipeCategory": "Drink",
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "120 calories"
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "5",
        "ratingCount": "18"
      },
      "recipeIngredient": [
        "2 cups of pineapple juice",
        "5/8 cup cream of coconut",
        "ice"
      ],
      "recipeInstructions": [
        {
          "@type": "HowToStep",
          "text": "Blend 2 cups of pineapple juice and 5/8 cup cream of coconut until smooth."
        },
        {
          "@type": "HowToStep",
          "text": "Fill a glass with ice."
        },
        {
          "@type": "HowToStep",
          "text": "Pour the pineapple juice and coconut mixture over ice."
        }
      ],
      "video": {
        "@type": "VideoObject",
        "name": "How to make a Party Coffee Cake",
        "description": "This is how you make a Party Coffee Cake.",
        "thumbnailUrl": [
          "https://example.com/photos/1x1/photo.jpg",
          "https://example.com/photos/4x3/photo.jpg",
          "https://example.com/photos/16x9/photo.jpg"
         ],
        "contentUrl": "http://www.example.com/video123.mp4",
        "embedUrl": "http://www.example.com/videoplayer?video=123",
        "uploadDate": "2018-02-05T08:00:00+08:00",
        "duration": "PT1M33S",
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": { "@type": "WatchAction" },
          "userInteractionCount": 2347
        },
        "expires": "2019-02-05T08:00:00+08:00"
       }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Dưới đây là ví dụ về một trang tóm tắt công thức nấu ăn (một trang có danh sách các công thức nấu ăn) kèm theo dữ liệu có cấu trúc itemList. Nội dung này có thể đủ điều kiện xuất hiện ở dạng lưới trong kết quả Tìm kiếm.

<html>
  <head>
    <title>Grandma's Best Pie Recipes</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "ItemList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "url": "https://example.com/apple-pie.html"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "url": "https://example.com/blueberry-pie.html"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "url": "https://example.com/cherry-pie.html"
        }]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Nguyên tắc

Bạn phải tuân theo nguyên tắc chung về dữ liệu có cấu trúc để công thức nấu ăn của bạn đủ điều kiện xuất hiện trong kết quả Tìm kiếm. Nếu bạn muốn công thức nấu ăn của mình xuất hiện dưới dạng Công thức nấu ăn có hướng dẫn trên Trợ lý, hãy đảm bảo rằng nội dung của bạn tuân theo chính sách về các hạn chế đối với nội dung trên Trợ lý.

Các nguyên tắc sau áp dụng cho dữ liệu có cấu trúc Recipe.

  • Sử dụng dữ liệu có cấu trúc Recipe cho nội dung về việc chế biến một món ăn cụ thể. Ví dụ: "tẩy da chết cho mặt" hoặc "ý tưởng tiệc tùng" không phải là tên hợp lệ cho một món ăn.
  • Để công thức nấu ăn của bạn đủ điều kiện xuất hiện trong băng chuyền hoặc lưới, bạn phải tuân theo các nguyên tắc sau:
    • Cung cấp dữ liệu có cấu trúc ItemList để tóm tắt các công thức nấu ăn cho danh sách. Bạn có thể cung cấp dữ liệu có cấu trúc ItemList riêng hoặc cùng với dữ liệu có cấu trúc cho công thức nấu ăn.
    • Trang web của bạn phải có một trang tóm tắt liệt kê tất cả các công thức nấu ăn trong tuyển tập. Ví dụ: khi nhấp vào đường liên kết tóm tắt từ kết quả Tìm kiếm, người dùng sẽ được chuyển hướng đến đúng trang trên trang web của bạn, tại đó liệt kê các công thức nấu ăn liên quan đến nội dung tìm kiếm của người dùng.

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

Bạn phải sử dụng các thuộc tính bắt buộc để nội dung của mình đủ điều kiện xuất hiện dưới dạng kết quả nhiều định dạng trong Google Tìm kiếm. Bạn cũng có thể thêm các thuộc tính mà chúng tôi khuyên dùng để bổ sung thông tin về nội dung nhằm mang lại trải nghiệm tốt hơn cho người dùng.

Recipe

Hãy đánh dấu nội dung công thức nấu ăn của bạn bằng các thuộc tính schema.org sau đây của loại Recipe. Bạn có thể xem định nghĩa đầy đủ về Recipe tại schema.org/Recipe.

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

URL hoặc ImageObject

Hình ảnh của món ăn đã hoàn thành.

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

  • Mỗi trang phải chứa ít nhất một hình ảnh (cho dù bạn có đánh dấu hình ảnh đó hay không). Google sẽ chọn hình ảnh tốt nhất để hiển thị trong kết quả tìm kiếm trên Google dựa trên tỷ lệ khung hình và độ phân giải.
  • URL của hình ảnh phải cho phép Google thu thập dữ liệu và lập chỉ mục. Để kiểm tra xem Google truy cập được URL của bạn hay không, hãy dùng Công cụ kiểm tra URL.
  • Hình ảnh phải mang tính đại diện cho nội dung được đánh dấu.
  • Tệp hình ảnh phải thuộc một định dạng mà Google Hình ảnh hỗ trợ.
  • Để có kết quả tốt nhất, hãy cung cấp nhiều hình ảnh có độ phân giải cao (tối thiểu 50.000 pixel khi nhân chiều rộng và chiều cao) với các tỷ lệ khung hình sau: 16x9, 4x3 và 1x1.

Ví dụ:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
name

Text

Tên của món ăn.

Thuộc tính nên có
aggregateRating

AggregateRating

Chú thích về điểm đánh giá trung bình được gán cho mục. Hãy tuân thủ các Nguyên tắc về đoạn trích thông tin đánh giá và danh sách các thuộc tính AggregateRating bắt buộc và nên có.

Nếu dữ liệu có cấu trúc Recipe chứa một bài đánh giá duy nhất, tên của người đánh giá phải là một người hoặc tổ chức hợp lệ. Ví dụ: "Giảm 50% cho nguyên liệu" không phải là một tên hợp lệ cho người đánh giá.

author

Person hoặc Organization

Tên của người hoặc tổ chức đã viết công thức nấu ăn này.

cookTime

Duration

Thời gian cần thiết để nấu món ăn trong thực tế, ở định dạng ISO 8601. Bạn có thể sử dụng các phần tử con cho thời gian tối thiểu và tối đa để chỉ định một khoảng thời gian cụ thể.

Luôn sử dụng kết hợp với prepTime.

datePublished

Date

Ngày xuất bản công thức nấu ăn, ở định dạng ISO 8601.

description

Text

Tóm tắt ngắn mô tả món ăn.

keywords

Text

Các cụm từ khác về công thức nấu ăn, chẳng hạn như mùa ("mùa hè"), ngày lễ ("Halloween") hoặc các từ mô tả khác ("nhanh", "dễ dàng", "chính hiệu").

Nguyên tắc bổ sung

  • Tách nhiều mục trong danh sách từ khóa bằng dấu phẩy.
  • Đừng sử dụng một thẻ thuộc loại recipeCategory hoặc recipeCuisine.

    Không nên

    
    "keywords": "dessert, American"
    

    Nên

    
    "keywords": "winter apple pie, nutmeg crust"
    
nutrition.calories

Energy

Lượng calo trong mỗi khẩu phần làm ra từ công thức này. Nếu xác định nutrition.calories thì bạn phải chỉ định số lượng khẩu phần trong recipeYield.

prepTime

Duration

Thời gian chuẩn bị nguyên liệu và không gian chế biến món ăn, ở định dạng ISO 8601. Bạn có thể sử dụng các phần tử con cho thời gian tối thiểu và tối đa để chỉ định một khoảng thời gian cụ thể.

Luôn sử dụng kết hợp với cookTime.

recipeCategory

Text

Loại món ăn của công thức. Ví dụ: "món ăn tối", "món chính" hoặc "món tráng miệng, món ăn nhẹ".

recipeCuisine

Text

Vùng miền đặc trưng của công thức nấu ăn này. Ví dụ: "Pháp", "Địa Trung Hải" hoặc "Mỹ".

recipeIngredient

Text

Nguyên liệu chế biến được sử dụng trong công thức.

Ví dụ:


"recipeIngredient": [
  "1 (15 ounce) package double crust ready-to-use pie crust",
  "6 cups thinly sliced, peeled apples (6 medium)",
  "3/4 cup sugar",
  "2 tablespoons all-purpose flour",
  "3/4 teaspoon ground cinnamon",
  "1/4 teaspoon salt",
  "1/8 teaspoon ground nutmeg",
  "1 tablespoon lemon juice"
]

Nguyên tắc bổ sung:

  • Chỉ bao gồm văn bản về các nguyên liệu bắt buộc để nấu theo công thức này.
  • Không bao gồm thông tin không cần thiết, chẳng hạn như định nghĩa về nguyên liệu.
recipeInstructions

HowToStep, HowToSection hoặc Text

Các bước chế biến món ăn.

Có một số tùy chọn để thiết lập giá trị của recipeInstructions. Chúng tôi khuyên bạn nên sử dụng HowToStep. Bạn cũng có thể sử dụng HowToSection để nhóm các thuộc tính HowToStep khi công thức của bạn có nhiều phần.

  • HowToStep: Hãy chỉ định các bước chế biến theo công thức này bằng HowToStep.
    
    "recipeInstructions": [
      {
        "@type": "HowToStep",
        "name": "Preheat",
        "text": "Heat oven to 425°F.",
        "url": "https://example.com/recipe#step1",
        "image": "https://example.com/photos/recipe/step1.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Prepare crust",
        "text": "Place 1 pie crust in ungreased 9-inch glass pie plate, pressing firmly against side and bottom.",
        "url": "https://example.com/recipe#step2",
        "image": "https://example.com/photos/recipe/step2.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Make filling",
        "text": "In large bowl, gently mix filling ingredients; spoon into crust-lined pie plate.",
        "url": "https://example.com/recipe#step3",
        "image": "https://example.com/photos/recipe/step3.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Cover",
        "text": "Top with second crust. Cut slits or shapes in several places in top crust.",
        "url": "https://example.com/recipe#step4",
        "image": "https://example.com/photos/recipe/step4.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Bake",
        "text": "Bake 40 to 45 minutes. The pie is ready when the apples are tender and the crust is golden brown.",
        "url": "https://example.com/recipe#step5",
        "image": "https://example.com/photos/recipe/step5.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Cool",
        "text": "Cool on cooling rack at least 2 hours before serving.",
        "url": "https://example.com/recipe#step6",
        "image": "https://example.com/photos/recipe/step6.jpg"
      }
    ]
    
  • HowToSection (chỉ khi một công thức có nhiều phần): Sử dụng để nhóm các bước thành nhiều phần. Hãy xem HowToSection để biết ví dụ.
  • Một thuộc tính văn bản duy nhất hoặc lặp lại: Một đoạn văn bản bao gồm một hoặc nhiều bước. Google coi tất cả các bước là thuộc về một phần duy nhất. Các giá trị thuộc tính lặp lại được nối thành một đoạn văn bản duy nhất. Sau đó, Google cố gắng tự động chia một đoạn văn bản thành các bước riêng lẻ. Google cố gắng tìm và xóa bất kỳ tên phần, số bước, từ khóa và nội dung nào khác có thể xuất hiện nhầm trong văn bản về các bước trong công thức nấu ăn. Để có kết quả tốt nhất, bạn nên chỉ định rõ ràng các bước bằng HowToStep.
    
    "recipeInstructions": [
      "In large bowl, gently mix filling ingredients; spoon into crust-lined pie
    plate. Top with second crust. Cut slits or shapes in several places in top
    crust. Bake 40 to 45 minutes. The pie is ready when the or until apples are
    tender and the crust is golden brown. Cool on cooling rack at least 2 hours
    before serving."
    ]
    

Nguyên tắc bổ sung

  • Đừng bao gồm siêu dữ liệu thuộc một loại khác. Cụ thể là bạn nên sử dụng thuộc tính author để chỉ định tác giả, recipeCuisine để chỉ định vùng ẩm thực, recipeCategory để chỉ định thể loại và keywords để chỉ định các từ khóa khác.
  • Chỉ bao gồm văn bản về cách chế biến món ăn và đừng bao gồm các văn bản khác, chẳng hạn như "Chỉ dẫn", "Xem video", "Bước 1". Bạn nên chỉ định các cụm từ đó bên ngoài dữ liệu có cấu trúc.

    Không nên

    
    "recipeInstructions": [{
      "@type": "HowToStep",
      "text": "Step 1. Heat oven to 425°F."
    }]
    

    Nên

    
    "recipeInstructions": [{
      "@type": "HowToStep",
      "text": "Heat oven to 425°F."
    }]
    
recipeYield

Text hoặc Integer

Số lượng phần ăn của công thức. Hãy sử dụng một con số duy nhất để chỉ định số lượng khẩu phần làm ra từ công thức. Nếu muốn chỉ định số phần ăn theo cách khác, bạn có thể thêm thông tin. Thuộc tính này là bắt buộc nếu bạn cung cấp thông tin dinh dưỡng trên mỗi khẩu phần (chẳng hạn như nutrition.calories).

Ví dụ


"recipeYield": [
  "6",
  "24 cookies"
]
totalTime

Duration

Tổng thời gian cần thiết để chuẩn bị món ăn, ở định dạng ISO 8601. Bạn có thể sử dụng các phần tử con cho thời gian tối thiểu và tối đa để chỉ định một khoảng thời gian cụ thể.

Sử dụng totalTime hoặc kết hợp cả cookTimeprepTime.

video VideoObject

Một video mô tả các bước làm món ăn. Hãy tham khảo danh sách thuộc tính Video bắt buộc và nên có.

  • Video without clips
    
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "video": [
        {
          "@type": "VideoObject",
          "name": "Delicious PieParty Coffee Cake",
          "description": "How to make a delicious pie - quickly and easily!How to make Party Coffee Cake.",
          "thumbnailUrl": [
            "https://example.com/photos/1x1/photo.jpg",
            "https://example.com/photos/4x3/photo.jpg",
            "https://example.com/photos/16x9/photo.jpg"
          ],
          "contentUrl": "https://www.example.com/videos/123_600x400.mp4",
          "embedUrl": "https://www.example.com/videoplayer?id=123",
          "uploadDate": "2018-02-05T08:00:00+08:00"
        }
      ]
    }
    ]
    
  • Video with clips: Một video có các đoạn tương ứng với các phần của video. Các phần khác của công thức (chẳng hạn như các bước) có thể có liên quan đến những đoạn video này, như xác định trong video.hasPart.
    
    {
      "@context": "http://schema.org/",
      "@type": "Recipe",
      "video": {
        "@type": "VideoObject",
        "name": "Make a pie",
        "description": "How to make a delicious pie - quickly and easily!",
        "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": "2018-02-05T08:00:00+08:00",
        "duration": "P1MT10S",
        "hasPart": [{
          "@type": "Clip",
          "@id": "Clip1",
          "name": "Preheat oven",
          "startOffset": 20,
          "endOffset": 29
          "url": "https://www.example.com/example?t=20"
         },
         {
           "@type": "Clip",
           "@id": "Clip2",
           "name": "Arrange pie crust",
           "startOffset": 29,
           "endOffset": 36
           "url": "https://www.example.com/example?t=29"
         },
         {
           "@type": "Clip",
           "@id": "Clip3",
           "name": "Make filling",
           "startOffset": 36,
           "endOffset": 45
           "url": "https://www.example.com/example?t=36"
         },
         {
           "@type": "Clip",
           "@id": "Clip4",
           "name": "Add filling",
           "startOffset": 45,
           "endOffset": 65
           "url": "https://www.example.com/example?t=45"
         },
         {
           "@type": "Clip",
           "@id": "Clip5",
           "name": "Bake",
           "startOffset": 65,
           "endOffset": 80
           "url": "https://www.example.com/example?t=65"
         },
         {
           "@type": "Clip",
           "@id": "Clip6",
           "name": "Let cool",
           "startOffset": 80,
           "endOffset": 90
           "url": "https://www.example.com/example?t=80"
        }]
      }
    }
    
video.hasPart

Clip

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

video.hasPart.endOffset

Number

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

video.hasPart.name

Text

Tên của đoạn. Ví dụ: Bạn có thể sử dụng tên "Làm vỏ bánh" cho đoạn video hướng dẫn cách cho vỏ bánh vào khuôn.

video.hasPart.startOffset

Number

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

video.hasPart.url

URL

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


"startOffset": 20,
"endOffset": 29,
"url": "https://www.example.com/example?t=20"

HowToSection

Sử dụng HowToSection để nhóm các bước theo trình tự (hoặc các phần phụ) tạo nên một phần của hướng dẫn chế biến trong công thức. Hãy chỉ định HowToSection trực tiếp trong định nghĩa của thuộc tính recipeInstructions hoặc dưới dạng itemListElement của một HowToSection khác.

Loại HowToSection xác định một phần của một công thức nấu ăn và chứa một hoặc nhiều bước. Đừng sử dụng HowToSection để xác định nhiều công thức cho cùng một món; thay vào đó, hãy sử dụng HowToSection dưới dạng một phần của một công thức duy nhất. Để liệt kê nhiều công thức cho một món, hãy sử dụng nhiều đối tượng Recipe. Ví dụ: các cách làm bánh táo nên được liệt kê dưới dạng nhiều đối tượng Recipe thay vì đối tượng HowToSection.

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

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

Danh sách các bước chi tiết cho phần và/hoặc các phần phụ. Ví dụ: một công thức làm pizza có thể gồm một phần về các bước làm đế bánh, một phần về cách sơ chế nhân và một phần về cách cho nhân lên đế và nướng. Nếu một công thức nấu ăn có nhiều phần nhưng những phần đó không được xác định bằng HowToSections, thì Trợ lý có thể trình bày nhầm tên của một phần thành một bước khác (ví dụ: theo sau bước "Làm đế bánh" là bước "Trộn bột và lên men").

Ví dụ:


{
  "@type": "HowToSection",
  "name": "Assemble the pie",
  "itemListElement": [
    {
      "@type": "HowToStep",
      "text": "In large bowl, gently mix filling ingredients; spoon into crust-lined pie plate."
    }, {
      "@type": "HowToStep",
      "text": "Top with second crust. Cut slits or shapes in several places in top crust."
    }
  ]
}
name Text

Tên của mục.

HowToStep

Sử dụng HowToStep để nhóm một hoặc nhiều câu giải thích cách làm theo một phần của công thức. Xác định thuộc tính text bằng một số câu hoặc xác định itemListElement bằng HowToDirection hoặc HowToTip cho mỗi câu.

Bạn nên đánh dấu các bước trong công thức của bạn bằng các thuộc tính sau của loại HowToStep. Hãy chỉ định HowToStep trực tiếp trong định nghĩa của thuộc tính recipeInstructions hoặc dưới dạng itemListElement của HowToSection.

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

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

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

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

text Text

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

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

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

    Không nên

    
    {
      "@type": "HowToStep",
      "text": "Step 1. Heat oven to 425°F."
    }
    

    Nên

    
    {
      "@type": "HowToStep",
      "text": "Heat oven to 425°F."
    }
    
Thuộc tính nên có
image ImageObject hoặc URL

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

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

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

url URL

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

video VideoObject hoặc Clip

Một video cho bước này hoặc một đoạn của video.

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

HowToDirectionHowToTip

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

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

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

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

ItemList

Ngoài các thuộc tính Recipe, hãy thêm các thuộc tính sau cho danh sách theo loại nội dung. Mặc dù ItemList là không bắt buộc, bạn phải thêm các thuộc tính sau nếu muốn công thức nấu ăn của mình đủ điều kiện xuất hiện trong băng chuyền theo loại nội dung. Để biết thêm thông tin về băng chuyền theo loại nội dung, hãy xem Băng chuyền.

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

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

ListItem

Chú thích cho một trang về một mục.

ListItem.position

Integer

Vị trí thông thường của trang về mục đó trong danh sách. Ví dụ:


"itemListElement": [
  {
    "@type": "ListItem",
    "position": 1,
  }, {
    "@type": "ListItem",
    "position": 2,
  }
]
ListItem.url

URL

URL chính tắc của trang về mục đó. Mỗi mục nên có một URL riêng biệt.

Theo dõi kết quả nhiều định dạng bằng Search Console

Search Console là công cụ giúp bạn theo dõi hiệu quả hoạt động của các trang web trong Google Tìm kiếm. Bạn không cần đăng ký sử dụng Search Console để đưa trang web vào Google Tìm kiếm, nhưng việc làm vậy có thể giúp bạn hiểu và cải thiện cách Google nhìn thấy trang web của bạn. Bạn nên kiểm tra Search Console trong những trường hợp sau:

  1. Sau lần đầu triển khai dữ liệu có cấu trúc
  2. Sau khi phát hành mẫu mới hoặc cập nhật mã của bạn
  3. Phân tích lưu lượng truy cập định kỳ

Sau lần đầu triển khai dữ liệu có cấu trúc

Sau khi Google lập chỉ mục các trang của bạn, hãy tìm các vấn đề bằng cách sử dụng Báo cáo trạng thái kết quả nhiều định dạng có liên quan. Kết quả lý tưởng nhất là bạn sẽ thấy sự gia tăng về số trang hợp lệ, đồng thời số lỗi hoặc cảnh báo không tăng. Nếu tìm thấy vấn đề trong dữ liệu có cấu trúc, bạn hãy:

  1. Sửa lỗi.
  2. Kiểm tra URL đang hoạt động để xem vấn đề còn tồn tại không.
  3. Yêu cầu xác thực bằng cách sử dụng báo cáo trạng thái.

Sau khi phát hành các mẫu mới hoặc cập nhật mã của bạn

Khi bạn thực hiện những thay đổi đáng kể cho trang web của mình, hãy theo dõi xem số lỗi và cảnh báo về dữ liệu có cấu trúc có tăng không.
  • Nếu bạn thấy số lỗi tăng, thì có lẽ bạn đã triển khai một mẫu mới không hoạt động được hoặc trang web của bạn tương tác với mẫu hiện có theo một cách mới và không hợp lệ.
  • Nếu bạn thấy số mục hợp lệ giảm (nhưng số lỗi không tăng), thì có thể bạn không còn nhúng dữ liệu có cấu trúc trong các trang của mình nữa. Hãy sử dụng Công cụ kiểm tra URL để tìm hiểu nguyên nhân gây ra vấn đề.

Phân tích lưu lượng truy cập định kỳ

Phân tích lưu lượng truy cập bạn nhận được qua Google Tìm kiếm bằng cách sử dụng Báo cáo hiệu suất. Dữ liệu báo cáo sẽ cho bạn biết bạn tần suất trang web xuất hiện dưới dạng kết quả nhiều định dạng trong Tìm kiếm, tần suất người dùng nhấp vào trang và vị trí trung bình của trang trong kết quả tìm kiếm. Bạn cũng có thể tự động lấy các kết quả này bằng API Search Console.

Khắc phục sự cố

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