Если не хочется париться с плагином (мне не хочется), можно две строчки в коде поправить. А именно в /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-...