Структурированные данные для показа ассортимента (Product
, Offer
)
Если разметить на странице данные о товарах (Product
), для нее может стать доступен показ ассортимента в Google Поиске, в том числе в блоке знаний о товарах, в Google Картинках, в популярных товарах и описаниях товаров. При этом также могут быть показаны такие данные о товаре, как цена, доступность, сведения о доставке и правила возврата.
В этом руководстве описаны требования к структурированным данным типа Product
для показа ассортимента. Если вы не знаете, какую разметку использовать, прочитайте нашу вводную статью о разметке Product
.
Как добавлять структурированные данные
Структурированные данные – стандартизированный формат, который позволяет предоставлять информацию о странице и классифицировать ее контент. О том, как это работает, рассказывается в другой статье.
Ниже в общих чертах описано, как создать, проверить и добавить на сайт структурированные данные. Пошаговые инструкции вы найдете в практической работе, посвященной добавлению структурированных данных на веб-страницу.
- Добавьте обязательные свойства. Узнайте, в каких частях страницы нужно размещать структурированные данные выбранного вами формата.
- Следуйте рекомендациям.
- Протестируйте свой код с помощью инструмента проверки расширенных результатов. Если будут обнаружены критические ошибки, устраните их. Мы также рекомендуем устранить некритические ошибки, отмеченные в инструменте. Это может привести к повышению качества структурированных данных, хотя страницы будут подходить для создания расширенных результатов и без этого.
- Опубликуйте страницу и с помощью инструмента проверки URL выясните, как она выглядит для робота Googlebot. Убедитесь, что доступ Google к странице не заблокирован файлом robots.txt или метатегом
noindex
и авторизация на ней не требуется. Если все в порядке, то запросите повторное сканирование ваших URL. - Отправляйте нам файл Sitemap, чтобы информировать нас об изменениях на сайте. Отправку такого файла можно автоматизировать с помощью Search Console Sitemap API.
Примеры
Ниже показано, как добавить на веб-страницы структурированные данные для той или иной ситуации.
Страница товара с ценовым предложением
Вот пример страницы, где можно купить товар, с отзывами об этом товаре.
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>
Микроданные
<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>
Цены
Ниже приведены два примера указания цены в JSON-LD.
Цена может быть указана с помощью свойства price
:
"offers": { "@type": "Offer", "price": 10.00, "priceCurrency": "USD", ... }
Также цена может быть указана с помощью свойства priceSpecification
:
"offers": { "@type": "Offer", "priceSpecification": { "@type": "UnitPriceSpecification", "price": 10.00, "priceCurrency": "USD" }, ... }
Как указать цену с учетом количества единицы товара
Вот пример указания стоимости 4,5 л товара, который всегда продается в таре объемом 750 мл. Этот тип цены особенно популярен в ЕС при продаже товаров на объем или вес.
При наличии количества единицы товара и его базового количества цена задается в элементе UnitPriceSpecification
.
"priceSpecification": { "@type": "UnitPriceSpecification", "price": 81.00, "priceCurrency": "EUR", "referenceQuantity": { "@type": "QuantitativeValue", "value": "4.5", "unitCode": "LTR", "valueReference": { "@type": "QuantitativeValue", "value": "750", "unitCode": "MLT" } } }
Сведения о доставке
Вот пример страницы товара со сведениями о доставке. В этом примере для всех проживающих в США стоимость доставки составит $3.49. Дополнительные примеры приведены в разделе Доставка.
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>
Микроданные
<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>
Бесплатная доставка
Вот пример того, как указать бесплатную доставку для жителей штата Нью-Йорк.
"shippingDetails": { "@type": "OfferShippingDetails", "shippingRate": { "@type": "MonetaryAmount", "value": "0", "currency": "USD" }, "shippingDestination": [ { "@type": "DefinedRegion", "addressCountry": "US", "addressRegion": ["NY"] } ] }
Сведения о возврате
Вот пример страницы товара с описанием процедуры возврата. Разметкой обозначаются правила возврата, согласно которым товар с доставкой в США можно без комиссии вернуть в течение 60 дней.
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>
Микроданные
<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>
Класс энергоэффективности
В примере ниже показано, как с помощью структурированных данных можно указать класс энергоэффективности. В этом примере указан европейский класс энергоэффективности "C" по шкале от "A+" до "F" для водонагревателя.
Обратите внимание, что минимальный класс энергоэффективности соответствует ее наихудшему показателю (в нашем случае это "F"), а максимальный класс энергоэффективности – наилучшему (в нашем случае это "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" } }
3D-модель
На этом примере показано, как связать 3D-модель с товаром с помощью свойства subjectOf
и типа 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" } }
Правила
Чтобы для ваших страниц с разметкой Product
стали доступны функции показа ассортимента, следуйте приведенным ниже правилам:
- Общие рекомендации по использованию структурированных данных
- Главное о Поиске
- Технические требования
- Требования к контенту
- Требования к размещению бесплатных предложений (при использовании функций показа ассортимента)
Технические требования
- Функции показа ассортимента доступны только для страниц, на которых можно купить товар. Эти функции не поддерживают страницы со ссылками на другие интернет-магазины. Прежде чем показывать информацию в результатах поиска, Google может проверять данные о товаре из представленного ассортимента.
- В настоящее время в расширенных результатах для товаров могут показываться только страницы, на которых размещена информация об одном товаре или нескольких вариантах одного товара (например, страница "Наш ассортимент" не подходит). Это условие действует и в том случае, если у каждого варианта товара есть отдельный URL. Рекомендуем добавлять разметку на страницы, на которых представлены отдельные товары, а не их списки.
- О том, как добавить разметку для вариантов товара, читайте в документации.
- Если цена на товар указана в нескольких валютах, для каждой валюты должен быть отдельный URL. Например, товар можно оплатить рублями и долларами США, должно быть два отдельных URL.
- В настоящее время для типа
Car
не предусмотрена автоматическая поддержка в качестве подтипа Product. Чтобы прикреплять оценки и обеспечить допуск контента к показу в результатах поиска, добавьте типы Car и Product. Пример в формате JSON-LD:{ "@context": "https://schema.org", "@type": ["Product", "Car"], ... }
Требования к контенту
- Не допускаются материалы, в которых рекламируются запрещенные или ограниченные в обороте товары либо услуги, а также информация, позволяющая причинять людям вред в краткосрочной и долгосрочной перспективе. В частности, запрещен контент, связанный с огнестрельным и холодным оружием, рекреационными наркотиками, табачными изделиями, электронными сигаретами и азартными играми.
Типы структурированных данных
Чтобы ваш контент мог показываться в расширенных результатах, необходимо задать все обязательные свойства. Для удобства пользователей советуем задать и рекомендуемые нами свойства.
Информация о товаре
Product
Полное описание типа Product
приведено на странице schema.org/Product. В разметке информации о товаре используйте следующие свойства schema.org типа Product
:
Обязательные свойства | |
---|---|
name |
Название товара. |
image |
Повторно используемые типы URL фотографии товара. По возможности товар должен быть хорошо различим на изображении (например, сфотографирован на белом фоне). Дополнительные рекомендации:
Пример: "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ] |
offers |
Вложенный тип Описания товаров принимают типы |
Рекомендуемые свойства | |
---|---|
aggregateRating |
Вложенный тип |
audience |
Дополнительная информация о рекомендуемой аудитории товара, например рекомендуемый пол и возрастная группа. Поддерживается только тип |
brand.name |
Добавьте в свойство |
color |
Цвет или сочетание цветов товара (например, "красный" или "желтый/небесно-голубой"). Об атрибуте "Цвет" читайте в справке Google Merchant Center. |
description |
Описание товара. Хотя описание товара и не является обязательным, настоятельно рекомендуем размещать его в этом свойстве. |
gtin | gtin8 | gtin12 | gtin13 | gtin14 | isbn |
Необходимо включить все подходящие глобальные идентификаторы. Они описаны на странице schema.org/Product.
Разрешается использовать общее свойство Свойство { "@context": "https://schema.org", "@type": ["Product", "Book"], .... } |
hasEnergyConsumptionDetails |
Информация об энергопотреблении товаров, например электроприборов.
Это свойство особенно актуально в странах Евросоюза.
Также ознакомьтесь со списком свойств типа |
inProductGroupWithID |
Идентификатор группы товаров, к которой относится этот вариант товара. О свойстве |
isVariantOf |
Группа товаров, к которой относится этот вариант товара, если свойство применимо. Как добавить разметку для вариантов товара |
material |
Материал или сочетание материалов, из которых изготовлен товар, например "Кожа" или "Хлопок/полиэстер". О свойстве |
mpn |
Номер по каталогу производителя. Это свойство представляет собой уникальный идентификатор товара от конкретного производителя. |
pattern |
Узор, например "в горошек" или "в полоску". О свойстве |
review |
Вложенный тип При добавлении отзыва о товаре в свойстве Неправильно: "Скидка 50 % в Черную пятницу" Правильно: "Антон Иванов" или "Обозреватели CNET" |
size |
Размер товара, например "XL" или "средний". О свойстве |
sku |
Идентификатор товара, относящийся к определенному продавцу. Укажите не более одного значения.
|
subjectOf |
3D-модель для товара. если применимо. Ознакомьтесь со списком свойств типа |
3DModel
Полное описание типа 3DModel
приведено на странице schema.org/3DModel
.
Используйте перечисленные ниже свойства для установления связи с 3D-моделью. В настоящее время поддерживаются только модели формата glTF.
Обязательные свойства | |
---|---|
encoding |
Мультимедиа для 3D-модели. |
encoding.contentUrl |
Связь с файлом определения 3D-модели в формате glTF. У файла должен быть суффикс |
Сведения о предложении
Offer
Полное описание типа Offer
приведено на странице schema.org/Offer. В разметке типа Offer
нужно использовать перечисленные ниже свойства schema.org
.
Обязательные свойства | |
---|---|
price или priceSpecification.price |
Цена товара. Следуйте инструкциям, приведенным на сайте schema.org. Используя свойство "offers": { "@type": "Offer", "price": 39.99, "priceCurrency": "USD" } В отличие от описаний товаров, для использования функций показа ассортимента цена должна быть больше нуля.
Указывать цену предложения обязательно, однако необязательно делать это на уровне типа |
priceCurrency или priceSpecification.priceCurrency |
Валюта, в которой указана цена товара. Используйте трехбуквенный формат ISO 4217.
Свойство |
priceSpecification |
Чтобы указать сложную цену, вместо свойства Цены можно указывать с помощью свойств В ценах с указанием количества единицы товара внутри типа |
Рекомендуемые свойства | |
---|---|
availability |
Возможные статусы наличия товара. Также поддерживаются сокращенные названия без префикса URL (например,
Можно указать не более одного значения. |
hasMerchantReturnPolicy |
Вложенная информация о правилах возврата, связанных с типом |
itemCondition |
Условие продажи товара. Также поддерживаются сокращенные названия без префикса URL (например,
Можно указать не более одного значения. |
shippingDetails |
Вложенная информация о правилах доставки и доступных вариантах, связанных с |
url |
URL страницы, где покупатель может приобрести товар. Это может быть основной URL страницы со всеми выбранными вариантами. URL можно не указывать. Не указывайте несколько URL. |
UnitPriceSpecification
Полное описание типа UnitPriceSpecification
приведено на странице schema.org/UnitPriceSpecification
.
Для поддержки более сложных схем ценообразования воспользуйтесь свойствами, представленными ниже.
Обязательные свойства | |
---|---|
price |
Цена товара. См. также свойство |
priceCurrency |
Валюта, в которой указана цена товара. Используйте трехбуквенный формат ISO 4217.
См. также свойство |
Рекомендуемые свойства | |
---|---|
referenceQuantity |
Исходное количество указывается для цен, где задается их базовое значение. Подробная информация о ценах за единицу товара приведена в статьях справки Google Merchant Center Ценообразование с использованием количества единицы товара и Количество единицы товара. |
QuantitativeValue
(для цены за единицу товара)
Этот раздел посвящен использованию типа QuantitativeValue
со свойством referenceQuantity
при определении цены за единицу товара. QuantitativeValue
также используется для указания сроков доставки, однако в этом случае действуют другие правила. Полное описание типа QuantitativeValue
приведено на странице schema.org/QuantitativeValue
.
Тип QuantitativeValue
может использоваться для определения цены, которая зависит от количества единицы товара, например при покупке напольного покрытия в квадратных метрах или жидкости в литрах. Подробная информация о ценах за единицу товара приведена в статье справки Google Merchant Center Количество единицы товара.
Ниже приведен пример цены продажи 4,5 л товара, который можно приобрести в таре по 750 мл.
"priceSpecification": { "@type": "UnitPriceSpecification", "price": 81.00, "priceCurrency": "EUR", "referenceQuantity": { "@type": "QuantitativeValue", "value": "4.5", "unitCode": "LTR", "valueReference": { "@type": "QuantitativeValue", "value": "750", "unitCode": "MLT" } } }
Чтобы указать цену за единицу товара, воспользуйтесь приведенными ниже параметрами.
Обязательные свойства | |
---|---|
unitCode |
Единица измерения. Поддерживаются коды UN/CEFACT или их удобочитаемые эквиваленты, указанные в статье справки Google Merchant Center Количество единицы товара. |
value |
Числовое значение проданной единицы товара. |
Рекомендуемые свойства | |
---|---|
valueReference |
Тип |
SizeSpecification
Тип SizeSpecification
используется для указания размера товара.
Полное описание этого типа доступно на странице schema.org/SizeSpecification
.
Рекомендуемые свойства | |
---|---|
name |
Удобочитаемое название размера, например "XL". Подробную информацию об атрибуте "размер" можно найти в справке Google Merchant Center. |
sizeGroup |
Рекомендуемая группа размеров товара (по возможности). Определение группы задается свойством
Также поддерживаются сокращенные названия без префикса URL (например, Подробная информация о поддерживаемых системах размеров приведена в разделах справки Google Merchant Center о поддерживаемых типах структурированных данных и допустимых значениях и о свойстве |
sizeSystem |
Система размеров (если используется). Допустимые значения:
Также поддерживаются сокращенные названия без префикса URL (например, О свойстве |
PeopleAudience
Полное описание типа PeopleAudience
приведено на странице schema.org/PeopleAudience
.
Для указания рекомендуемой аудитории товара используйте приведенные ниже свойства. См. также раздел справки Google Merchant Center о поддерживаемых типах структурированных данных и допустимых значениях.
Рекомендуемые свойства | |
---|---|
suggestedGender |
Пол, на который ориентирован товар. Использовать нужно один из следующих значений:
Подробную информацию о свойстве Учтите, что Google будет заполнять значения |
suggestedMaxAge или suggestedAge.maxValue |
Рекомендуемый максимальный возраст для товара (в годах). В Google выполняется сопоставление рекомендуемого максимального возраста с учетом приведенного ниже стандартного набора численных значений:
|
suggestedMinAge или suggestedAge.minValue |
Рекомендуемый минимальный возраст для товара (в годах). В Google выполняется сопоставление рекомендуемого минимального возраста с учетом приведенного ниже стандартного набора численных значений:
|
EnergyConsumptionDetails
Полное описание типа EnergyConsumptionDetails
приведено на странице schema.org/EnergyConsumptionDetails
.
Для обозначения энергопотребления товаров, например электроприборов, воспользуйтесь приведенными ниже свойствами. В настоящее время поддерживается только классификация энергоэффективности ЕС.
Обязательные свойства | |
---|---|
hasEnergyEfficiencyCategory |
Категория энергоэффективности. В настоящее время поддерживается только европейская классификация энергоэффективности:
Также поддерживаются сокращенные названия без префикса URL (например, |
Рекомендуемые свойства | |
---|---|
energyEfficiencyScaleMin и energyEfficiencyScaleMax |
Низший и высший класс энергоэффективности по шкале энергопотребления ЕС для категории, к которой относится товар. См. Свойство { "@type": "EnergyConsumptionDetails", "hasEnergyEfficiencyCategory": "https://schema.org/EUEnergyEfficiencyCategoryC", "energyEfficiencyScaleMin": "https://schema.org/EUEnergyEfficiencyCategoryD", "energyEfficiencyScaleMax": "https://schema.org/EUEnergyEfficiencyCategoryA3Plus" } Если свойство |
Доставка
OfferShippingDetails
Свойство OfferShippingDetails
позволяет показывать пользователям стоимость доставки, ее предполагаемые сроки в зависимости от адреса, а также правила вашей компании.
Чтобы для ваших товаров поддерживались улучшенные сведения о доставке, добавьте перечисленные ниже свойства OfferShippingDetails
на страницы товаров вместе со структурированными данными Product
.
Иногда продавцы предлагают пользователям разные варианты доставки, например срочную (за сутки), быструю (за двое суток) и стандартную. В таком случае вы можете добавить несколько свойств shippingDetails
, каждое со своей комбинацией свойств shippingRate
и deliveryTime
.
Добавлять свойства OfferShippingDetails
необязательно, однако это необходимо, если вы хотите, чтобы пользователи видели улучшенные сведения о доставке.
Полное описание типа OfferShippingDetails
приведено на странице schema.org/OfferShippingDetails.
Обязательные свойства | |
---|---|
deliveryTime |
Общее время от получения заказа до прибытия товара к покупателю. В свойство
Указывайте не более одного свойства |
shippingDestination |
Определяет пункты назначения для доставки. Укажите свойства |
shippingRate |
Сведения о стоимости доставки по определенному адресу.
Помимо Для каждого свойства |
shippingRate.currency |
Валюта, в которой указана стоимость доставки, в 3-буквенном формате ISO 4217. Валюта должна совпадать с указанной в предложении. |
shippingRate.value или shippingRate.maxValue |
Стоимость доставки до места Если доставка бесплатная, укажите значение |
DefinedRegion
С помощью свойства DefinedRegion
можно создавать собственные регионы, чтобы точно рассчитывать стоимость и время транспортировки для разных служб доставки. В настоящее время эта функция поддерживается только в отдельных странах, как указано в разделе справки Google Merchant Center, посвященном настройке регионов.
Обязательные свойства | |
---|---|
addressCountry |
Двухбуквенный код страны в формате ISO 3166-1 alpha-2. |
Рекомендуемые свойства | |
---|---|
Выберите одно из свойств: addressRegion или postalCode |
Это свойство определяет регион зоны доставки. Если его не задать, регионом доставки будет считаться вся страна. Можно указать несколько регионов, однако в одном экземпляре типа |
addressRegion |
Если вы добавили это свойство, регион должен быть обозначен двух- или трехзначным кодом подразделения ISO 3166-2 без префикса страны. В настоящее время Google Поиск поддерживает только регионы США, Австралии и Японии. Примеры: "NY" (США, штат Нью-Йорк), "NSW" (Австралия, штат Новый Южный Уэльс) или "03" (Япония, префектура Ивате). Не указывайте одновременно регион и почтовый индекс. |
postalCode |
Почтовый индекс. Например, 94043. В настоящее время поддерживаются только почтовые индексы Австралии, Канады и США. |
ShippingDeliveryTime
С помощью типа ShippingDeliveryTime
можно обозначать общее время от получения заказа до прибытия товара к покупателю.
Рекомендуемые свойства | |
---|---|
handlingTime |
Типичный промежуток времени между получением заказа и отгрузкой товара со склада. |
transitTime |
Типичный промежуток времени между отгрузкой товара со склада и его доставкой покупателю. |
QuantitativeValue
(для сроков доставки)
С помощью типа QuantitativeValue
можно обозначать сроки доставки. Должно быть указано минимальное и максимальное количество дней. Тип QuantitativeValue
также используется для обозначения стоимости единицы товара, однако в этом случае для свойств действуют другие правила проверки.
Обязательные свойства | |
---|---|
maxValue |
Максимальное количество дней. Значение должно быть целым неотрицательным числом. |
minValue |
Минимальное количество дней. Значение должно быть целым неотрицательным числом. |
unitCode |
Единицы, для которых указывается минимальные/максимальные значения. Возможное значение: |
Возврат товара
MerchantReturnPolicy
Используйте следующие свойства, чтобы при показе ассортимента отображались сведения о правилах возврата товара, в том числе комиссия и сроки возврата.
Обязательные свойства | |
---|---|
applicableCountry |
Двухбуквенный код страны, на которую распространяются правила возврата, в формате ISO 3166-1 alpha-2. Можно указать до 50 стран. |
returnPolicyCategory |
Тип правила возврата. Используйте одно из следующих значений:
При использовании типа |
Рекомендуемые свойства | |
---|---|
merchantReturnDays |
Количество дней с даты доставки, в течение которых можно вернуть товар. Это свойство является обязательным, если для типа |
returnFees |
Тип платы за возврат. Используйте одно из следующих поддерживаемых значений:
|
returnMethod |
Тип предложенного способа возврата. Рекомендуется только в том случае, если для типа правила
|
returnShippingFeesAmount |
Стоимость доставки при возврате товара. Это свойство требуется только в том случае, если покупатель должен заплатить продавцу за обратную доставку товара. Стоимость доставки должна быть больше нуля, при этом необходимо указать следующее значение свойства |
Как ещё можно отправить в Google информацию о доставке и возврате
Правила, по которым работают продавцы, могут усложняться и часто меняться. Если вам трудно поддерживать разметку, которая отражала бы актуальную информацию о доставке и возврате, вы можете задать сведения о доставке и правила возврата в Google Merchant Center. Также можно задать правила доставки и возврата на уровне аккаунта в Search Console. Они будут автоматически добавлены в Merchant Center.
Как объединить несколько правил доставки и возврата
Если вам нужно объединить несколько разных правил доставки и возврата, не забывайте о том, как такие правила переопределяются в соответствии с их приоритетом. Например, если указать как разметку на уровне организации на сайте, так и правила возврата в Search Console, в Google будут использоваться только последние. А если добавить фид товаров в Merchant Center и настроить правила доставки в Search Console, то приоритет будет иметь фид товаров.
Ниже приведен приоритет разных правил доставки и возврата в порядке убывания.
- фиды на уровне товара, заданные в Merchant Center;
- правила возврата в Content API for Shopping;
- правила в Merchant Center или Search Console;
- разметка на уровне организации;
- разметка для показа ассортимента на уровне товара.
Сбор статистики по расширенным результатам в Search Console
С помощью Search Console вы можете собирать данные об эффективности страниц вашего ресурса в Google Поиске. Вам не обязательно регистрироваться в этом сервисе, чтобы ваши страницы попали в результаты поиска. Однако это позволит узнать, как роботы Google воспринимают сайт, и упростить им его обработку. Рекомендуем проверять информацию в Search Console в следующих случаях:
- После первого размещения структурированных данных
- После выпуска новых шаблонов или обновления кода
- При регулярном анализе трафика
После первого размещения структурированных данных
Когда ваши страницы будут проиндексированы, проверьте их на наличие ошибок с помощью отчета о статусе расширенных результатов. Желательно, чтобы количество объектов с правильной разметкой выросло, а число объектов с ошибками – нет. Если в структурированных данных будут обнаружены ошибки, примите следующие меры:
- Устраните проблемы в объектах.
- Проверьте исправленную страницу, чтобы узнать, обнаруживаются ли ошибки.
- Запросите проверку ресурса, используя отчет о статусе расширенных результатов.
После выпуска новых шаблонов или обновления кода
Если вы внесли значительные изменения на сайт, проверьте, не увеличилось ли число недействительных объектов, связанных со структурированными данными.- Увеличилось число недействительных объектов? Возможно, вы создали шаблон, с которым что-то не так, или имеющийся шаблон используется некорректно.
- Уменьшилось число действительных элементов, но не увеличилось количество недействительных? Возможно, на ваших страницах не размещены структурированные данные. Выяснить, с чем связаны ошибки, можно при помощи инструмента проверки URL.
При регулярном анализе трафика
Анализировать трафик сайта из Google Поиска можно с помощью отчета об эффективности. Из этого отчета вы узнаете, как часто страница появляется в Поиске в виде расширенного результата, с какой регулярностью пользователи нажимают на нее и какова ее средняя позиция в результатах поиска. Эти сведения также можно автоматически получать с помощью Search Console API.
There are two Search Console reports related to Product
structured data:
- Merchant listings report: For pages where shoppers can buy products.
- Product snippets report: For other product related pages such as product reviews and aggregator sites.
Both reports provide warnings and errors related to Product
structured data, but
are separate due to the different requirements for the associated experiences. For example, the
Merchant listings report
includes checks for product snippets that include Offer
structured data, so the
Product snippets
report only needs to be consulted for non-merchant listing pages.
Устранение неполадок
Если у вас возникли трудности с добавлением или отладкой структурированных данных, вам помогут ресурсы и сведения, доступные по приведенным ниже ссылкам.
- Если вы используете систему управления контентом (CMS) или поручили настройку сайта другому человеку, обратитесь за помощью к нему или разработчику CMS. Не забудьте переслать ему сообщения о проблеме, полученные вами в Search Console.
- Google не гарантирует показ вашего контента в результатах поиска, которые формируются на основе структурированных данных. Возможные причины, по которым ваши материалы могут не показываться в виде расширенных результатов, перечислены в общих рекомендациях по использованию структурированных данных.
- Ознакомьтесь со списком типичных ошибок в структурированных данных и проверьте, всё ли у вас правильно.
- Если мы вручную приняли меры в отношении страницы, недопустимые структурированные данные на ней будут игнорироваться до тех пор, пока вы не исправите код. При этом сама страница может появляться в результатах поиска и дальше. Чтобы устранить проблемы со структурированными данными, воспользуйтесь отчетом о мерах, принятых вручную.
- Ещё раз изучите рекомендации, чтобы выяснить, соответствует ли им ваш контент. Проблема может быть связана со спамом в контенте или разметке, а не с ошибками в синтаксисе. Тогда ее не получится выявить с помощью инструмента проверки расширенных результатов.
- Узнайте, что может стоять за отсутствием расширенных результатов или уменьшением их общего количества.
- Робот Googlebot сканирует и индексирует страницы не сразу после обновления контента. С момента публикации страницы может пройти несколько дней, пока Google обнаружит и просканирует ее. Мы собрали на отдельной странице ответы на часто задаваемые вопросы о сканировании и индексировании.
- В случае необходимости задавайте вопросы на форуме Центра Google Поиска