При добавлении товаров с сайта на woocommerce в Яндекс товары, требуется микроразметка. Ее достаточно несложно реализовать без плагинов — кодом:
add_action('wp_head', function() {
if (!is_product()) return;
global $product;
$schema = [
'@context' => 'https://schema.org',
'@type' => 'Product',
'name' => $product->get_name(),
'image' => wp_get_attachment_url($product->get_image_id()),
'description' => wp_strip_all_tags($product->get_short_description()),
'sku' => $product->get_sku(),
'brand' => [
'@type' => 'Brand',
'name' => $product->get_attribute('pa_brand') ?: 'N/A'
],
'offers' => [
'@type' => 'Offer',
'url' => get_permalink(),
'priceCurrency' => get_woocommerce_currency(),
'price' => $product->get_price(),
'availability' => $product->is_in_stock()
? 'https://schema.org/InStock'
: 'https://schema.org/OutOfStock'
]
];
// AggregateRating, если есть отзывы
if ($product->get_review_count() > 0) {
$schema['aggregateRating'] = [
'@type' => 'AggregateRating',
'ratingValue' => $product->get_average_rating(),
'reviewCount' => $product->get_review_count()
];
}
echo '<script type="application/ld+json">' .
wp_json_encode($schema, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) .
'</script>';
});