Ворклог по задаче "Проработать микроразметку"
Проблема: Google требует обязательные поля для Product в структурированных данных
Суть ошибки
Google Search Console выдаёт ошибку:
"Задайте значение для одного из следующих элементов данных: offers, review или aggregateRating"
Согласно документации Google, для разметки Product обязательно наличие хотя бы одного из:
offers— информация о цене и наличииreview— отзыв о товареaggregateRating— средний рейтинг
Без этих данных страница не будет показываться в расширенных результатах поиска (rich snippets).
Типичный кейс
Интернет-магазин с товарами "цена по запросу" или "под заказ". У таких товаров нет фиксированной цены, поэтому разработчик не передаёт offers — и получает ошибку от Google.
Решения
1. Использовать offers без конкретной цены
Schema.org позволяет указать priceSpecification без точной цены:
json{
"@type": "Product",
"name": "Детская площадка Premium",
"offers": {
"@type": "Offer",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "PriceSpecification",
"priceCurrency": "RUB"
}
}
}
2. Добавить aggregateRating или review
Если есть система отзывов — использовать её:
json{
"@type": "Product",
"name": "Детская площадка Premium",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "12"
}
}
3. Не использовать разметку Product для товаров без цены
Если товар не имеет цены и отзывов — можно использовать WebPage вместо Product. Это не даст rich snippets, но и не будет ошибок.
Рекомендация
Для товаров "цена по запросу" лучше всего передавать offers с availability, но без price. Google примет такую разметку, а пользователи увидят информацию о наличии товара.