Data terstruktur resep (Recipe
, HowTo
, ItemList
)
Bantu pengguna menemukan konten resep Anda dengan memberi tahu Google terkait resep Anda menggunakan data terstruktur. Jika Anda menyediakan informasi seperti rating pengulas, waktu memasak dan persiapan, serta informasi nutrisi, Google dapat lebih memahami resep Anda dan menyajikannya kepada pengguna dengan cara yang menarik. Resep dapat muncul di hasil Google Penelusuran dan Google Gambar.
![Ilustrasi tampilan hasil kaya resep di Google Penelusuran. Ilustrasi ini berisi 4 hasil kaya dari situs yang berbeda, dengan detail waktu yang diperlukan untuk memasak resep, gambar, dan informasi ulasan.](https://developers-dot-devsite-v2-prod.appspot.com/static/search/docs/images/recipe-rich-result-google-search.png?authuser=0000&hl=id)
![Ilustrasi tampilan resep di Google Gambar. Ada 6 hasil gambar yang menunjukkan item makanan yang berbeda, dengan 3 hasil berisi badge resep yang memberi tahu pengguna bahwa itu adalah resep](https://developers-dot-devsite-v2-prod.appspot.com/static/search/docs/images/recipes-in-google-images.png?authuser=0000&hl=id)
Berdasarkan cara Anda me-markup konten, resep Anda dapat memenuhi syarat untuk peningkatan penelusuran berikut:
Peningkatan penelusuran resep | |
---|---|
Carousel host resep: Memungkinkan pengguna menjelajahi halaman galeri resep
Anda dengan menambahkan data terstruktur ItemList .
|
![]() |
Cara menambahkan data terstruktur
Data terstruktur adalah format terstandarisasi untuk memberikan informasi tentang suatu halaman dan mengelompokkan konten halaman tersebut. Jika Anda baru mengenal data terstruktur, Anda dapat mempelajari lebih lanjut cara kerja data terstruktur.
Berikut adalah ringkasan tentang cara membuat, menguji, dan merilis data terstruktur.
- Tambahkan properti wajib. Berdasarkan format yang Anda gunakan, pelajari tempat menyisipkan data terstruktur di halaman.
- Ikuti pedoman.
- Validasi kode Anda menggunakan Pengujian Hasil Kaya dan perbaiki setiap error kritis. Pertimbangkan juga untuk memperbaiki masalah non-kritis yang mungkin ditandai di alat tersebut, karena tindakan ini dapat membantu meningkatkan kualitas data terstruktur Anda (tetapi hal ini tidak diperlukan agar memenuhi syarat untuk hasil kaya).
- Deploy beberapa halaman yang menyertakan data terstruktur dan gunakan Alat Inspeksi URL untuk menguji cara Google melihat halaman tersebut. Pastikan halaman Anda
dapat diakses oleh Google dan tidak diblokir oleh file robots.txt, tag
noindex
, atau persyaratan login. Jika halaman tidak bermasalah, Anda dapat meminta Google meng-crawl ulang URL tersebut. - Agar Google tetap mengetahui setiap perubahan pada masa mendatang, sebaiknya kirimkan peta situs. Anda dapat mengotomatiskan proses ini dengan Search Console Sitemap API.
Contoh
Berikut beberapa contoh resep yang menggunakan kode JSON-LD.
Resep di Penelusuran
Berikut contoh halaman yang memenuhi syarat untuk ditampilkan di Penelusuran.
<html> <head> <title>Non-Alcoholic Piña Colada</title> <script type="application/ld+json"> { "@context": "https://schema.org/", "@type": "Recipe", "name": "Non-Alcoholic Piña 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": "2024-03-10", "description": "This non-alcoholic pina colada is everyone's favorite!", "recipeCuisine": "American", "prepTime": "PT1M", "cookTime": "PT2M", "totalTime": "PT3M", "keywords": "non-alcoholic", "recipeYield": "4 servings", "recipeCategory": "Drink", "nutrition": { "@type": "NutritionInformation", "calories": "120 calories" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "5", "ratingCount": "18" }, "recipeIngredient": [ "400ml of pineapple juice", "100ml cream of coconut", "ice" ], "recipeInstructions": [ { "@type": "HowToStep", "name": "Blend", "text": "Blend 400ml of pineapple juice and 100ml cream of coconut until smooth.", "url": "https://example.com/non-alcoholic-pina-colada#step1", "image": "https://example.com/photos/non-alcoholic-pina-colada/step1.jpg" }, { "@type": "HowToStep", "name": "Fill", "text": "Fill a glass with ice.", "url": "https://example.com/non-alcoholic-pina-colada#step2", "image": "https://example.com/photos/non-alcoholic-pina-colada/step2.jpg" }, { "@type": "HowToStep", "name": "Pour", "text": "Pour the pineapple juice and coconut mixture over ice.", "url": "https://example.com/non-alcoholic-pina-colada#step3", "image": "https://example.com/photos/non-alcoholic-pina-colada/step3.jpg" } ], "video": { "@type": "VideoObject", "name": "How to Make a Non-Alcoholic Piña Colada", "description": "This is how you make a non-alcoholic piña colada.", "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/video123.mp4", "embedUrl": "https://www.example.com/videoplayer?video=123", "uploadDate": "2024-02-05T08:00:00+08:00", "duration": "PT1M33S", "interactionStatistic": { "@type": "InteractionCounter", "interactionType": { "@type": "WatchAction" }, "userInteractionCount": 2347 }, "expires": "2024-02-05T08:00:00+08:00" } } </script> </head> <body> </body> </html>
Carousel
Berikut contoh halaman ringkasan resep (halaman yang berisi daftar resep) dengan data terstruktur itemList
. Konten ini mungkin memenuhi syarat untuk ditampilkan dalam petak pada hasil Penelusuran.
<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>
Panduan
Anda harus mengikuti panduan data terstruktur umum agar markup Anda memenuhi syarat untuk ditampilkan di hasil Penelusuran.
Panduan berikut berlaku untuk data terstruktur Recipe
.
- Gunakan data terstruktur
Recipe
untuk konten tentang menyiapkan hidangan tertentu. Misalnya, "scrub wajah" atau "ide pesta" bukanlah nama yang valid untuk hidangan. - Agar resep Anda muncul dalam
carousel atau petak, Anda harus mengikuti
panduan ini:
- Sediakan data terstruktur
ItemList
guna meringkas resep untuk daftar Anda. Anda dapat menyediakan data terstrukturItemList
secara terpisah atau bersama dengan data terstruktur resep. - Situs Anda harus memiliki halaman ringkasan yang mencantumkan semua resep dalam koleksi. Misalnya, saat pengguna mengklik link ringkasan dari hasil Penelusuran, mereka akan diarahkan secara tepat ke halaman di situs Anda yang mencantumkan resep yang terkait dengan penelusuran mereka.
- Sediakan data terstruktur
Definisi jenis data terstruktur
Anda harus menyertakan properti wajib agar konten Anda memenuhi syarat untuk ditampilkan sebagai hasil kaya di Google Penelusuran. Anda juga dapat menyertakan properti yang direkomendasikan untuk menambahkan informasi lain tentang konten, yang akan meningkatkan kualitas pengalaman pengguna.
Recipe
Markup konten resep Anda dengan properti jenis
Recipe
schema.org berikut. Definisi lengkap
Recipe
tersedia di
schema.org/Recipe.
Properti yang didukung Google adalah sebagai berikut:
Properti wajib | |
---|---|
image
|
Gambar hidangan yang sudah jadi. Pedoman gambar tambahan:
Contoh: "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ] |
name |
Nama hidangan. |
Properti yang direkomendasikan | |
---|---|
aggregateRating |
Anotasi untuk skor ulasan rata-rata yang ditetapkan ke item. Ikuti Panduan cuplikan ulasan dan daftar properti Jika data terstruktur |
author |
Nama orang atau organisasi yang menulis resep. Untuk membantu Google memahami penulis secara optimal di berbagai fitur, sebaiknya ikuti praktik terbaik markup penulis. |
cookTime |
Waktu yang diperlukan untuk memasak hidangan dalam format ISO 8601, jika ada. Selalu gunakan bersama dengan |
datePublished |
Tanggal publikasi resep dalam format ISO 8601, jika ada. |
description |
Ringkasan singkat yang mendeskripsikan hidangan. |
keywords
|
Istilah lain untuk resep Anda seperti musim (“musim panas”), hari raya (“Lebaran“), atau deskriptor lainnya (“cepat”, “mudah”, “autentik”). Panduan tambahan
|
nutrition.calories |
Jumlah kalori dalam setiap porsi yang dihasilkan dengan
resep ini. Jika |
prepTime |
Durasi waktu yang diperlukan untuk menyiapkan dan memasak hidangan, dalam format ISO 8601, jika ada. Selalu gunakan bersama dengan |
recipeCategory |
Jenis makanan atau hidangan atau waktu hidang dari resep Anda. Misalnya: "makan malam", "hidangan utama", atau "hidangan penutup, camilan". |
recipeCuisine |
Wilayah yang terkait dengan resep Anda. Misalnya, "Prancis", "Mediterania", atau "Amerika". |
recipeIngredient |
Bahan yang digunakan dalam resep. Contoh: "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" ] Panduan tambahan:
|
recipeInstructions
|
Langkah-langkah untuk membuat hidangan. Ada beberapa opsi untuk menetapkan nilai
Panduan tambahan
|
recipeYield |
Jumlah porsi yang dihasilkan oleh resep, jika ada. Tentukan jumlah porsi
yang dihasilkan dari resep ini hanya dengan angka. Jika Anda ingin menggunakan unit lain (misalnya
jumlah item), Anda dapat menyertakan hasil tambahan. Ini diperlukan jika Anda
menentukan informasi gizi per porsi (seperti Contoh "recipeYield": [ "6", "24 cookies" ] |
totalTime |
Total waktu yang diperlukan untuk menyiapkan dan memasak hidangan, dalam format ISO 8601, jika ada. Gunakan |
video
|
VideoObject
Video yang menunjukkan langkah-langkah untuk membuat hidangan. Ikuti daftar Properti video yang wajib dan direkomendasikan. |
HowToSection
Gunakan HowToSection
untuk mengelompokkan urutan langkah (atau sub-bagian) yang merupakan
bagian dari petunjuk untuk resep. Tentukan HowToSection
langsung dalam
definisi properti recipeInstructions
, atau sebagai itemListElement
dari
HowToSection
lain.
Jenis HowToSection
menentukan bagian dari satu resep dan
berisi satu atau beberapa langkah. Jangan gunakan HowToSection
untuk menentukan resep yang berbeda
pada hidangan yang sama; sebagai gantinya, gunakan HowToSection
sebagai bagian dari satu resep. Untuk mencantumkan
beberapa resep hidangan, gunakan beberapa objek Recipe
. Misalnya,
untuk beberapa cara membuat pai apel, cantumkan sebagai beberapa objek Recipe
, bukan
objek HowToSection
.
Definisi lengkap HowToSection
tersedia di
schema.org/HowToSection.
Properti wajib | |
---|---|
itemListElement
|
HowToStep
Daftar langkah-langkah detail untuk bagian, dan/atau sub-bagian. Misalnya, resep piza dapat memiliki satu bagian yang berisi langkah-langkah membuat kulit, satu bagian tentang menyiapkan taburan, dan satu bagian tentang mencampur serta memanggang. Contoh: { "@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
Nama bagian. |
HowToStep
Gunakan HowToStep
untuk mengelompokkan satu atau beberapa kalimat yang menjelaskan cara
melakukan langkah dalam resep, jika ini memungkinkan untuk konten Anda. Tentukan properti text
dengan
kalimat atau, tentukan itemListElement
dengan
HowToDirection
atau HowToTip
untuk setiap kalimat.
Markup langkah resep Anda dengan properti berikut dari jenis
HowToStep. Tentukan
HowToStep
langsung dalam definisi properti recipeInstructions
,
atau sebagai itemListElement
dari HowToSection
.
Definisi lengkap HowToStep
tersedia di
schema.org/HowToStep.
Properti wajib | |
---|---|
itemListElement
|
HowToDirection atau HowToTip
Daftar sub-langkah detail, termasuk arahan atau tips. Opsional jika |
text
|
Text
Teks petunjuk lengkap dari langkah ini. Opsional jika
|
Properti yang direkomendasikan | |
---|---|
image
|
ImageObject atau URL
Gambar untuk langkah. Panduan tambahan terkait gambar:
|
name
|
Text
Kata atau frasa singkat yang meringkas langkah (misalnya, "Menyusun kulit pai"). Jangan menggunakan teks non-deskriptif (misalnya "Langkah 1: [teks]") atau bentuk langkah lainnya yang mencantumkan nomor (misalnya "1. [teks]"). |
url
|
URL
|
video
|
VideoObject atau Clip
Video untuk langkah ini atau klip video. Untuk |
HowToDirection
dan HowToTip
Gunakan HowToDirection
dan HowToTip
untuk mendeskripsikan arahan atau tips, jika ada.
Keduanya memiliki properti wajib dan direkomendasikan yang sama.
Definisi lengkap HowToDirection
dan HowToTip
tersedia di
schema.org/HowToDirection dan
schema.org/HowToTip.
Properti wajib | |
---|---|
text
|
Text
Teks arahan atau tips. |
ItemList
Selain properti Recipe, tambahkan properti berikut untuk
daftar khusus host. Meskipun ItemList
tidak diwajibkan,
Anda harus menambahkan properti berikut jika ingin resep Anda memenuhi syarat untuk
carousel host. Untuk informasi lebih lanjut tentang carousel host, lihat
Carousel.
Definisi lengkap ItemList
tersedia di schema.org/ItemList.
Properti wajib | |
---|---|
itemListElement
|
Anotasi untuk satu halaman item. |
ListItem.position
|
Posisi ordinal halaman item dalam daftar. Contoh: "itemListElement": [ { "@type": "ListItem", "position": 1, }, { "@type": "ListItem", "position": 2, } ] |
ListItem.url
|
URL kanonis halaman item. Setiap item harus memiliki URL unik. |
Memantau hasil kaya dengan Search Console
Search Console adalah alat yang dapat membantu Anda memantau performa halaman Anda di Google Penelusuran. Anda tidak perlu mendaftar ke Search Console agar halaman Anda dapat disertakan dalam hasil Google Penelusuran. Tetapi dengan mendaftar, Anda dapat memahami dan meningkatkan cara Google melihat situs Anda dengan mudah. Sebaiknya Anda memeriksa Search Console dalam kasus berikut:
- Setelah men-deploy data terstruktur untuk pertama kalinya
- Setelah merilis template baru atau memperbarui kode
- Menganalisis traffic secara berkala
Setelah men-deploy data terstruktur untuk pertama kalinya
Setelah Google mengindeks halaman Anda, temukan masalah menggunakan laporan status Hasil kaya yang relevan. Idealnya, akan ada peningkatan jumlah item yang valid, sedangkan jumlah item yang tidak valid tidak berubah. Jika Anda menemukan masalah pada data terstruktur Anda:
- Perbaiki item yang tidak valid.
- Periksa URL aktif untuk memeriksa apakah masalah terus berlanjut.
- Minta validasi menggunakan laporan status.
Setelah merilis template baru atau memperbarui kode Anda
Saat Anda membuat perubahan yang signifikan pada situs, pantau peningkatan jumlah item yang tidak valid pada data terstruktur.- Jika terjadi peningkatan jumlah item yang tidak valid, mungkin Anda meluncurkan template baru yang tidak berfungsi, atau situs Anda berinteraksi dengan template yang ada dengan cara baru yang salah.
- Jika terjadi penurunan jumlah item yang valid (tidak cocok dengan peningkatan jumlah item yang tidak valid), mungkin Anda tidak lagi menyematkan data terstruktur di halaman Anda. Gunakan Alat Inspeksi URL untuk mempelajari penyebab masalah tersebut.
Menganalisis traffic secara berkala
Analisis traffic Google Penelusuran Anda menggunakan Laporan Performa. Data akan menunjukkan seberapa sering halaman Anda muncul sebagai hasil kaya di Penelusuran, seberapa sering pengguna mengkliknya, dan posisi rata-rata halaman Anda saat muncul di hasil penelusuran. Anda juga dapat otomatis menarik hasil ini dengan Search Console API.Pemecahan masalah
Jika Anda mengalami masalah saat menerapkan atau mendebug data terstruktur, berikut beberapa referensi yang dapat membantu Anda.
- Jika Anda menggunakan sistem pengelolaan konten (CMS) atau ada orang lain yang menangani situs Anda, minta mereka untuk membantu Anda. Pastikan untuk meneruskan pesan Search Console yang menjelaskan masalah tersebut kepada mereka.
- Google tidak menjamin bahwa fitur yang menggunakan data terstruktur akan muncul dalam hasil penelusuran. Untuk mengetahui daftar alasan umum mengapa Google tidak dapat menampilkan konten Anda dalam hasil kaya, lihat Panduan Umum terkait Data Terstruktur.
- Mungkin ada error dalam data terstruktur Anda. Periksa daftar error data terstruktur.
- Jika halaman Anda dikenai tindakan manual data terstruktur, data terstruktur pada halaman itu akan diabaikan (meskipun halaman masih bisa muncul di hasil Google Penelusuran). Untuk memperbaiki masalah data terstruktur, gunakan laporan Tindakan Manual.
- Tinjau panduan lagi untuk mengidentifikasi apakah konten Anda tidak mematuhi panduan. Masalah itu mungkin disebabkan oleh konten yang berisi spam atau penggunaan markup yang berisi spam. Namun, masalahnya mungkin bukan pada sintaksis, sehingga Pengujian Hasil Kaya tidak akan dapat mengidentifikasi masalah tersebut.
- Pecahkan masalah hasil kaya tidak ada/penurunan jumlah hasil kaya.
- Tunggu hingga crawling dan pengindeksan ulang selesai. Perlu diingat bahwa Google mungkin memerlukan waktu beberapa hari untuk mencari dan meng-crawl halaman setelah Anda memublikasikannya. Untuk pertanyaan umum terkait crawling dan pengindeksan, lihat FAQ crawling dan pengindeksan Google Penelusuran.
- Posting pertanyaan di forum Pusat Google Penelusuran.