• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

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

mr.cyril.zotov

Новичок
/**
* 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' );
Это удаляет разметку из архивов, а в карточках все равно остаются желтые предупреждения.
читал на эту тему форум вебмастеров гугловский, там люди говорят что пытаются донести до разработчиков что какбе не все товары могут иметь оценки и отзывы. пока что все остается на уровне предупреждений. при этом мои расширенные снипеты показывают нормально. например, цена и наличие отображаются. бренд не замечал ни разу.
пока что я решил предупреждения - заказал по 1 отзыву за копейки на все товары

Отправлено с моего Redmi 3S через Tapatalk
 
Это удаляет разметку из архивов, а в карточках все равно остаются желтые предупреждения.
читал на эту тему форум вебмастеров гугловский, там люди говорят что пытаются донести до разработчиков что какбе не все товары могут иметь оценки и отзывы. пока что все остается на уровне предупреждений. при этом мои расширенные снипеты показывают нормально. например, цена и наличие отображаются. бренд не замечал ни разу.
пока что я решил предупреждения - заказал по 1 отзыву за копейки на все товары

Отправлено с моего Redmi 3S через Tapatalk
И мне сегодня прислал: "Задайте значение для одного из следующих элементов данных: "offers", "review" или "aggregateRating".".

Но мне совсем не к чему эти отзывы(((
 

nilbu

Форумчанин
После обновления плагина Yoast SEO произошёл конфликт между обычным плагином для SEO и вот этим - для разметки Yoast SEO Woocommerce. На сайте возникла ошибка "На сайте возникли проблемы технического характера. Пожалуйста, проверьте входящие сообщения почты администратора для дальнейших инструкций." Он перестал открываться. Войдя через режим восстановления, увидел вот такую ошибку. Подскажите, как можно исправить? Юзаю плагин отсюда https://github.com/Yoast/wpseo-woocommerce
 

Вложения

  • Untitled-1.jpg
    Untitled-1.jpg
    77.3 KB · Просмотры: 22

Labunsky

Специалист
Местный
После технических обновлений на search console от Google, я уже и не заморачиваюсь с такими проблемами. Они то появятся, то исчезнут сами собой. Трудно объяснить такое поведение Search Console, но если почитать о том что происходит сейчас внутри Google, то многое прояснится ;) (см. картинку, на которой видно, что исправляется всё само, без вмешательства юзера).

0000000.jpg
 
  • Like
Реакции: D&B
После обновления плагина Yoast SEO произошёл конфликт между обычным плагином для SEO и вот этим - для разметки Yoast SEO Woocommerce. На сайте возникла ошибка "На сайте возникли проблемы технического характера. Пожалуйста, проверьте входящие сообщения почты администратора для дальнейших инструкций." Он перестал открываться. Войдя через режим восстановления, увидел вот такую ошибку. Подскажите, как можно исправить? Юзаю плагин отсюда https://github.com/Yoast/wpseo-woocommerce
Та же проблема. Его надо купить в новой версии
 

aNg

Форумчанин
Бред ситуации в том, что на страницах где есть хоть один отзыв проблемы нет, все три поля присутствуют ("offers", "review","aggregateRating") и гугл это страницу сканирует без проблем. Но если отзыва нет на товаре, то соответственно и нет поля "aggregateRating" и он выдает ошибку. При этом если на нее отставить отзыв и в ручную заставить гугл ее перепроверить то ошибка сразу пропадает.
Но у меня 7000 товаров, и люди не очень охотно ставят отзывы... что делать в такой ситуации?
Страница с отзывом - https://benzograd.com.ua/shop/detektor-korotkozamknutyh-vitkov-dkz-h18-3/
Страница без отзыва - https://benzograd.com.ua/shop/shesternya-komplekt-perforatora-einhell/
 

Ed777

Опытный
Бред ситуации в том, что на страницах где есть хоть один отзыв проблемы нет, все три поля присутствуют ("offers", "review","aggregateRating") и гугл это страницу сканирует без проблем. Но если отзыва нет на товаре, то соответственно и нет поля "aggregateRating" и он выдает ошибку. При этом если на нее отставить отзыв и в ручную заставить гугл ее перепроверить то ошибка сразу пропадает.
Но у меня 7000 товаров, и люди не очень охотно ставят отзывы... что делать в такой ситуации?
Страница с отзывом - https://benzograd.com.ua/shop/detektor-korotkozamknutyh-vitkov-dkz-h18-3/
Страница без отзыва - https://benzograd.com.ua/shop/shesternya-komplekt-perforatora-einhell/

Писать отзывы. Вы хотите что бы отображались то чего нет. Ошибка будет до тех пор пока не напишете отзыв. Эта ошибка не влияет на показ рекламы.
 

Labunsky

Специалист
Местный
Тут всё просто. Спам оставляют прохожие, точнее даже роботы. Если человек прошёл этап регистрации (есть сведения об авторе и дате отзыва ), то любой отзыв не может считаться спамом. Запретите гостям оставлять отзывы и разрешите оставлять отзывы только зарегистрированным пользователям. Регистрация пользователя подразумевает какую-то модерацию с вашей стороны. После таких нехитрых действий и Гугл и Яндекс и пр. претензий к вашему сайту иметь не будут. Поисковикам важнее кол-во отзывов и средний балл от "aggregateRating", кроме откровенно рекламных текстов с кучей ссылок. См. здесь "Отзыв"
 
  • Like
Реакции: aNg

aNg

Форумчанин
Тут всё просто. Спам оставляют прохожие, точнее даже роботы. Если человек прошёл этап регистрации (есть сведения об авторе и дате отзыва ), то любой отзыв не может считаться спамом. Запретите гостям оставлять отзывы и разрешите оставлять отзывы только зарегистрированным пользователям. Регистрация пользователя подразумевает какую-то модерацию с вашей стороны. После таких нехитрых действий и Гугл и Яндекс и пр. претензий к вашему сайту иметь не будут. Поисковикам важнее кол-во отзывов и средний балл от "aggregateRating", кроме откровенно рекламных текстов с кучей ссылок. См. здесь "Отзыв"
Спасибо!
 

Jacky-boom

Форумчанин
Если это ещё кому-то актуально, то лечиться ошибка "Задайте значение для одного из следующих элементов данных: "offers", "review" или "aggregateRating" примерно так:
Код:
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;
}

Там конечно ещё куча предупреждений вылазит. В общем я их максимально убрал. Осталось: Рекомендуется заполнять поле offers. Укажите значение, если оно известно.
Но тут дебилизм, потому что гугл хочет чтобы я в разметке отдельного отзыва указывал цену на товар. В общем пока оставил с одним предупреждением.
 

Wolf2019

Новичок
Если это ещё кому-то актуально, то лечиться ошибка "Задайте значение для одного из следующих элементов данных: "offers", "review" или "aggregateRating" примерно так:
Код:
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;
}

Там конечно ещё куча предупреждений вылазит. В общем я их максимально убрал. Осталось: Рекомендуется заполнять поле offers. Укажите значение, если оно известно.
Но тут дебилизм, потому что гугл хочет чтобы я в разметке отдельного отзыва указывал цену на товар. В общем пока оставил с одним предупреждением.

Спасибо тебе, добрый человек!!!
 

StariyCOM

Новичок
Если это ещё кому-то актуально, то лечиться ошибка "Задайте значение для одного из следующих элементов данных: "offers", "review" или "aggregateRating" примерно так:
Код:
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;
}

Там конечно ещё куча предупреждений вылазит. В общем я их максимально убрал. Осталось: Рекомендуется заполнять поле offers. Укажите значение, если оно известно.
Но тут дебилизм, потому что гугл хочет чтобы я в разметке отдельного отзыва указывал цену на товар. В общем пока оставил с одним предупреждением.

Спасибо. Ошибки ушли, остались только предупреждения:Screenshot_2019-12-02 https search google com.png

Как бы с ними справиться?:)
 

Евгений2510

Новичок

uvokh

Новичок
Если это ещё кому-то актуально, то лечиться ошибка "Задайте значение для одного из следующих элементов данных: "offers", "review" или "aggregateRating" примерно так:
Код:
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;
}

Там конечно ещё куча предупреждений вылазит. В общем я их максимально убрал. Осталось: Рекомендуется заполнять поле offers. Укажите значение, если оно известно.
Но тут дебилизм, потому что гугл хочет чтобы я в разметке отдельного отзыва указывал цену на товар. В общем пока оставил с одним предупреждением.
скажите пожалуйста куда вставлять этот код?
 
Сверху Снизу