Data terstruktur listingan penjual (Product
, Offer
)
Jika ditambahkan ke halaman, markup Product
dapat memenuhi syarat untuk ditampilkan di panel
listingan produk di Google Penelusuran, termasuk panel info Shopping,
Google Gambar, hasil produk populer, dan cuplikan produk. Listingan penjual dapat
menyoroti data yang lebih spesifik tentang suatu produk, seperti harga, ketersediaan, serta informasi pengiriman dan
pengembaliannya.
Panduan ini berfokus pada persyaratan data terstruktur Product
untuk
listingan penjual. Jika Anda tidak yakin markup mana yang harus digunakan, baca
pengantar markup Product
dari kami.
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
Contoh berikut menggambarkan cara menyertakan data terstruktur di halaman web Anda untuk berbagai situasi.
Halaman produk dengan penawaran
Berikut contoh halaman produk yang menjual produk, disertai ulasannya.
JSON-LD
<html> <head> <title>Executive Anvil</title> <script type="application/ld+json"> { "@context": "https://schema.org/", "@type": "Product", "name": "Executive Anvil", "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ], "description": "Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height.", "sku": "0446310786", "mpn": "925872", "brand": { "@type": "Brand", "name": "ACME" }, "review": { "@type": "Review", "reviewRating": { "@type": "Rating", "ratingValue": 4, "bestRating": 5 }, "author": { "@type": "Person", "name": "Fred Benson" } }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.4, "reviewCount": 89 }, "offers": { "@type": "Offer", "url": "https://example.com/anvil", "priceCurrency": "USD", "price": 119.99, "priceValidUntil": "2024-11-20", "itemCondition": "https://schema.org/UsedCondition", "availability": "https://schema.org/InStock" } } </script> </head> <body> </body> </html>
RDFa
<html> <head> <title>Executive Anvil</title> </head> <body> <div typeof="schema:Product"> <div rel="schema:review"> <div typeof="schema:Review"> <div rel="schema:reviewRating"> <div typeof="schema:Rating"> <div property="schema:ratingValue" content="4"></div> <div property="schema:bestRating" content="5"></div> </div> </div> <div rel="schema:author"> <div typeof="schema:Person"> <div property="schema:name" content="Fred Benson"></div> </div> </div> </div> </div> <div rel="schema:image" resource="https://example.com/photos/4x3/photo.jpg"></div> <div property="schema:mpn" content="925872"></div> <div property="schema:name" content="Executive Anvil"></div> <div property="schema:description" content="Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height."></div> <div rel="schema:image" resource="https://example.com/photos/1x1/photo.jpg"></div> <div rel="schema:brand"> <div typeof="schema:Brand"> <div property="schema:name" content="ACME"></div> </div> </div> <div rel="schema:aggregateRating"> <div typeof="schema:AggregateRating"> <div property="schema:reviewCount" content="89"></div> <div property="schema:ratingValue" content="4.4"></div> </div> </div> <div rel="schema:offers"> <div typeof="schema:Offer"> <div property="schema:price" content="119.99"></div> <div property="schema:availability" content="https://schema.org/InStock"></div> <div property="schema:priceCurrency" content="USD"></div> <div property="schema:priceValidUntil" datatype="xsd:date" content="2024-11-20"></div> <div rel="schema:url" resource="https://example.com/anvil"></div> <div property="schema:itemCondition" content="https://schema.org/UsedCondition"></div> </div> </div> <div rel="schema:image" resource="https://example.com/photos/16x9/photo.jpg"></div> <div property="schema:sku" content="0446310786"></div> </div> </body> </html>
Microdata
<html> <head> <title>Executive Anvil</title> </head> <body> <div> <div itemtype="https://schema.org/Product" itemscope> <meta itemprop="mpn" content="925872" /> <meta itemprop="name" content="Executive Anvil" /> <link itemprop="image" href="https://example.com/photos/16x9/photo.jpg" /> <link itemprop="image" href="https://example.com/photos/4x3/photo.jpg" /> <link itemprop="image" href="https://example.com/photos/1x1/photo.jpg" /> <meta itemprop="description" content="Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height." /> <div itemprop="offers" itemtype="https://schema.org/Offer" itemscope> <link itemprop="url" href="https://example.com/anvil" /> <meta itemprop="availability" content="https://schema.org/InStock" /> <meta itemprop="priceCurrency" content="USD" /> <meta itemprop="itemCondition" content="https://schema.org/UsedCondition" /> <meta itemprop="price" content="119.99" /> <meta itemprop="priceValidUntil" content="2024-11-20" /> </div> <div itemprop="aggregateRating" itemtype="https://schema.org/AggregateRating" itemscope> <meta itemprop="reviewCount" content="89" /> <meta itemprop="ratingValue" content="4.4" /> </div> <div itemprop="review" itemtype="https://schema.org/Review" itemscope> <div itemprop="author" itemtype="https://schema.org/Person" itemscope> <meta itemprop="name" content="Fred Benson" /> </div> <div itemprop="reviewRating" itemtype="https://schema.org/Rating" itemscope> <meta itemprop="ratingValue" content="4" /> <meta itemprop="bestRating" content="5" /> </div> </div> <meta itemprop="sku" content="0446310786" /> <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope> <meta itemprop="name" content="ACME" /> </div> </div> </div> </body> </html>
Harga
Berikut dua contoh encoding harga di JSON-LD.
Harga dapat ditentukan menggunakan properti price
sebagai berikut:
"offers": { "@type": "Offer", "price": 10.00, "priceCurrency": "USD", ... }
Atau, harga dapat ditetapkan menggunakan properti priceSpecification
.
"offers": { "@type": "Offer", "priceSpecification": { "@type": "UnitPriceSpecification", "price": 10.00, "priceCurrency": "USD" }, ... }
Harga dengan ukuran unit produk
Berikut adalah contoh cara menentukan harga untuk 4,5 l produk yang selalu dijual dalam kelipatan 750 ml. Format harga ini sangat penting di Uni Eropa untuk produk yang dijual berdasarkan volume atau berat.
Jika ukuran unit produk
dan dasar ukuran unit produk
ada, tentukan harga dalam UnitPriceSpecification
.
"priceSpecification": { "@type": "UnitPriceSpecification", "price": 81.00, "priceCurrency": "EUR", "referenceQuantity": { "@type": "QuantitativeValue", "value": "4.5", "unitCode": "LTR", "valueReference": { "@type": "QuantitativeValue", "value": "750", "unitCode": "MLT" } } }
Detail pengiriman
Berikut contoh halaman produk dengan detail pengiriman. Contoh ini akan menghasilkan tarif pengiriman $3.49 untuk semua pengguna yang berada di Amerika Serikat. Untuk melihat contoh lainnya, baca bagian Pengiriman.
JSON-LD
<html> <head> <title>Nice trinket</title> <script type="application/ld+json"> { "@context": "https://schema.org/", "@type": "Product", "sku": "trinket-12345", "gtin14": "12345678901234", "image": [ "https://example.com/photos/16x9/trinket.jpg", "https://example.com/photos/4x3/trinket.jpg", "https://example.com/photos/1x1/trinket.jpg" ], "name": "Nice trinket", "description": "Trinket with clean lines", "brand": { "@type": "Brand", "name": "MyBrand" }, "offers": { "@type": "Offer", "url": "https://www.example.com/trinket_offer", "itemCondition": "https://schema.org/NewCondition", "availability": "https://schema.org/InStock", "price": 39.99, "priceCurrency": "USD", "priceValidUntil": "2024-11-20", "shippingDetails": { "@type": "OfferShippingDetails", "shippingRate": { "@type": "MonetaryAmount", "value": 3.49, "currency": "USD" }, "shippingDestination": { "@type": "DefinedRegion", "addressCountry": "US" }, "deliveryTime": { "@type": "ShippingDeliveryTime", "handlingTime": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 1, "unitCode": "DAY" }, "transitTime": { "@type": "QuantitativeValue", "minValue": 1, "maxValue": 5, "unitCode": "DAY" } } } }, "review": { "@type": "Review", "reviewRating": { "@type": "Rating", "ratingValue": 4, "bestRating": 5 }, "author": { "@type": "Person", "name": "Fred Benson" } }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.4, "reviewCount": 89 } } </script> </head> <body> </body> </html>
RDFa
<html> <head> <title>Nice trinket</title> </head> <body> <div typeof="schema:Product"> <div property="schema:sku" content="trinket-12345"></div> <div property="schema:gtin14" content="12345678901234"></div> <div property="schema:name" content="Nice trinket"></div> <div rel="schema:image" resource="https://example.com/photos/16x9/trinket.jpg"></div> <div rel="schema:image" resource="https://example.com/photos/4x3/trinket.jpg"></div> <div rel="schema:image" resource="https://example.com/photos/1x1/trinket.jpg"></div> <div property="schema:description" content="Trinket with clean lines"></div> <div rel="schema:brand"> <div typeof="schema:Brand"> <div property="schema:name" content="MyBrand"></div> </div> </div> <div rel="schema:offers"> <div typeof="schema:Offer"> <div rel="schema:url" resource="https://example.com/trinket_offer"></div> <div property="schema:itemCondition" content="https://schema.org/NewCondition"></div> <div property="schema:availability" content="https://schema.org/InStock"></div> <div property="schema:price" content="39.99"></div> <div property="schema:priceCurrency" content="USD"></div> <div property="schema:priceValidUntil" datatype="xsd:date" content="2024-11-20"></div> <div rel="schema:shippingDetails"> <div typeof="schema:OfferShippingDetails"> <div rel="schema:shippingRate"> <div typeof="schema:MonetaryAmount"> <div property="schema:value" content="3.49"></div> <div property="schema:currency" content="USD"></div> </div> </div> <div rel="schema:shippingDestination"> <div typeof="schema:DefinedRegion"> <div property="schema:addressCountry" content="US"></div> </div> </div> <div rel="schema:deliveryTime"> <div typeof="schema:ShippingDeliveryTime"> <div rel="schema:handlingTime"> <div typeof="schema:QuantitativeValue"> <div property="schema:minValue" content="0"></div> <div property="schema:maxValue" content="1"></div> <div property="schema:unitCode" content="DAY"></div> </div> </div> <div rel="schema:transitTime"> <div typeof="schema:QuantitativeValue"> <div property="schema:minValue" content="1"></div> <div property="schema:maxValue" content="5"></div> <div property="schema:unitCode" content="DAY"></div> </div> </div> </div> </div> </div> </div> </div> </div> <div rel="schema:review"> <div typeof="schema:Review"> <div rel="schema:reviewRating"> <div typeof="schema:Rating"> <div property="schema:ratingValue" content="4"></div> <div property="schema:bestRating" content="5"></div> </div> </div> <div rel="schema:author"> <div typeof="schema:Person"> <div property="schema:name" content="Fred Benson"></div> </div> </div> </div> </div> <div rel="schema:aggregateRating"> <div typeof="schema:AggregateRating"> <div property="schema:reviewCount" content="89"></div> <div property="schema:ratingValue" content="4.4"></div> </div> </div> </div> </body> </html>
Microdata
<html> <head> <title>Nice trinket</title> </head> <body> <div> <div itemtype="https://schema.org/Product" itemscope> <meta itemprop="sku" content="trinket-12345" /> <meta itemprop="gtin14" content="12345678901234" /> <meta itemprop="name" content="Nice trinket" /> <link itemprop="image" href="https://example.com/photos/16x9/trinket.jpg" /> <link itemprop="image" href="https://example.com/photos/4x3/trinket.jpg" /> <link itemprop="image" href="https://example.com/photos/1x1/trinket.jpg" /> <meta itemprop="description" content="Trinket with clean lines" /> <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope> <meta itemprop="name" content="MyBrand" /> </div> <div itemprop="offers" itemtype="https://schema.org/Offer" itemscope> <link itemprop="url" href="https://www.example.com/trinket_offer" /> <meta itemprop="itemCondition" content="https://schema.org/NewCondition" /> <meta itemprop="availability" content="https://schema.org/InStock" /> <meta itemprop="price" content="39.99" /> <meta itemprop="priceCurrency" content="USD" /> <meta itemprop="priceValidUntil" content="2024-11-20" /> <div itemprop="shippingDetails" itemtype="https://schema.org/OfferShippingDetails" itemscope> <div itemprop="shippingRate" itemtype="https://schema.org/MonetaryAmount" itemscope> <meta itemprop="value" content="3.49" /> <meta itemprop="currency" content="USD" /> </div> <div itemprop="shippingDestination" itemtype="https://schema.org/DefinedRegion" itemscope> <meta itemprop="addressCountry" content="US" /> </div> <div itemprop="deliveryTime" itemtype="https://schema.org/ShippingDeliveryTime" itemscope> <div itemprop="handlingTime" itemtype="https://schema.org/QuantitativeValue" itemscope> <meta itemprop="minValue" content="0" /> <meta itemprop="maxValue" content="1" /> <meta itemprop="unitCode" content="DAY" /> </div> <div itemprop="transitTime" itemtype="https://schema.org/QuantitativeValue" itemscope> <meta itemprop="minValue" content="1" /> <meta itemprop="maxValue" content="5" /> <meta itemprop="unitCode" content="DAY" /> </div> </div> </div> </div> <div itemprop="review" itemtype="https://schema.org/Review" itemscope> <div itemprop="author" itemtype="https://schema.org/Person" itemscope> <meta itemprop="name" content="Fred Benson" /> </div> <div itemprop="reviewRating" itemtype="https://schema.org/Rating" itemscope> <meta itemprop="ratingValue" content="4" /> <meta itemprop="bestRating" content="5" /> </div> </div> <div itemprop="aggregateRating" itemtype="https://schema.org/AggregateRating" itemscope> <meta itemprop="reviewCount" content="89" /> <meta itemprop="ratingValue" content="4.4" /> </div> </div> </div> </body> </html>
Pengiriman gratis
Berikut contoh cara menyediakan pengiriman gratis untuk pembeli di negara bagian New York, Amerika Serikat.
"shippingDetails": { "@type": "OfferShippingDetails", "shippingRate": { "@type": "MonetaryAmount", "value": "0", "currency": "USD" }, "shippingDestination": [ { "@type": "DefinedRegion", "addressCountry": "US", "addressRegion": ["NY"] } ] }
Detail pengembalian
Berikut contoh halaman produk dengan detail pengembalian. Markup ini cocok dengan kebijakan pengembalian yang mengharuskan produk dikembalikan dalam waktu 60 hari, dikirim ke Amerika Serikat, dan tidak dikenai biaya pengembalian.
JSON-LD
<html> <head> <title>Nice trinket</title> <script type="application/ld+json"> { "@context": "https://schema.org/", "@type": "Product", "sku": "trinket-12345", "gtin14": "12345678901234", "image": [ "https://example.com/photos/16x9/trinket.jpg", "https://example.com/photos/4x3/trinket.jpg", "https://example.com/photos/1x1/trinket.jpg" ], "name": "Nice trinket", "description": "Trinket with clean lines", "brand": { "@type": "Brand", "name": "MyBrand" }, "offers": { "@type": "Offer", "url": "https://www.example.com/trinket_offer", "itemCondition": "https://schema.org/NewCondition", "availability": "https://schema.org/InStock", "priceSpecification": { "@type": "PriceSpecification", "price": 39.99, "priceCurrency": "CHF" }, "hasMerchantReturnPolicy": { "@type": "MerchantReturnPolicy", "applicableCountry": "CH", "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow", "merchantReturnDays": 60, "returnMethod": "https://schema.org/ReturnByMail", "returnFees": "https://schema.org/FreeReturn" } } } </script> </head> <body> </body> </html>
RDFa
<html> <head> <title>Nice trinket</title> </head> <body> <div typeof="schema:Product"> <div property="schema:sku" content="trinket-12345"></div> <div property="schema:gtin14" content="12345678901234"></div> <div property="schema:name" content="Nice trinket"></div> <div rel="schema:image" resource="https://example.com/photos/16x9/trinket.jpg"></div> <div rel="schema:image" resource="https://example.com/photos/4x3/trinket.jpg"></div> <div rel="schema:image" resource="https://example.com/photos/1x1/trinket.jpg"></div> <div property="schema:description" content="Trinket with clean lines"></div> <div rel="schema:brand"> <div typeof="schema:Brand"> <div property="schema:name" content="MyBrand"></div> </div> </div> <div rel="schema:offers"> <div typeof="schema:Offer"> <div rel="schema:url" resource="https://example.com/trinket_offer"></div> <div property="schema:itemCondition" content="https://schema.org/NewCondition"></div> <div property="schema:availability" content="https://schema.org/InStock"></div> <div property="schema:price" content="39.99"></div> <div property="schema:priceCurrency" content="CHF"></div> <div property="schema:priceValidUntil" datatype="xsd:date" content="2024-11-20"></div> <div rel="schema:hasMerchantReturnPolicy"> <div typeof="schema:MerchantReturnPolicy"> <div property="schema:applicableCountry" content="US"></div> <div property="schema:returnPolicyCategory" content="https://schema.org/MerchantReturnFiniteReturnWindow"></div> <div property="schema:merchantReturnDays" content="60"></div> <div property="schema:returnMethod" content="https://schema.org/ReturnByMail"></div> <div property="schema:returnFees" content="https://schema.org/FreeReturn"></div> </div> </div> </div> </div> </div> </body> </html>
Microdata
<html> <head> <title>Nice trinket</title> </head> <body> <div> <div itemtype="https://schema.org/Product" itemscope> <meta itemprop="sku" content="trinket-12345" /> <meta itemprop="gtin14" content="12345678901234" /> <meta itemprop="name" content="Nice trinket" /> <link itemprop="image" href="https://example.com/photos/16x9/trinket.jpg" /> <link itemprop="image" href="https://example.com/photos/4x3/trinket.jpg" /> <link itemprop="image" href="https://example.com/photos/1x1/trinket.jpg" /> <meta itemprop="description" content="Trinket with clean lines" /> <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope> <meta itemprop="name" content="MyBrand" /> </div> <div itemprop="offers" itemtype="https://schema.org/Offer" itemscope> <link itemprop="url" href="https://www.example.com/trinket_offer" /> <meta itemprop="itemCondition" content="https://schema.org/NewCondition" /> <meta itemprop="availability" content="https://schema.org/InStock" /> <meta itemprop="price" content="39.99" /> <meta itemprop="priceCurrency" content="CHF" /> <meta itemprop="priceValidUntil" content="2024-11-20" /> <div itemprop="hasMerchantReturnPolicy" itemtype="https://schema.org/MerchantReturnPolicy" itemscope> <meta itemprop="applicableCountry" content="US" /> <meta itemprop="returnPolicyCategory" content="https://schema.org/MerchantReturnFiniteReturnWindow" /> <meta itemprop="merchantReturnDays" content="60" /> <meta itemprop="returnMethod" content="https://schema.org/ReturnByMail" /> <meta itemprop="returnFees" content="https://schema.org/FreeReturn" /> </div> </div> </div> </div> </body> </html>
Rating efisiensi energi
Contoh berikut menggambarkan cara menentukan informasi efisiensi energi menggunakan data terstruktur. Contoh ini menentukan tingkat efisiensi energi Uni Eropa "C" dengan skala "A+" hingga "F" untuk pemanas air.
Perlu diperhatikan bahwa nilai tingkat efisiensi energi minimum menentukan tingkat yang paling tidak efisien pada skala konsumsi energi (dalam hal ini "F"), sedangkan nilai tingkat efisiensi energi maksimum menentukan tingkat yang paling efisien (dalam hal ini "A+").
{ "@context": "https://schema.org/", "@type": "Product", "sku": "1234-5678", "image": "https://www.example.com/waterheater.jpg", "name": "Water heater", "description": "Large capacity water heater", "gtin14": "12345678901231", "mpn": "WH1234", "brand": { "@type": "Brand", "name": "ExampleWaterHeaterBrand" }, "hasEnergyConsumptionDetails": { "@type": "EnergyConsumptionDetails", "hasEnergyEfficiencyCategory": "https://schema.org/EUEnergyEfficiencyCategoryC", "energyEfficiencyScaleMin": "https://schema.org/EUEnergyEfficiencyCategoryF", "energyEfficiencyScaleMax": "https://schema.org/EUEnergyEfficiencyCategoryA1Plus" }, "offers": { "@type": "Offer", "url": "https://www.example.com/hotwaterheater", "itemCondition": "https://schema.org/NewCondition", "availability": "https://schema.org/InStock", "price": 1799.00, "priceCurrency": "EUR" } }
Model 3D
Contoh ini menunjukkan cara menautkan model 3D ke produk dengan properti subjectOf
dan jenis 3DModel
.
{ "@context": "https://schema.org/", "@type": "Product", "sku": "1234-5678", "image": "https://www.example.com/sofa.jpg", "name": "Water heater", "description": "White 3-Seat Sofa", "gtin14": "12345678901231", "mpn": "S1234W3", "brand": { "@type": "Brand", "name": "ExampleSofaBrand" }, "subjectOf": { "@type": "3DModel", "encoding": { "@type": "MediaObject", "contentUrl": "https://example.com/sofa.gltf" } }, "offers": { "@type": "Offer", "url": "https://www.example.com/whitechaiselongue", "itemCondition": "https://schema.org/NewCondition", "availability": "https://schema.org/InStock", "price": 1299.00, "priceCurrency": "USD" } }
Panduan
Agar markup Product
memenuhi syarat untuk panel listingan produk, Anda harus mengikuti panduan berikut:
- Pedoman data terstruktur umum
- Dasar-Dasar Penelusuran
- Pedoman teknis
- Pedoman konten
- Pedoman listingan gratis (untuk pengalaman listingan penjual)
Panduan teknis
- Hanya halaman yang dapat digunakan pembeli untuk membeli produk, yang memenuhi syarat untuk menggunakan panel listingan produk. Halaman berisi link ke situs lain yang menjual produk tidak memenuhi syarat. Google mungkin akan mencoba memverifikasi data produk listingan penjual sebelum menampilkan informasi di hasil penelusuran.
- Saat ini, hasil multimedia produk hanya mendukung halaman yang berfokus pada satu produk (atau beberapa varian dari produk yang sama). Misalnya, "sepatu di toko kami" bukan merupakan produk tertentu. Hasil ini mencakup setiap varian produk yang memiliki URL berbeda. Sebaiknya berfokuslah pada penambahan markup ke halaman produk, bukan halaman yang mencantumkan daftar produk atau kategori produk.
- Untuk mengetahui detail tentang cara memberi markup varian produk, lihat dokumentasi data terstruktur varian produk.
- Saat menawarkan produk untuk dijual dalam beberapa mata uang, Anda harus memiliki URL yang berbeda untuk setiap mata uang. Misalnya, jika produk tersedia untuk dijual dalam dolar Kanada dan dolar Amerika Serikat, gunakan dua URL yang berbeda, satu untuk tiap mata uang.
- Saat ini,
Car
tidak otomatis didukung sebagai subjenis Product. Untuk saat ini, sertakan jenis Car dan Product jika Anda ingin melampirkan rating dan memenuhi syarat untuk fitur Penelusuran. Misalnya di JSON-LD:{ "@context": "https://schema.org", "@type": ["Product", "Car"], ... }
Pedoman konten
- Kami tidak mengizinkan konten yang mempromosikan barang, layanan, atau informasi yang dilarang secara luas atau diatur oleh hukum dan dapat menyebabkan bahaya serius, langsung, atau jangka panjang bagi orang lain. Hal ini mencakup konten yang berkaitan dengan senjata api dan senjata lainnya, narkoba, produk tembakau dan vape, serta produk terkait perjudian.
Definisi jenis data terstruktur
Anda harus menyertakan properti wajib agar konten Anda memenuhi syarat untuk ditampilkan sebagai hasil multimedia. Anda juga dapat menyertakan properti yang direkomendasikan untuk menambahkan informasi lainnya ke data terstruktur, yang dapat memberikan pengalaman pengguna yang lebih baik.
Informasi produk
Product
Definisi lengkap Product
tersedia di
schema.org/Product. Saat memberi markup
pada konten untuk informasi produk, gunakan properti dari
jenis Product
berikut:
Properti wajib | |
---|---|
name |
Nama produk. |
image |
URL foto produk. Sebaiknya gunakan gambar yang menunjukkan produk dengan jelas (misalnya dengan latar belakang putih). 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" ] |
offers |
Cuplikan produk menerima |
Properti yang direkomendasikan | |
---|---|
aggregateRating |
|
audience |
Informasi opsional tentang audiens yang disarankan untuk produk, seperti
gender dan kelompok usia yang disarankan. Hanya jenis |
brand.name |
Sertakan merek produk di properti
|
color |
Warna atau kombinasi warna produk (misalnya, "merah" atau "kuning/biru langit"). Lihat juga Atribut warna di Bantuan Google Merchant Center. |
description |
Deskripsi produk. Meskipun deskripsi produk tidak diwajibkan, sangat disarankan untuk memberikan deskripsi produk di properti ini. |
gtin | gtin8 | gtin12 | gtin13 | gtin14 | isbn |
Sertakan semua ID global yang berlaku; hal ini dijelaskan di
schema.org/Product.
Meskipun Anda dapat menggunakan properti
{ "@context": "https://schema.org", "@type": ["Product", "Book"], .... } |
hasEnergyConsumptionDetails |
Informasi tentang konsumsi energi dari produk seperti barang elektronik.
Properti ini sangat penting di negara-negara Eropa.
Lihat juga daftar properti |
inProductGroupWithID |
ID grup produk dari varian produk ini. Lihat juga
|
isVariantOf |
Grup produk dari varian produk ini, jika ada. Untuk mengetahui detail tentang cara menambahkan markup pada varian produk, lihat dokumentasi data terstruktur varian produk. |
material |
Bahan atau kombinasi bahan produk, seperti "Kulit"
atau "Katun/Poliester". Lihat juga
|
mpn |
Nomor suku cadang produsen. Properti ini berisi ID unik produk untuk produsen tertentu. |
pattern |
Corak produk, seperti "polkadot" atau "garis-garis". Lihat juga
|
review |
Jika Anda menambahkan ulasan produk, nama pengulas harus berupa nama Tidak direkomendasikan: Diskon 50% selama Black Friday Direkomendasikan: "Andi Setiawan" atau "Pengulas InfoGadget" |
size |
Ukuran produk, seperti "XL" atau "M". Lihat juga |
sku |
ID khusus penjual untuk produk. Tentukan maksimal satu nilai.
|
subjectOf |
Model 3D untuk produk, jika ada. Lihat daftar properti |
3DModel
Definisi lengkap 3DModel
tersedia di
schema.org/3DModel
.
Gunakan properti berikut untuk menyertakan link ke model 3D. Saat ini, hanya model dalam format glTF yang didukung.
Properti wajib | |
---|---|
encoding |
Media untuk model 3D. |
encoding.contentUrl |
Link ke file definisi model 3D dalam format glTF. File harus memiliki akhiran |
Detail penawaran
Offer
Definisi lengkap Offer
tersedia di
schema.org/Offer. Saat memberi markup pada
penawaran dalam suatu produk, gunakan properti dari jenis schema.org
Offer
berikut.
Properti wajib | |
---|---|
price atau priceSpecification.price |
Harga penawaran produk. Ikuti pedoman penggunaan schema.org.
Berikut contoh properti "offers": { "@type": "Offer", "price": 39.99, "priceCurrency": "USD" } Tidak seperti cuplikan produk, pengalaman listingan penjual mewajibkan harga yang lebih besar dari nol.
Harga penawaran bersifat wajib, tetapi dapat disusun bertingkat dalam properti
|
priceCurrency atau priceSpecification.priceCurrency |
Mata uang yang digunakan untuk mendeskripsikan harga produk, ditulis dalam format ISO 4217 tiga huruf.
|
priceSpecification |
Harga yang rumit dapat ditentukan menggunakan Harga dapat ditentukan menggunakan Harga dengan ukuran unit produk dapat menentukan properti |
Properti yang direkomendasikan | |
---|---|
availability |
Kemungkinan opsi ketersediaan produk. Nama pendek tanpa awalan URL
juga didukung (misalnya
Jangan tentukan lebih dari satu nilai. |
hasMerchantReturnPolicy |
Informasi tersusun bertingkat tentang kebijakan pengembalian yang terkait dengan
|
itemCondition |
Kondisi item yang ditawarkan untuk dijual. Nama pendek tanpa awalan URL
juga didukung (misalnya
Jangan tentukan lebih dari satu nilai. |
shippingDetails |
Informasi yang disusun bertingkat tentang kebijakan dan opsi pengiriman yang terkait dengan
|
url |
URL halaman web produk yang dapat digunakan pembeli untuk membeli produk. URL ini dapat berupa URL pilihan untuk halaman saat ini dengan semua opsi varian yang dipilih dengan tepat. URL ini dapat dihapus. Jangan sediakan lebih dari satu URL. Untuk mengetahui detail tentang cara menambahkan markup pada varian produk, lihat dokumentasi data terstruktur varian produk. |
UnitPriceSpecification
Definisi lengkap UnitPriceSpecification
tersedia di
schema.org/UnitPriceSpecification
.
Gunakan properti berikut untuk menangkap skema harga yang lebih kompleks.
Properti wajib | |
---|---|
price |
Harga penawaran produk. Lihat juga properti |
priceCurrency |
Mata uang yang digunakan untuk mendeskripsikan harga produk, ditulis dalam format
ISO 4217 tiga huruf.
Lihat juga properti |
Properti yang direkomendasikan | |
---|---|
referenceQuantity |
Jumlah referensi digunakan untuk harga yang menetapkan nilai referensi bagi harga tersebut. Lihat juga contoh Penetapan harga dengan ukuran unit produk dan Ukuran unit produk di Bantuan Google Merchant Center untuk melihat diskusi terperinci mengenai harga unit. |
QuantitativeValue
(untuk harga unit)
Bagian ini membahas penggunaan QuantitativeValue
untuk properti referenceQuantity
dalam spesifikasi harga unit. (QuantitativeValue
juga digunakan untuk
durasi pengiriman, tetapi dengan aturan yang berbeda.) Definisi lengkap
QuantitativeValue
tersedia di
schema.org/QuantitativeValue
.
QuantitativeValue
dapat digunakan untuk harga yang didasarkan pada ukuran unit,
seperti membeli ubin per meter persegi, atau cairan per setengah galon. Lihat
Ukuran unit produk
di Bantuan Google Merchant Center untuk mengetahui pembahasan mendetail mengenai harga unit.
Berikut contoh harga jual 4,5 l produk yang dapat dibeli dalam kelipatan 750 ml.
"priceSpecification": { "@type": "UnitPriceSpecification", "price": 81.00, "priceCurrency": "EUR", "referenceQuantity": { "@type": "QuantitativeValue", "value": "4.5", "unitCode": "LTR", "valueReference": { "@type": "QuantitativeValue", "value": "750", "unitCode": "MLT" } } }
Gunakan properti berikut untuk menangkap detail harga unit.
Properti wajib | |
---|---|
unitCode |
Satuan ukur. Kode UN/CEFACT atau lainnya yang setara dengan satuan yang dapat dibaca manusia, seperti yang tercantum di Bantuan Google Merchant Center tentang Ukuran unit produk, didukung. |
value |
Nilai numerik untuk unit yang terjual. |
Properti yang direkomendasikan | |
---|---|
valueReference |
|
SizeSpecification
Jenis SizeSpecification
digunakan untuk menunjukkan ukuran produk.
Definisi lengkap jenis ini tersedia di
schema.org/SizeSpecification
.
Properti yang direkomendasikan | |
---|---|
name |
Nama ukuran yang dapat dibaca pengguna, seperti "XL". Lihat atribut ukuran di Bantuan Google Merchant Center untuk mengetahui detail selengkapnya. |
sizeGroup |
Kelompok ukuran yang disarankan untuk produk, jika berlaku. Penafsiran
kelompok ini ditentukan oleh properti
Nama pendek tanpa awalan URL juga didukung (misalnya Lihat juga |
sizeSystem |
Sistem ukuran untuk produk, jika berlaku. Nilai yang didukung adalah:
Nama pendek tanpa awalan URL juga didukung (misalnya Lihat juga |
PeopleAudience
Definisi lengkap PeopleAudience
tersedia di
schema.org/PeopleAudience
.
Gunakan properti berikut saat menentukan audiens yang direkomendasikan untuk sebuah produk. Lihat juga Atribut dan nilai data terstruktur yang didukung di Bantuan Google Merchant Center.
Properti yang direkomendasikan | |
---|---|
suggestedGender |
Rekomendasi gender yang sesuai untuk produk. Harus berupa salah satu dari nilai berikut:
Lihat Perhatikan bahwa Google akan menyelesaikan nilai |
suggestedMaxAge (atau suggestedAge.maxValue ) |
Usia maksimum yang disarankan untuk produk, dalam satuan tahun. Google memetakan usia maksimum yang disarankan untuk produk ke dalam kumpulan nilai numerik tetap berikut:
|
suggestedMinAge (atau suggestedAge.minValue ) |
Usia minimum yang disarankan untuk produk, dalam satuan tahun. Google memetakan usia minimum yang disarankan untuk produk ke dalam kumpulan nilai numerik tetap berikut:
|
EnergyConsumptionDetails
Definisi lengkap EnergyConsumptionDetails
tersedia di
schema.org/EnergyConsumptionDetails
.
Gunakan properti berikut untuk menunjukkan konsumsi energi suatu produk, seperti barang elektronik. Saat ini, hanya rating efisiensi energi Uni Eropa yang didukung.
Properti wajib | |
---|---|
hasEnergyEfficiencyCategory |
Kategori efisiensi energi produk. Saat ini, hanya rating efisiensi energi Uni Eropa yang didukung:
Nama pendek tanpa awalan URL juga didukung (misalnya
|
Properti yang direkomendasikan | |
---|---|
energyEfficiencyScaleMin dan energyEfficiencyScaleMax |
Tingkat efisiensi energi terendah dan tertinggi pada aturan skala konsumsi energi Uni Eropa untuk kategori suatu produk. Lihat Properti { "@type": "EnergyConsumptionDetails", "hasEnergyEfficiencyCategory": "https://schema.org/EUEnergyEfficiencyCategoryC", "energyEfficiencyScaleMin": "https://schema.org/EUEnergyEfficiencyCategoryD", "energyEfficiencyScaleMax": "https://schema.org/EUEnergyEfficiencyCategoryA3Plus" } Jika |
Pengiriman
OfferShippingDetails
OfferShippingDetails
memungkinkan pengguna melihat biaya pengiriman dan
perkiraan jangka waktu pengiriman berdasarkan lokasi mereka dan kebijakan pengiriman perusahaan Anda.
Agar produk Anda memenuhi syarat untuk peningkatan detail pengiriman, tambahkan properti OfferShippingDetails
berikut
ke halaman produk Anda selain
data terstruktur Product
.
Terkadang penjual memiliki beberapa opsi untuk pengguna saat mengirimkan produk ke
suatu tujuan (misalnya Express Overnight, Rushed 2-day, dan Standard). Anda dapat menunjukkan
setiap opsi ini menggunakan beberapa properti shippingDetails
, masing-masing dengan
kombinasi properti shippingRate
dan deliveryTime
yang berbeda.
Meskipun OfferShippingDetails
tidak diwajibkan, properti berikut diperlukan jika Anda ingin detail pengiriman ini memenuhi syarat untuk peningkatan detail pengiriman.
Definisi lengkap OfferShippingDetails
tersedia di
schema.org/OfferShippingDetails.
Properti wajib | |
---|---|
deliveryTime |
Total penundaan sejak penerimaan pesanan hingga barang diterima oleh
pelanggan akhir. Properti berikut dapat disusun bertingkat di properti
Jangan sediakan lebih dari satu |
shippingDestination |
Menunjukkan tujuan pengiriman. Tentukan
informasi |
shippingRate |
Informasi tentang biaya pengiriman ke tujuan yang ditentukan.
Setidaknya salah satu dari Anda hanya dapat menentukan satu
|
shippingRate.currency |
Mata uang biaya pengiriman, ditulis dalam format ISO 4217 3 huruf. Mata uang ini harus sama dengan mata uang penawaran. |
shippingRate.value atau shippingRate.maxValue |
Biaya pengiriman ke Untuk menentukan pengiriman gratis, tetapkan nilai ke |
DefinedRegion
DefinedRegion
digunakan untuk membuat area kustom, sehingga biaya pengiriman dan waktu
transit yang akurat dapat ditetapkan untuk sejumlah layanan pengiriman. Saat ini, tindakan tersebut
dibatasi untuk beberapa negara saja, seperti yang dijelaskan dalam
Menyiapkan wilayah
di Bantuan Google Merchant Center.
Properti wajib | |
---|---|
addressCountry |
Kode negara dua huruf, dalam format ISO 3166-1 alpha-2. |
Properti yang direkomendasikan | |
---|---|
Pilih addressRegion atau postalCode |
Mengidentifikasi wilayah area pengiriman untuk pelanggan. Jika dihapus,
seluruh negara ditetapkan sebagai wilayah. Beberapa wilayah dapat dicantumkan,
tetapi Anda tidak dapat menggabungkan beberapa cara dalam menetapkan wilayah di satu
instance |
addressRegion |
Jika Anda menyertakan properti ini, wilayahnya harus berupa kode subdivisi ISO 3166-2 dalam format 2 atau 3 digit, tanpa awalan negara. Saat ini, Google Penelusuran hanya mendukung wilayah Amerika Serikat, Australia, dan Jepang. Contoh: "NY" (untuk negara bagian New York, Amerika Serikat), "NSW" (untuk negara bagian New South Wales, Australia), atau "03" (untuk prefektur Iwate, Jepang). Jangan berikan informasi wilayah dan kode pos secara bersamaan. |
postalCode |
Kode pos. Misalnya 94043. Saat ini, kode pos didukung untuk wilayah Australia, Kanada, dan Amerika Serikat. |
ShippingDeliveryTime
ShippingDeliveryTime
digunakan untuk menunjukkan total penundaan sejak penerimaan pesanan hingga barang diterima oleh
pelanggan.
Properti yang direkomendasikan | |
---|---|
handlingTime |
Keterlambatan yang biasa terjadi antara rentang waktu penerimaan pesanan hingga barang dikirim dari gudang. |
transitTime |
Keterlambatan yang biasa terjadi antara rentang waktu pengiriman pesanan hingga barang diterima oleh pelanggan. |
QuantitativeValue
(untuk waktu pengiriman)
QuantitativeValue
digunakan di sini untuk menampilkan waktu pengiriman. Jumlah hari minimum
dan maksimum harus ditentukan. (QuantitativeValue
juga digunakan untuk
harga satuan, dengan aturan validasi yang berbeda untuk properti.)
Properti wajib | |
---|---|
maxValue |
Jumlah hari maksimum. Nilainya harus berupa bilangan bulat positif. |
minValue |
Jumlah hari minimum. Nilainya harus berupa bilangan bulat positif. |
unitCode |
Satuan nilai minimum/maksimum. Nilainya harus berupa |
Hasil
MerchantReturnPolicy
Gunakan properti berikut agar listingan penjual Anda memenuhi syarat untuk menampilkan informasi kebijakan pengembalian, termasuk biaya pengembalian dan jangka waktu pengembalian produk.
Properti wajib | |
---|---|
applicableCountry |
Kode negara tempat berlakunya kebijakan pengembalian, menggunakan format kode negara dua huruf ISO 3166-1 alpha-2. Anda dapat menetapkan maksimal 50 negara. |
returnPolicyCategory |
Jenis kebijakan pengembalian. Gunakan salah satu nilai berikut:
Jika Anda menggunakan |
Properti yang direkomendasikan | |
---|---|
merchantReturnDays |
Jumlah hari produk dapat dikembalikan terhitung sejak tanggal pengiriman. Properti
ini diwajibkan hanya jika Anda menetapkan |
returnFees |
Jenis biaya pengembalian. Gunakan salah satu nilai yang didukung berikut:
|
returnMethod |
Jenis metode pengembalian yang ditawarkan. Hal ini direkomendasikan hanya jika Anda menetapkan
|
returnShippingFeesAmount |
Biaya pengiriman untuk mengembalikan produk. Properti ini hanya diwajibkan jika ada biaya pengiriman
selain nol yang harus dibayarkan oleh konsumen kepada penjual untuk mengembalikan produk. Dalam hal ini, |
Pendekatan alternatif untuk mengonfigurasi setelan pengiriman dan pengembalian dengan Google
Kebijakan pengiriman retailer dapat menjadi rumit dan sering berubah. Jika Anda mengalami masalah saat menunjukkan dan terus memperbarui detail pengiriman dan pengembalian dengan markup dan sudah memiliki akun Google Merchant Center, pertimbangkan untuk mengonfigurasi setelan pengiriman dan kebijakan pengembalian di Bantuan Google Merchant Center. Anda juga dapat mengonfigurasi kebijakan pengiriman dan pengembalian tingkat akun di Search Console, yang akan otomatis ditambahkan ke Merchant Center.
Menggabungkan beberapa konfigurasi pengiriman dan pengembalian
Jika Anda menggabungkan beberapa konfigurasi pengiriman dan pengembalian, perlu diingat bahwa Anda dapat mengganti informasi kebijakan berdasarkan urutan prioritas. Misalnya, jika Anda memberikan markup tingkat organisasi di situs Anda dan setelan kebijakan pengembalian di Search Console, Google hanya akan menggunakan informasi yang diberikan di Search Console. Jika Anda mengirimkan feed produk di Merchant Center dan mengonfigurasi setelan pengiriman di Search Console, informasi feed Merchant Center Anda akan menggantikan setelan Search Console.
Berikut ini hal yang diprioritaskan dalam informasi kebijakan pengiriman dan pengembalian (diurutkan berdasarkan prioritas, dengan feed menjadi yang paling diprioritaskan):
- Feed tingkat produk yang dikirimkan di Merchant Center
- Setelan pengembalian di Content API for Shopping
- Setelan di Merchant Center atau Search Console
- Markup listingan penjual tingkat produk
- Markup tingkat organisasi
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.
Ada dua laporan Search Console terkait data terstruktur Product
:
- Laporan listingan penjual: Untuk halaman tempat pembeli dapat membeli produk.
- Laporan cuplikan produk: Untuk halaman lainnya terkait produk, seperti situs agregator dan ulasan produk.
Kedua laporan tersebut memberikan peringatan dan error terkait data terstruktur Product
, tetapi
bersifat terpisah karena persyaratan yang berbeda untuk pengalaman terkait. Misalnya,
Laporan listingan penjual
mencakup pemeriksaan untuk cuplikan produk yang menyertakan data terstruktur
Offer
, sehingga laporan
Cuplikan produk
hanya perlu dijadikan rujukan untuk halaman listingan non-penjual.
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.