Исправление ошибки "Задайте значение для одного из следующих элементов данных: "offers", "review" или "aggregateRating" в WooCommerce
В новой версии Google Search Console многие владельцы сайтов на WordPress с плагином Woocommerce столкнулись с ошибками в блоке “улучшения”, а именно ошибкой микроразметки.
Внимательно изучив список страниц на которых возникает данная ошибка можно заметить что, проявляется она только на страницах категорий товаров. Дело в том, что WooCommerce по умолчанию на страницах категорий и каталога добавляет микроразметку, которая не только не полная, но и вообще не нужна.
К счастью это довольно легко исправляется. Для того чтобы убрать лишнюю разметку, а вместе с тем и ошибки в гугл консоли. Добавьте следующий код в functions.php вашей темы:
Обновление – Октябрь 2019.
Предыдущий метод мог работать не на всех сайтах. Поэтому публикуем второй способ решения проблемы:
/** * Remove the generated product schema markup from Product Category and Shop pages. */ function wc_remove_product_schema_product_archive() { remove_action( 'woocommerce_shop_loop', array( WC()->structured_data, 'generate_product_data' ), 10, 0 ); } add_action( 'woocommerce_init', 'wc_remove_product_schema_product_archive' );
Обновление – Октябрь 2019.
Предыдущий метод мог работать не на всех сайтах. Поэтому публикуем второй способ решения проблемы:
add_filter( 'woocommerce_structured_data_review', 'filter_woocommerce_structured_data_review', 10, 2 ); function filter_woocommerce_structured_data_review( $markup, $comment ) { global $product; $markup['itemReviewed'] = array( '@type' => 'Product', 'name' => get_the_title( $comment->comment_post_ID ), 'review' => array( "@type"=> "Review", 'author' => array( '@type' => 'Person', 'name' => get_comment_author( $comment->comment_ID ), ), ), 'aggregateRating' => array( '@type' => 'AggregateRating', 'ratingValue' => $product->get_average_rating(), 'reviewCount' => $product->get_review_count(), ), ); return $markup; }Будем благодарны если вы поделитесь в комментариях какой из способов сработал для вас.
Этот материал был для вас полезен?
Мы хотим чтобы наши статьи приносили пользу! Свяжитесь с нами если материал оказался не полным или не решил вашу проблему!
12 29