Перейти к содержанию
Форум поддержки пользователей VamShop

Google начал ругаться на разметку отзывов


Рекомендуемые сообщения

С 3 февраля гугл начал жаловаться на разметку отзывов, хтя я ничего не менял:

Недопустимый тип объекта в поле "itemReviewed"

Отсутствует обязательное минимальное и/или максимальное значение для оценки.

Значение, заданное для элемента данных "reviewCount", должно быть положительным.

Код:
 

<div class="row-fluid reviews-title" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
    <div class="span8 title">


<meta itemprop="itemReviewed" content="Чай пуэр ШУ">

    Отзывы: <span itemprop="reviewCount">0</span>, Оценка: <span itemprop="ratingValue">0.00</span>
    </div>    
</div>

не могу понять что ему не нравится

файл product_reviews.html

{config_load file="$language/lang_$language.conf" section="reviews"}<br />
<h1>{$PRODUCTS_NAME} {#heading_reviews#}</h1>
<div class="row-fluid reviews-title" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
	<div class="span8 title">

itemprop="itemReviewed" content="{$PRODUCTS_NAME}"

	{#heading_reviews#} <span itemprop="reviewCount">{$PRODUCTS_REVIEWS_COUNT}</span>, {#text_rating#} <span itemprop="ratingValue">{$PRODUCTS_REVIEWS_RATING|number_format:2}</span>
<span itemprop="worstRating" content="0"</span>
<span itemprop="bestRating" content="5"</span>
	</div>	
</div>
{foreach name=aussen item=module_data from=$module_content} 
<div class="page">
<div class="pagecontent" itemprop="review" itemscope itemtype="http://schema.org/Review">

<p>
<span class="bold">{#text_author#}</span> <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">{$module_data.AUTHOR}</span></span> <span content="{$module_data.DATE|date_format:"%Y-%m-%d"}" itemprop="datePublished">{$module_data.DATE|date_format:"%Y-%m-%d"}</span>
</p>



<p>
<span class="bold">{#text_rating#}</span> <span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"><span itemprop="ratingValue" content="{$module_data.RATING_TXT}">{$module_data.RATING_TXT}</span></span> {$module_data.RATING}
</p>

<p itemprop="reviewBody">
{$module_data.TEXT}
</p>
      
</div>
</div>
{/foreach}

{if $TEXT_FIRST_REVIEW != ''}
<div class="page">
<div class="pagecontent">
<p>
{$TEXT_FIRST_REVIEW}
</p>
</div>
</div>
{/if}
<div class="pagecontentfooter">
{$BUTTON_WRITE}
</div>

 

     
Ссылка на сообщение
Поделиться на другие сайты
34 минуты назад, druuum1 сказал:

С 3 февраля гугл начал жаловаться на разметку отзывов, хтя я ничего не менял:

Недопустимый тип объекта в поле "itemReviewed"

Отсутствует обязательное минимальное и/или максимальное значение для оценки.

Значение, заданное для элемента данных "reviewCount", должно быть положительным.

Код:
 


<div class="row-fluid reviews-title" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
    <div class="span8 title">


<meta itemprop="itemReviewed" content="Чай пуэр ШУ">

    Отзывы: <span itemprop="reviewCount">0</span>, Оценка: <span itemprop="ratingValue">0.00</span>
    </div>    
</div>

не могу понять что ему не нравится

файл product_reviews.html


{config_load file="$language/lang_$language.conf" section="reviews"}<br />
<h1>{#heading_reviews#} {$PRODUCTS_NAME}</h1>
<div class="page">
<div class="pagecontent">

<p>
<span class="bold">{#title_nr#}</span>&nbsp;&nbsp;&nbsp;<span class="bold">{#title_author#}</span>&nbsp;&nbsp;&nbsp;<span class="bold">{#title_rating#}</span>&nbsp;&nbsp;&nbsp;<span class="bold">{#title_date#}</span>
</p>

{foreach name=aussen item=module_data from=$module_content} 
<p itemprop="review" itemscope itemtype="http://schema.org/Review">
<meta itemprop="itemReviewed" content="{$PRODUCTS_NAME}">
{$module_data.ID}&nbsp;&nbsp;&nbsp;<span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">{$module_data.AUTHOR}</span></span>&nbsp;&nbsp;&nbsp;<span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"><span itemprop="ratingValue" content="{$module_data.RATING_TXT}">{$module_data.RATING}</span></span>&nbsp;&nbsp;&nbsp;<span content="{$module_data.DATE|date_format:"%Y-%m-%d"}" itemprop="datePublished">{$module_data.DATE|date_format:"%Y-%m-%d"}</span>&nbsp;&nbsp;&nbsp;<span itemprop="reviewBody">{$module_data.TEXT}</span>
</p>
{/foreach} 

</div>
</div>

 

     

В последней обновлении 1.99.13 исправлен этот момент.

Ругался на страницы reviews.php и product_reviews_info.php, у меня по всяком случае.

Это потому что разметка Review не была привязана к Product, т.е. не было понятно, к какому товару относятся отзывы.

Обновитесь до текущей версии.

Ссылка на сообщение
Поделиться на другие сайты

Либо можете взять исправленные файлы:

/includes/classes/product.php

/product_reviews_info.php

/templates/vamshop4/module/product_reviews_info.html

/templates/vamshop4/module/reviews.html

/includes/application_top.php

/inc/vam_get_manufacturers_name.inc.php

Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, druuum1 сказал:

Спасибо!

и затем проверьте в тестере - https://search.google.com/structured-data/testing-tool

Например страница https://vamshop.ru/reviews.php

Разметка Product, а уже внутри Product отзывы.

Не должно быть прям на первой странице разметки Review, должен быьт Product, внутри которого уже все данные товара, в том числе отзывы.

Тоже самое для страницы конкретного отзыва - https://vamshop.ru/product_reviews_info.php/products_id/1/reviews_id/93

и для страницы отзывов конкретного товара - https://vamshop.ru/product_reviews.php/products_id/1

ну и карточку товара тоже можно проверить - https://vamshop.ru/vamshop.html

Ссылка на сообщение
Поделиться на другие сайты

Спасибо,  обновлений не ставил больше года, так как очень много своих правок, поэтому исправлял то что есть. Единственное на чем застрял - если товара нет в наличии,  то я делаю в разметке availability - out of stock, но цена $PRODUCTS_PRICE так и будет "нет в наличии" и ее в поле price нельзя поставить, будет ошибка, в админке цена 0, но там же в о вкладке цена я добавил еще строку после разных цен для каждой группы покупателей, со старой ценой, чтобы не забывать ее, как можно эту цену скормить гуглу как поле price?

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, druuum1 сказал:

Спасибо,  обновлений не ставил больше года, так как очень много своих правок, поэтому исправлял то что есть. Единственное на чем застрял - если товара нет в наличии,  то я делаю в разметке availability - out of stock, но цена $PRODUCTS_PRICE так и будет "нет в наличии" и ее в поле price нельзя поставить, будет ошибка, в админке цена 0, но там же в о вкладке цена я добавил еще строку после разных цен для каждой группы покупателей, со старой ценой, чтобы не забывать ее, как можно эту цену скормить гуглу как поле price?

Если у Вас какое-то своё поле для цены добавлено, наверное надо его и выводить.

Вот в faq есть похожий вопрос - 

 

Как выводить в другой валюте.

Вывод цены другой группы делается точно также.

т.е. делаем всё, что указано в FAQ для вывода цены в другой валюте.

Только правим не первый параметр - код валюты, т.е. вместо USD оставляем RUB или какой там у Вас код валюты.

А правим второй параметр, где указывается, цену какой группы доставать.

т.е. вместо:

$_SESSION['customers_status']['customers_status_id']

пишем id номер группы, цены которой надо вывести.

Например 1 - посетитель

2 покупатель

 

Вот таким способом можно вести разные цены.

 

Но это нужно что б в админке у товара были забыти цена для разных групп, т.е. в закладке Цены в админке, для арзные групп покупателей надо указать свои цены.

 

Ссылка на сообщение
Поделиться на другие сайты
15 минут назад, druuum1 сказал:

Сделал как вы описали - вместо цены пишет У Вас нет доступа для просмотра цен

А у Вас во всех группах в Админке - Покутпали - Группы включена опцию Показывать цены?!

или в каких-то выключена эта опция?!

По идее, это сообщение выводится, если эта опция выключена.

Ссылка на сообщение
Поделиться на другие сайты

в product_info.php вставляю:
 

$vamPriceOLD = new vamPrice('RUR', 7);
$products_price_OLD = $vamPriceOLD->GetPrice($array['products_id'], $format = true, 1, $tax_rate, $array['products_price'], 1); 
$info->assign('PRODUCTS_PRICE_OLD', $products_price_OLD['formated']);

в product_info_v1.html

{$PRODUCTS_PRICE_OLD}

пишет нет в наличии, то есть 0, хотя цена в этой группе есть

Ссылка на сообщение
Поделиться на другие сайты
20 минут назад, druuum1 сказал:

в product_info.php вставляю:
 


$vamPriceOLD = new vamPrice('RUR', 7);
$products_price_OLD = $vamPriceOLD->GetPrice($array['products_id'], $format = true, 1, $tax_rate, $array['products_price'], 1); 
$info->assign('PRODUCTS_PRICE_OLD', $products_price_OLD['formated']);

в product_info_v1.html

{$PRODUCTS_PRICE_OLD}

пишет нет в наличии, то есть 0, хотя цена в этой группе есть

По идее, это ж неправильно.

$array нет такого массива на карточке товара.

Посмотрите как сделана метка PRODUCTS_PRICE в /includes/modules/product_info.php

Видимо, надо как-то так:

$vamPriceOLD = new vamPrice('RUR', 7);
$products_price_OLD = $vamPriceOLD->GetPrice($product->data['products_id'], $format = true, 1, $product->data['products_tax_class_id'], $product->data['products_price'], 1); 
$info->assign('PRODUCTS_PRICE_OLD', $products_price_OLD['formated']);

и надо проверять, точно у Вас есть группа с id номером 7 и код валюты точно RUR, а не RUB например.

Ссылка на сообщение
Поделиться на другие сайты

Точно! в массиве была проблема, я не заметил, сейчас заработало! спасибо!!

кто столкнется с таким же вопросом - последняя строка $info->assign('PRODUCTS_PRICE_OLD', $products_price_OLD['plain']); - чтоб гугл понял, если formated - то это с запятой или точкой может быть разделение тысяч

Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, druuum1 сказал:

Точно! в массиве была проблема, я не заметил, сейчас заработало! спасибо!!

кто столкнется с таким же вопросом - последняя строка $info->assign('PRODUCTS_PRICE_OLD', $products_price_OLD['plain']); - чтоб гугл понял, если formated - то это с запятой или точкой может быть разделение тысяч

Не за что.

Хорошо, что разобрались.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 weeks later...

Чет я файлы заменил из архива скаченного на сайт и упал сайт, там в базу еще что-то прописывается или поч так могло произойти? 

Ссылка на сообщение
Поделиться на другие сайты
Только что, ZM сказал:

Чет я файлы заменил из архива скаченного на сайт и упал сайт, там в базу еще что-то прописывается или поч так могло произойти? 

Потому что нормально надо обновляться, в обновлениях много всего вносится, иногда и база данных обновляется.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...