Помощь Недопустимый формат значения цены Prestashop 1.6

kozukhar

Гуру форума
Регистрация
24 Июл 2013
Сообщения
186
Реакции
91
Google присылает такое сообщение - недопустимый формат значения цены для элемента данных "price".
Кто-то знает как устранить данный эту ошибку? может модуль есть какой для устранения этой ошибки.
Я по началу подозревал что это проблема темы, но даже при переходе на стандартную ситуация не изменилась.
Сайт Для просмотра ссылки Войди или Зарегистрируйся


ПОЛНОЕ СООБЩЕНИЕ:
Основные предупреждения

Предупреждения – повод задуматься об оптимизации ресурса. Некоторые предупреждения позволяют узнать, как улучшить вид страниц в результатах поиска Google. То, из-за чего сегодня выносится предупреждение, в будущем может классифицироваться как ошибка. На основании анализа Вашего сайта были вынесены следующие предупреждения:

Недопустимый формат значения цены для элемента данных "price".

Рекомендуем Вам по мере возможности устранить указанные выше проблемы. Тогда в результатах поиска Google будет появляться больше страниц Вашего сайта, и притом в наилучшем виде.
 

Zveruga76

Хранитель порядка
Регистрация
19 Июл 2013
Сообщения
315
Реакции
513
На главной и в категории товары в списке имеют неправильную микроразметку. Цены "обернуты" в <span> c itemprop="price" следующим образом:

<span itemprop="price" class="price product-price">25 грн</span>

Тем самым говорите гуглу, что в этом span'e будет цена, но там стоит пробел и "грн", что запрещено. Должна быть только сумма и все, ни пробелов, ни валюты. Если умеете править шаблоны, то исправьте product_list.tpl - надо цены вида 25 грн оставить для людей, а для гугла вынести цены в невидимый тег, т.е. добавить рядом <meta itemprop="price" content="{$product.price}" /> и убрать itemprop="price" из span'a с ценой.
 

kozukhar

Гуру форума
Регистрация
24 Июл 2013
Сообщения
186
Реакции
91
Спасибо за подробное описание!
Получилось так:

{/if}
{if (!$PS_CATALOG_MODE && ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
<div class="content_price" itemprop="offers" itemscope itemtype="Для просмотра ссылки Войди или Зарегистрируйся">
{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}
<span class="price product-price">
<meta itemprop="price" content="{$product.price}" />
{hook h="displayProductPriceBlock" product=$product type="before_price"}
{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}
</span>
<meta itemprop="priceCurrency" content="{$currency->iso_code}" />
{if $product.price_without_reduction > 0 && isset($product.specific_prices) && $product.specific_prices && isset($product.specific_prices.reduction) && $product.specific_prices.reduction > 0}
{hook h="displayProductPriceBlock" product=$product type="old_price"}
<span class="old-price product-price">
{displayWtPrice p=$product.price_without_reduction}
</span>
{if $product.specific_prices.reduction_type == 'percentage'}
<span class="price-percent-reduction">-{$product.specific_prices.reduction * 100}%</span>
{/if}
{/if}
К сожалению гугл продолжает видеть на странице Для просмотра ссылки Войди или Зарегистрируйся ошибки (
 

_sashok

PrestaShop Expert
Регистрация
15 Июл 2011
Сообщения
2.312
Реакции
4.112
Спасибо за подробное описание!
Получилось так:

{/if}
{if (!$PS_CATALOG_MODE && ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
<div class="content_price" itemprop="offers" itemscope itemtype="Для просмотра ссылки Войди или Зарегистрируйся">
{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}
<span class="price product-price">
<meta itemprop="price" content="{$product.price}" />
{hook h="displayProductPriceBlock" product=$product type="before_price"}
{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}
</span>
<meta itemprop="priceCurrency" content="{$currency->iso_code}" />
{if $product.price_without_reduction > 0 && isset($product.specific_prices) && $product.specific_prices && isset($product.specific_prices.reduction) && $product.specific_prices.reduction > 0}
{hook h="displayProductPriceBlock" product=$product type="old_price"}
<span class="old-price product-price">
{displayWtPrice p=$product.price_without_reduction}
</span>
{if $product.specific_prices.reduction_type == 'percentage'}
<span class="price-percent-reduction">-{$product.specific_prices.reduction * 100}%</span>
{/if}
{/if}
К сожалению гугл продолжает видеть на странице Для просмотра ссылки Войди или Зарегистрируйся ошибки (

обновитесь до 1.7.6.7 или хотя бы 1.6.1.24 (включая файлы дизайн-макета, так как там уже получше с стандартизацией под гугл)
 

kozukhar

Гуру форума
Регистрация
24 Июл 2013
Сообщения
186
Реакции
91
обновитесь до 1.7.6.7 или хотя бы 1.6.1.24 (включая файлы дизайн-макета, так как там уже получше с стандартизацией под гугл)
Обновился с 1.6.1.11 до 1.6.1.24 - в консоли Google проверяю исправления но все осталось по прежнему, ума не приложу что еще можно сделать.
 

Zveruga76

Хранитель порядка
Регистрация
19 Июл 2013
Сообщения
315
Реакции
513
Обновился с 1.6.1.11 до 1.6.1.24 - в консоли Google проверяю исправления но все осталось по прежнему, ума не приложу что еще можно сделать.
Не вижу в исходнике страницы изменений. Перекомпиляция шаблонов при изменения настрона? Кеш очищали?

upload_2020-8-26_14-22-42.png
 

kozukhar

Гуру форума
Регистрация
24 Июл 2013
Сообщения
186
Реакции
91
Не вижу в исходнике страницы изменений. Перекомпиляция шаблонов при изменения настрона? Кеш очищали?

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

kozukhar

Гуру форума
Регистрация
24 Июл 2013
Сообщения
186
Реакции
91
На главной и в категории товары в списке имеют неправильную микроразметку. Цены "обернуты" в <span> c itemprop="price" следующим образом:

<span itemprop="price" class="price product-price">25 грн</span>

Тем самым говорите гуглу, что в этом span'e будет цена, но там стоит пробел и "грн", что запрещено. Должна быть только сумма и все, ни пробелов, ни валюты. Если умеете править шаблоны, то исправьте product_list.tpl - надо цены вида 25 грн оставить для людей, а для гугла вынести цены в невидимый тег, т.е. добавить рядом <meta itemprop="price" content="{$product.price}" /> и убрать itemprop="price" из span'a с ценой.

Проделал еще раз по инструкции Zveruga76 но уже с версией Prestashop 1.6.1.24
Google принял на повторную проверку, теперь ожидаю, как Google отпишется дополню.
Спасибо за инструкцию Для просмотра ссылки Войди или Зарегистрируйся и спасибо что подсказали обновить версию Для просмотра ссылки Войди или Зарегистрируйся
 

Zveruga76

Хранитель порядка
Регистрация
19 Июл 2013
Сообщения
315
Реакции
513
Google принял на повторную проверку, теперь ожидаю, как Google отпишется дополню.
В категориях теперь все правильно, на главной почти, 9 товаров из 25 с ошибкой, блок лидеров продаж имеет косячные цены.
Поставьте принудительную перекомпиляцию и обновите главную страницы. Иногда очистка кеша по непонятным причинам не помогает сбросить кеш шаблонов модулей. Или проверьте шаблон модуля blockbestsellers, вдруг его переделали и он не подтягивает product_list.tpl как должен обычно.
upload_2020-8-26_22-33-45.png
 

kozukhar

Гуру форума
Регистрация
24 Июл 2013
Сообщения
186
Реакции
91
Подытожу: Ошибка от сервиса индексации страниц сайта "Недопустимый формат значения цены для элемента данных "price" УСТРАНЕНА!
Метод сработал с версией Prestashop 1.6.1.24
Инструкцию написал Для просмотра ссылки Войди или Зарегистрируйся смотрим второе сообщение в теме, просьба выражать благодарность Для просмотра ссылки Войди или Зарегистрируйся и остальным участникам путем нажатия кнопки "МНЕ НРАВИТСЯ"
 
Сверху