Как исправить "Задайте значение для одного из следующих элементов данных: «offers», «review» или «aggregateRating»."?

Google Search Console наши ошибки при сканировании страницы.
5c77b0ab95d85656191467.png
текст ошибки следующий
Задайте значение для одного из следующих элементов данных: "offers", "review" или "aggregateRating".
Семантическая разметка генерируется в теле скрипта
spoiler
спойлер
<script type="application/ld+json">{"@context":"https:\/\/schema.org\/","@graph":[{"@context":"https:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f","@id":"https:\/\/mebeldagestana.ru"}},{"@type":"ListItem","position":2,"item":{"name":"\u041a\u0443\u0445\u043d\u0438","@id":"https:\/\/mebeldagestana.ru\/kuhni\/"}}]},{"@context":"https:\/\/schema.org\/","@graph":[{"@type":"Product","@id":"https:\/\/mebeldagestana.ru\/kuhni\/ella\/#product","name":"ELLA","url":"https:\/\/mebeldagestana.ru\/kuhni\/ella\/"},{"@type":"Product","@id":"https:\/\/mebeldagestana.ru\/kuhni\/classika\/avgusta\/#product","name":"\u0410\u0432\u0433\u0443\u0441\u0442\u0430","url":"https:\/\/mebeldagestana.ru\/kuhni\/classika\/avgusta\/"},{"@type":"Product","@id":"https:\/\/mebeldagestana.ru\/kuhni\/valensija\/#product","name":"\u0412\u0430\u043b\u0435\u043d\u0441\u0438\u044f","url":"https:\/\/mebeldagestana.ru\/kuhni\/valensija\/"},{"@type":"Product","@id":"https:\/\/mebeldagestana.ru\/kuhni\/viola\/#product","name":"\u0412\u0438\u043e\u043b\u0430","url":"https:\/\/mebeldagestana.ru\/kuhni\/viola\/"},{"@type":"Product","@id":"https:\/\/mebeldagestana.ru\/kuhni\/dub-chernyj\/#product","name":"\u0414\u0443\u0431 \u0447\u0435\u0440\u043d\u044b\u0439","url":"https:\/\/mebeldagestana.ru\/kuhni\/dub-chernyj\/"},{"@type":"Product","@id":"https:\/\/mebeldagestana.ru\/kuhni\/infiniti-serebro\/#product","name":"\u0418\u043d\u0444\u0438\u043d\u0438\u0442\u0438 \u0421\u0435\u0440\u0435\u0431\u0440\u043e","url":"https:\/\/mebeldagestana.ru\/kuhni\/infiniti-serebro\/"},{"@type":"Product","@id":"https:\/\/mebeldagestana.ru\/kuhni\/italjanskaja-kuhnja-44\/#product","name":"\u0418\u0442\u0430\u043b\u044c\u044f\u043d\u0441\u043a\u0430\u044f \u043a\u0443\u0445\u043d\u044f \u211644","url":"https:\/\/mebeldagestana.ru\/kuhni\/italjanskaja-kuhnja-44\/"},{"@type":"Product","@id":"https:\/\/mebeldagestana.ru\/kuhni\/kuhnja-farema\/#product","name":"\u041a\u0443\u0445\u043d\u044f  \u0424\u0430\u0440\u0435\u043c\u0430","url":"https:\/\/mebeldagestana.ru\/kuhni\/kuhnja-farema\/"},{"@type":"Product","@id":"https:\/\/mebeldagestana.ru\/kuhni\/kuhnja-line\/#product","name":"\u041a\u0443\u0445\u043d\u044f LINE","url":"https:\/\/mebeldagestana.ru\/kuhni\/kuhnja-line\/"},{"@type":"Product","@id":"https:\/\/mebeldagestana.ru\/kuhni\/kuhnja-palazzo-ducale\/#product","name":"\u041a\u0443\u0445\u043d\u044f Palazzo Ducale","url":"https:\/\/mebeldagestana.ru\/kuhni\/kuhnja-palazzo-ducale\/"},{"@type":"Product","@id":"https:\/\/mebeldagestana.ru\/kuhni\/kuhnja-siepi-decape\/#product","name":"\u041a\u0443\u0445\u043d\u044f Siepi Decape","url":"https:\/\/mebeldagestana.ru\/kuhni\/kuhnja-siepi-decape\/"},{"@type":"Product","@id":"https:\/\/mebeldagestana.ru\/kuhni\/kuhnja-verano\/#product","name":"\u041a\u0443\u0445\u043d\u044f Verano","url":"https:\/\/mebeldagestana.ru\/kuhni\/kuhnja-verano\/"}]}]}</script>



Хотелось бы узнать решение данной проблемы.
Wordpress обновлен до последней версии.
  • Вопрос задан
  • 4331 просмотр
Решения вопроса 1
@dfnsk
Если не хочется париться с плагином (мне не хочется), можно две строчки в коде поправить. А именно в /wp-content/plugins/woocommerce/includes/class-wc-structured-data.php находите строку
if ( apply_filters( 'woocommerce_structured_data_product_limit', is_product_taxonomy() || is_shop() ) )


Нам надо выше неё переставить определение недостающих полей. Часть из них уже определена ниже, надо просто перести следующие строки выше этого IF'а:
$markup['image'] = wp_get_attachment_url( $product->get_image_id() );
$markup['description'] = wpautop( do_shortcode( $product->get_short_description() ? $product->get_short_description() : $product->get_description() ) );


Ещё два значения, которые Гугл в феврале сделал обязательными (строго рекомендованными) - это бренд и sku. Ну тут от вас зависит, что сюда писать. У меня магазин монобрендовый, а все артикулы у товаров прописаны (кроме вариативных), поэтому у меня просто получилось:
$markup['brand'] = "Bialetti";
$markup['sku'] = $product->get_sku();
if (empty($markup['sku'])) { $markup['sku'] = $product->get_slug(); }


Последний IF нужен для того, чтобы задать SKU для вариативных товаров, им я назначил просто slug (он тоже уникальный), чтобы Гугл отстал и перестал ворнинги рисовать.

Вуаля, ошибок больше нет. Живой пример: https://mokapot.ru/product-category/bialetti-moka-...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
eprivalov
@eprivalov
Учусь
Проблему решает плагин Yoast SEO Woocommerce
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы