Структуровані дані для правил доставки (ShippingService), що використовуються продавцями

У багатьох організаціях діють певні правила, що регламентують процес доставки придбаних товарів. Якщо додати на сайт структуровані дані типу ShippingService, то в Пошуку Google поруч із вашими товарами, а також у блоках знань відображатиметься інформація про правила доставки. У даних ShippingService можна вказувати вартість і терміни доставки залежно від характеристик товару, наприклад його ваги, розмірів або місцезнаходження одержувача.

Стандартні правила доставки, що діють для більшості або всіх товарів, які продає ваша компанія, можна вказати за допомогою структурованих даних типу ShippingService, вкладених у структуровані дані типу Organization за допомогою властивості hasShippingService.

Структуровані дані — стандартизований формат, який дозволяє надавати пошуковим системам інформацію про сторінку та класифікувати її вміст. Детальніше про принципи роботи структурованих даних…

Нижче в загальних рисах описано, як створити, перевірити та додати на сайт структуровані дані.

  1. Додайте обов’язкові властивості. Дізнайтеся, в яких частинах сторінки потрібно розміщувати структуровані дані обраного вами формату.
  2. Дотримуйтесь рекомендацій.
  3. Перевірте свій код за допомогою інструменту перевірки розширених результатів. Якщо будуть виявлені критичні помилки, усуньте їх. Ми також рекомендуємо усунути некритичні помилки, зазначені в інструменті. Це може призвести до підвищення якості структурованих даних, хоча сторінки будуть придатні для створення розширених результатів і без цього.
  4. Опублікуйте сторінку й за допомогою інструменту перевірки URL з’ясуйте, як вона виглядає для робота Googlebot. Переконайтеся, що доступ Google до сторінки не заблоковано файлом robots.txt або метатегом noindex і авторизація на ній не потрібна. Якщо все в порядку, то запросіть повторне сканування ваших URL.
  5. Надішліть нам файл Sitemap, щоб інформувати нас про зміни на сайті. Надсилання такого файлу можна автоматизувати за допомогою Search Console Sitemap API.

У цьому прикладі показано, що в США та Канаді при замовленні на суму від 29,99 доларів США доступна безкоштовна доставка за два дні. В інших випадках діє доставка за три дні, яка коштує 3,49 долара США. У Мексиці замовлення нижче 50 доларів США не доставляються. Для дорожчих замовлень доставка займає чотири дні і коштує 10% від суми покупки.

  <html>
  <head>
    <title>Our shipping policy</title>
    <script type="application/ld+json">
      {
        "@context": "https://schema.org",
        "@type": "https://schema.org/Organization",
        "hasShippingService": {
            "@type": "ShippingService",
            "@id": "#us_ca_mx_standard_shipping",
            "name": "Standard shipping policies for US, Canada and Mexico",
            "description": "US and Canada: Free 2-day shipping for orders over $29.99,
                            otherwise 3-day shipping for $3.49.
                            Mexico: No shipping to Mexico for orders under $50,
                            otherwise 10% shipping cost and 4-day shipping.",
            "fulfillmentType": "FulfillmentTypeDelivery",
            "handlingTime": {
              "@type": "ServicePeriod",
              "cutoffTime": "14:30:00-07:00",
              "duration": {
                "@type": "QuantitativeValue",
                "minValue": 0,
                "maxValue": 1,
                "unitCode": "DAY"
              },
              "businessDays": [
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday"
              ]
            },
            "shippingConditions": [
              {
                "@type": "ShippingConditions",
                "shippingDestination": [
                  {
                    "@type": "DefinedRegion",
                    "addressCountry": "US"
                  },
                  {
                    "@type": "DefinedRegion",
                    "addressCountry": "CA"
                  }
                ],
                "orderValue": {
                  "@type": "MonetaryAmount",
                  "minValue": 0,
                  "maxValue": 29.99,
                  "currency": "USD"
                },
                "shippingRate": {
                  "@type": "MonetaryAmount",
                  "value": 3.49,
                  "currency": "USD"
                },
                "transitTime": {
                  "@type": "ServicePeriod",
                  "duration": {
                    "@type": "QuantitativeValue",
                    "minValue": 1,
                    "maxValue": 2,
                    "unitCode": "DAY"
                  },
                  "businessDays": [
                    "Monday",
                    "Tuesday",
                    "Wednesday",
                    "Thursday",
                    "Friday",
                    "Saturday"
                  ]
                }
              },
              {
                "@type": "ShippingConditions",
                "shippingDestination": [
                  {
                    "@type": "DefinedRegion",
                    "addressCountry": "US"
                  },
                  {
                    "@type": "DefinedRegion",
                    "addressCountry": "CA"
                  }
                ],
                "orderValue": {
                  "@type": "MonetaryAmount",
                  "minValue": 30,
                  "currency": "USD"
                },
                "shippingRate": {
                  "@type": "MonetaryAmount",
                  "value": 0,
                  "currency": "USD"
                },
                "transitTime": {
                  "@type": "ServicePeriod",
                  "duration": {
                    "@type": "QuantitativeValue",
                    "minValue": 1,
                    "maxValue": 1,
                    "unitCode": "DAY"
                  },
                  "businessDays": [
                    "Monday",
                    "Tuesday",
                    "Wednesday",
                    "Thursday",
                    "Friday",
                    "Saturday"
                  ]
                }
              },
              {
                "@type": "ShippingConditions",
                "shippingDestination": {
                  "@type": "DefinedRegion",
                  "addressCountry": "MX"
                },
                "orderValue": {
                  "@type": "MonetaryAmount",
                  "minValue": 0,
                  "maxValue": 49.99,
                  "currency": "USD"
                },
                "doesNotShip": true
              },
              {
                "@type": "ShippingConditions",
                "shippingDestination": {
                  "@type": "DefinedRegion",
                  "addressCountry": "MX"
                },
                "orderValue": {
                  "@type": "MonetaryAmount",
                  "minValue": 50,
                  "currency": "USD"
                },
                "shippingRate": {
                  "@type": "ShippingRateSettings",
                  "orderPercentage": 0.10
                },
                "transitTime": {
                  "@type": "ServicePeriod",
                  "duration": {
                    "@type": "QuantitativeValue",
                    "minValue": 2,
                    "maxValue": 3,
                    "unitCode": "DAY"
                  },
                  "businessDays": [
                    "Monday",
                    "Tuesday",
                    "Wednesday",
                    "Thursday",
                    "Friday",
                    "Saturday"
                  ]
                }
              }
           ]
        }
        // Other Organization-level properties
        // ...
    }
    </script>
  </head>
  <body>
  </body>
</html>

Щоб структуровані дані для правил доставки могли використовуватися в Пошуку Google, вони повинні відповідати наведеним нижче вимогам.

  • Краще, щоб уся інформація про правила доставки у вашій організації містилася на одній сторінці. Розміщувати такі відомості на кожній сторінці сайту не потрібно. У розмітку типу Organization додайте структуровані дані типу ShippingService. Детальніше про розмітку на рівні організації
  • Якщо для певних товарів діють особливі умови доставки, задайте структуровані дані OfferShippingDetails у структурованих даних типу Offer. Врахуйте, що властивості, сумісні з правилами доставки на рівні пропозиції, є частиною властивостей, які підтримуються в правилах доставки на рівні організації. Про те, які властивості підтримуються для правил доставки на рівні товару, можна прочитати в статті Структуровані дані для показу асортименту.

Щоб ваші структуровані дані можна було використовувати в Пошуку Google, необхідно встановити всі обов’язкові властивості. Ви також можете додати рекомендовані властивості, щоб покупцям було зручніше ознайомитися з інформацією про правила доставки.

Щоб описати стандартні послуги доставки, що діють в організації, використовуйте перераховані нижче властивості.

Обов’язкові властивості
shippingConditions

ShippingConditions

Вкажіть вартість або терміни доставки, які застосовуються за певних умов, наприклад для певного вагового діапазону товару, його габаритів, вартості замовлення або місцезнаходження доставки. В одному екземплярі даних ShippingService може бути кілька властивостей shippingConditions. Якщо до товару відноситься кілька значень ShippingConditions, ми будемо використовувати найнижчий тариф доставки й будемо показувати його покупцям разом зі швидкістю доставки. Якщо вартість доставки ідентична, ми покажемо варіант із максимальною швидкістю доставки.

Рекомендовані властивості
name

Text

Унікальна назва послуги доставки, якщо застосовно, наприклад, «Стандартна доставка».

description

Text

Опис послуги доставки, якщо застосовується. Зазвичай вона більш детальна, ніж назва.

fulfillmentType

FulfillmentTypeEnumeration

Спосіб доставки товару покупцеві (якщо застосовно) в рамках цієї служби доставки.

  • https://schema.org/FulfillmentTypeDelivery– товар доставляється на адресу клієнта (це варіант за замовчуванням, якщо значення властивості не вказано).
  • https://schema.org/FulfillmentTypeCollectionPoint– товар доставляється до пункту видачі, звідки його забирає покупець.
handlingTime

ServicePeriod

Необов’язкова інформація про час обробки замовлення (наприклад, на складі) після його отримання (якщо застосовно).

Також ознайомтеся зі списком підтримуваних Google властивостей ServicePeriod для типу ShippingService.

validForMemberTier

MemberProgramTier

Програма лояльності та її рівень, для яких діє ця послуга доставки (якщо застосовується). У цій властивості можна вказати кілька рівнів, якщо налаштування доставки для них однакові.

Якщо ви використовуєте властивість validForMemberTier, щоб вказати пільгові умови доставки для учасників, то потрібно вказати хоча б одну звичайну (не для учасників) послугу доставки.

Програми лояльності та їх рівні, які пропонує ваша компанія, необхідно описати в обліковому записі Merchant Center або в структурованих даних MemberProgram, вкладених у структуровані дані Organization на окремій сторінці, яка містить відомості про вашу організацію та діючі вній правила. Про те, як описати програми лояльності та рівні в них, читайте в статті про програми лояльності.

Приклад того, як властивість validForMemberTier посиланням на програму лояльності (member-plus) і рівень (silver) у ній описується в Merchant Center:

"validForMemberTier": {
  "@type": "MemberProgramTier",
  "name": "silver",
  "isTierOf": {
    "@type": "MemberProgram",
    "name": "member-plus"
  }
}

Нижче наведено приклад властивості validForMemberTier посиланням на структуровані дані MemberProgramTier, вкладені в структуровані дані MemberProgram, які в свою чергу вкладені в структуровані дані типу Organization на окремій сторінці. Значення MemberProgramTier задано у властивості @id, у якому вказано уніфікований ідентифікатор ресурсу (URI) його визначення: https://www.example.com/com/member-plus#tier_silver.

"validForMemberTier": {
  "@id": "https://www.example.com/com/member-plus#tier_silver"
}

Щоб вказати час обробки, використовуйте тип ServicePeriod.

Нижче наведено приклад типу ServicePeriod, в якому замовлення обробляються з понеділка по п’ятницю, а крайній термін — 22:30 за східним стандартним часом. Час обробки становить від 0 до 2 днів (якщо вказано 0, замовлення, отримані до кінцевого терміну, обробляються в той же день).

"handlingTime": {
  "@type": "ServicePeriod",
  "businessDays": [
    "https://schema.org/Monday",
    "https://schema.org/Tuesday",
    "https://schema.org/Wednesday",
    "https://schema.org/Thursday",
    "https://schema.org/Friday"
  ],
  "cutoffTime": "22:30:00-05:00",
  "duration": {
    "@type": "QuantitativeValue",
    "minValue": 0,
    "maxValue": 2,
    "unitCode": "DAY"
  }
}
Рекомендовані властивості
businessDays

DayOfWeek

Дні тижня, в які обробляються отримані замовлення (якщо є).

cutoffTime

Time

Час, після якого отримані замовлення не обробляються в той же день (якщо застосовно). Якщо покупка була здійснена пізніше зазначеного часу, термін доставки автоматично відраховується від наступного робочого дня. Час вказується у форматі ISO-8601, наприклад «23:30:00–05:00» відповідає 18:30 за східним стандартним часом (EST), який на п’ять годин відстає від всесвітнього координованого часу (UTC).

duration

QuantitativeValue

Час від отримання замовлення до відправлення товару зі складу (якщо застосовно).

Тип QuantitativeValue використовується для визначення мінімального й максимального часу обробки замовлення. Разом зі властивістю unitCode необхідно вказати властивість value (для фіксованого часу обробки) або maxValue (для максимального часу обробки). minValue – необов’язкова властивість, яка дозволяє задати нижню межу часу обробки.

Рекомендовані властивості
maxValue

Number

Максимальна кількість днів. Значення має бути цілим невід’ємним числом.

minValue

Number

Мінімальна кількість днів (якщо застосовується). Значення має бути цілим невід’ємним числом.

unitCode

Text

Одиниці, для яких вказується мінімальне/максимальне значення. Можливе значення: DAY або d.

value

Number

Точна кількість днів на обробку, якщо вона відома. Значення має бути цілим невід’ємним числом. Якщо ця властивість вказана, задавати властивості minValue та maxValue не потрібно.

Щоб описати умови, вартість і час транспортування для послуги доставки, скористайтеся наведеними нижче властивостями.

Якщо пункт призначення не вказано, умови доставки застосовуються до всіх пунктів призначення в будь-якій країні світу.

Рекомендовані властивості
doesNotShip

Boolean

Якщо застосовно, задайте значення true, якщо доставка з місцезнаходження, вказаного в shippingOrigin, у місцезнаходження, вказане в shippingDestination, недоступна для замовлень із заданою комбінацією значень властивостей weight, numItems та orderValue.

numItems

QuantitativeValue

Діапазон кількості товарів у замовленні для цього об’єкта умов доставки (якщо застосовується). Також ознайомтеся зі списком підтримуваних Google властивостей QuantitativeValue, пов’язаних з типом ShippingConditions.

orderValue

MonetaryAmount

Діапазон вартості замовлення для цього об’єкта умов доставки (якщо застосовується). Також ознайомтеся зі списком підтримуваних Google властивостей MonetaryAmount, пов’язаних з типом ShippingConditions.

shippingDestination

DefinedRegion

Задає пункт призначення для доставки (якщо застосовно). Ознайомтеся зі списком підтримуваних Google властивостей DefinedRegion всередині властивості shippingDestination.

shippingOrigin

DefinedRegion

Вказує місце відправлення (якщо застосовно). Ознайомтеся зі списком підтримуваних Google властивостей DefinedRegion всередині властивості shippingOrigin.

seasonalOverride

OpeningHoursSpecification

Якщо застосовно, використовуйте цю властивість, щоб вказати обмежений період часу, протягом якого дійсний об’єкт умов доставки. Також ознайомтеся зі списком підтримуваних Google властивостей OpeningHoursSpecification для типу ShippingConditions.

shippingRate

ShippingRateSettings або MonetaryAmount

Якщо застосовно, використовуйте цю властивість, щоб вказати вартість доставки з місцезнаходження, заданого в shippingOrigin, у місцезнаходження, задане в shippingDestination, для замовлень із вказаною комбінацією значень властивостей weight, numItems та orderValue. Також ознайомтеся зі списком підтримуваних Google властивостей ShippingRateSettings та MonetaryAmount для типу ShippingConditions. Цю властивість слід вказувати, тільки якщо властивість doesNotShip відсутня або для неї задано значення false.

transitTime

ServicePeriod

Якщо застосовно, вкажіть очікуваний час транспортування від місця відправлення (зазвичай складу) до пункту призначення (зазвичай адреси покупця). Застосовується до відправлень із місцезнаходження, вказаного у властивості shippingOrigin, у місцезнаходження, вказане у властивості shippingDestination, для замовлень із заданою комбінацією умов значень властивостей weight, numItems та orderValue. Також ознайомтеся зі списком властивостей ServicePeriod, підтримуваних Google. Цю властивість слід вказувати, тільки якщо властивість doesNotShip відсутня або для неї задано значення false.

weight

QuantitativeValue

Діапазон ваги упаковки для цього об’єкта умов доставки (якщо є). Також ознайомтеся зі списком підтримуваних Google властивостей QuantitativeValue, пов’язаних з типом ShippingConditions.

Тип DefinedRegion використовується, щоб створювати власні регіони та точно розраховувати вартість і час транспортування для різних служб доставки.

Обов’язкові властивості
addressCountry

Text

Двобуквений код країни у форматі ISO 3166-1 alpha-2.

Рекомендовані властивості
addressRegion

Text

Код регіону (якщо застосовно). Регіон повинен бути позначений дво- або тризначним кодом адміністративно-територіальної одиниці згідно з ISO 3166-2 без префікса країни. Наразі Google Пошук підтримує тільки регіони США, Австралії та Японії. Приклади: NY (США, штат Нью-Йорк), NSW (Австралія, штат Новий Південний Уельс), 03 (Японія, префектура Івате).

Не вказуйте одночасно регіон і поштовий індекс.

postalCode

Text

Поштовий індекс (якщо застосовно). Наприклад 94043. Наразі підтримуються тільки поштові індекси Австралії, Канади та США.

Тип ServicePeriod використовується, щоб позначати діапазони часу транспортування замовлення.

Приклад:

"transitTime": {
  "@type": "ServicePeriod",
  "businessDays": [
    "https://schema.org/Monday",
    "https://schema.org/Tuesday",
    "https://schema.org/Wednesday",
    "https://schema.org/Thursday",
    "https://schema.org/Friday"
  ],
  "duration": {
    "@type": "QuantitativeValue",
    "minValue": 0,
    "maxValue": 2,
    "unitCode": "DAY"
  }
}
Рекомендовані властивості
businessDays

DayOfWeek

Дні тижня, в які замовлення транспортується (якщо застосовно). Якщо ваша організація працює з понеділка по суботу, додавати цю властивість не потрібно.

duration

QuantitativeValue

Кількість робочих днів на транспортування (якщо застосовно). Також ознайомтеся зі списком підтримуваних Google властивостей QuantitativeValue для часу транспортування.

Тип QuantitativeValue використовується для вказівки мінімального й максимального часу транспортування замовлення. Разом зі властивістю unitCode необхідно вказати або властивість value (для фіксованого часу транспортування), або властивість maxValue (для верхньої межі часу транспортування). За необхідності можна вказати нижню межу часу транспортування у властивості minValue.

Рекомендовані властивості
maxValue

Number

Максимальна кількість днів. Значення має бути цілим невід’ємним числом.

minValue

Number

Мінімальна кількість днів (якщо застосовується). Значення має бути цілим невід’ємним числом.

unitCode

Text

Одиниця часу транспортування. Можливе значення: DAY або d.

value

Number

Точна кількість днів на транспортування (якщо відомо). Значення має бути цілим невід’ємним числом. Якщо ця властивість вказана, задавати властивості minValue та maxValue не потрібно.

У контексті ShippingConditions тип QuantitativeValue використовується, щоб вказати діапазони значень параметрів транспортної упаковки (weight і numItems), для яких застосовуються певні тариф доставки та час транспортування. Необхідно задати minValue або maxValue. В іншому випадку за замовчуванням для властивості minValue використовується 0, а для властивості maxValue значення не обмежено.

Рекомендовані властивості
maxValue

Number

Максимальне значення параметра (weight або numItems), якщо застосовно. Якщо значення не вказано, передбачається, що воно не обмежене.

minValue

Number

Мінімальне значення параметра (weight або numItems), якщо застосовно. Воно має бути меншим за maxValue. Якщо значення не вказано, за замовчуванням використовується 0.

unitCode

Text

Одиниця виміру, що відноситься до параметра (weight або numItems), якщо застосовно. Вона вказується у вигляді тризначного коду UN/CEFACT:

  • Для одиниць ваги значення має бути LBR (фунти) або KGM (кілограми).
  • Для кількості товарів значення unitCode можна не вказувати. Також можна використовувати код UN/CEFACT H87.

У контексті умов доставки тип MonetaryAmount використовується для визначення діапазонів вартості замовлення, для яких застосовуються певні тариф і терміни доставки. Необхідно задати minValue або maxValue. В іншому випадку за замовчуванням для властивості minValue використовується 0, а для властивості maxValue значення не обмежено. Зверніть увагу, що ви також можете використовувати тип MonetaryAmount в іншому форматі, щоб вказати вартість доставки.

Обов’язкові властивості
currency

Text

Код валюти, в якій вказана вартість замовлення, у форматі ISO 4217.

maxValue

Number

Максимальна вартість замовлення. Якщо значення не вказано, передбачається, що воно не обмежене.

minValue

Number

Мінімальна вартість замовлення. Якщо значення не вказано, за замовчуванням використовується 0.

У контексті тарифів доставки тип MonetaryAmount використовується, щоб вказати певну або максимальну вартість доставки за заданих умов. Тип MonetaryAmount – простіший варіант складного властивості ShippingRateSettings. Його можна використовувати, якщо вам потрібно вказати тільки певну або максимальну вартість доставки. Разом зі властивістю currency необхідно задати maxValue або value.

Обов’язкові властивості
currency

Text

Код валюти, в якій вказана вартість доставки, у форматі ISO 4217.

maxValue

Number

Максимальна вартість доставки за заданих умов. Якщо ви вказали властивість maxValue, не вказуйте властивість value.

value

Number

Фіксована вартість доставки за заданих умов. Якщо доставка безкоштовна, вкажіть значення 0.

У контексті тарифів доставки тип ShippingRateSettings використовується, щоб вказати вартість доставки за заданих умов. Значення наводиться у відсотках від вартості або ваги замовлення. При використанні типу ShippingRateSettings необхідно задати orderPercentage або weightPercentage.

Рекомендовані властивості
orderPercentage

Number

Вартість доставки за заданих умов у вигляді частки від вартості замовлення. Вкажіть значення від 0 до 1.

weightPercentage

Number

Вартість доставки за заданих умов у вигляді частки від ваги товарів. Вкажіть значення від 0 до 1.

У контексті умов доставки тип OpeningHoursSpecification використовується, щоб вказати, коли умова діє, наприклад у святкові дні. При використанні типу OpeningHoursSpecification необхідно вказати хоча б одну з властивостей validFrom та validThrough.

Рекомендовані властивості
validFrom

Date

Дата, з якої починає діяти умова доставки, у форматі ISO 8601.

validThrough

Date

Дата, в яку закінчується термін доставки, у форматі ISO 8601.

Правила, за якими працюють продавці, можуть ускладнюватися і часто змінюватися. Якщо вам важко підтримувати розмітку, яка відображала б актуальну інформацію про доставку, ви можете встановити правила доставки в Google Merchant Center (якщо є обліковий запис у цій службі). Також можна встановити правила доставки на рівні облікового запису в Search Console. Вони будуть автоматично додані до Merchant Center.

Якщо вам потрібно об’єднати кілька різних правил доставки, не забувайте про те, як такі правила перевизначаються відповідно до їх пріоритету. Наприклад, якщо вказати правила доставки як в розмітці для правил доставки на сайті, так і в Search Console, Google використовуватиме тільки другий варіант.

У Google пріоритет визначається наступним чином (в порядку зменшення значущості):

Якщо у вас виникли труднощі з додаванням або налагодженням структурованих даних, вам допоможуть ресурси та інформація, доступні за наведеними нижче посиланнями.