Перейти к содержимому


Фото
- - - - -

Рейтинг товара (со звёздочками) для расширенного сниппета


  • Чтобы отвечать, сперва войдите на форум
13 ответов в теме

#1 madison21

madison21
  • Пользователь
  • 122 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 15.11.2018 - 18:31

Привет парни.
Кто знает как сделать для симплы расширенный сниппет, чтобы в поисковой выдаче выводился рейтинг со звёздочками и количество проголосовавших.

 

В моём шаблоне есть рейтинг и количество проголосовавших.
Пробовал через разметку ld json но не получилось.

Пример на фото..
 

 

Прикрепленные файлы:

  • Прикрепленный файл  20 (3).png   20,91К   10 раз скачано

Изменено: madison21, 15.11.2018 - 18:31


#2 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 900 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 15.11.2018 - 19:25

Привет парни.
Кто знает как сделать для симплы расширенный сниппет, чтобы в поисковой выдаче выводился рейтинг со звёздочками и количество проголосовавших.
 
В моём шаблоне есть рейтинг и количество проголосовавших.
Пробовал через разметку ld json но не получилось.

Пример на фото..

https://developers.g...a-types/product

#3 madison21

madison21
  • Пользователь
  • 122 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 15.11.2018 - 19:46

Спасибо за ссылку но я именно так и делал.
Через разметку json ld
Но когда я подставляю переменные со страницы товара, то не выводит нужные значения - рейтинг и количество проголосовавших.

я так делал

пример

"aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "89"
  },

 

мой вариант с переменными

 

"aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "{$product->rating*80/5|string_format:"%.0f"}",
    "reviewCount": "{$product->votes|string_format:"%.0f"}"
  },

у меня такие переменные в рейтинге на странице товара
но когда вставляю этот скрипт в head то переменные не срабатывают..
так и выводятся переменными, числа не подтягиваются.



#4 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 900 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 15.11.2018 - 20:01

Спасибо за ссылку но я именно так и делал.
Через разметку json ld
Но когда я подставляю переменные со страницы товара, то не выводит нужные значения - рейтинг и количество проголосовавших.

я так делал
пример

"aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "89"
  },
 

мой вариант с переменными


 
"aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "{$product->rating*80/5|string_format:"%.0f"}",
    "reviewCount": "{$product->votes|string_format:"%.0f"}"
  },
у меня такие переменные в рейтинге на странице товара
но когда вставляю этот скрипт в head то переменные не срабатывают..
так и выводятся переменными, числа не подтягиваются.


Покажите весь код.
Скорее всего вы его заключили в {literal}код{/literal} а нужно немного по-другому.

#5 madison21

madison21
  • Пользователь
  • 122 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 15.11.2018 - 20:14

Покажите весь код.
Скорее всего вы его заключили в {literal}код{/literal} а нужно немного по-другому.

 

Вот так я вставлял перед </head>

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Product",
  "name": "Executive Anvil",  
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "{$product->rating*80/5|string_format:"%.0f"}",
    "reviewCount": "{$product->votes|string_format:"%.0f"}"
  },
}
</script>

 

Может быть надо перед </body> ?


и переменные брал отсюда из файла product_content.tpl

 

вот участок кода из этого файла что касается рейтинга

<div class="row">
                           <img class="icon" alt="" src="design/{$settings->theme|escape}/images/reviews.png">
                           <span class="label">{$product->votes|plural:'Голос':'Голосов':'Голоса'}: {$product->votes|string_format:"%.0f"}</span>
                           <div class="rating">
                              <div class="ratings" rel="{$product->id}">
                                 <span class="rater-starsOff"><span style="width:{$product->rating*80/5|string_format:"%.0f"}px" class="rater-starsOn"></span></span>
                              </div> 
                           </div>
                        </div>

 



#6 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 900 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 15.11.2018 - 20:17

Можете вставить код в самом верху файла product.tpl примерно вот так:
{literal}
<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Product",
  "name": "Executive Anvil",  
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "{/literal}{$product->rating*80/5|string_format:"%.0f"}{literal}",
    "reviewCount": "{/literal}{$product->votes|string_format:"%.0f"}{literal}"
  },
}
</script>
{/literal}


#7 madison21

madison21
  • Пользователь
  • 122 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 15.11.2018 - 20:42

Можете вставить код в самом верху файла product.tpl примерно вот так:

{literal}
<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Product",
  "name": "Executive Anvil",  
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "{/literal}{$product->rating*80/5|string_format:"%.0f"}{literal}",
    "reviewCount": "{/literal}{$product->votes|string_format:"%.0f"}{literal}"
  },
}
</script>
{/literal}

вставил такой код, однако инструмент проверки выдаёт следующее

  • Прочие ошибки1 ОШИБКА
JSON-LD
Отсутствует символ "}" или название объекта.


#8 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 900 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 15.11.2018 - 20:54

Ссылочку на сайт пожалуйста!

#9 madison21

madison21
  • Пользователь
  • 122 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 15.11.2018 - 21:12

Ссылочку на сайт пожалуйста!

вот пример книги

https://razum-kniga....a-kniga-vtoraya



#10 madison21

madison21
  • Пользователь
  • 122 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 15.11.2018 - 22:47

Всё получилось.
Спасибо за подсказку, Нокстер.

Сделал вот так
 

 

{literal}
<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Product",
  "name": "{/literal}{$product->name}{literal}",  
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "{/literal}{$product->rating}{literal}",
    "reviewCount": "{/literal}{$product->votes}{literal}"
  }
}
</script>
{/literal}

Инструмент проверки выдаёт без ошибок
 

  • ProductНЕТ ОШИБОКНЕТ ПРЕДУПРЕЖДЕНИЙexpand_less
@type
Product
name
Вернем этрусков Руси. Расшифровка надписей древней цивилизации и обучение этрусскому языку
aggregateRating
 
@type
AggregateRating
ratingValue
5.0
reviewCount
1

 

 

Я просто не знал, что этот скрипт и значения в нём надо оборачивать в literal
Также надо просто указывать в значениях без этого 

|string_format:"%.0f"

Так что ещё раз благодарствую!!!



#11 madison21

madison21
  • Пользователь
  • 122 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 15.11.2018 - 23:01

Единственный только вопрос как правильно вывести description 
Дело в том, что я его задаю на сайте вот так

 

<meta name="description" content="{if $meta_description|escape}{$meta_description|escape}{elseif  $product->categories[41]}➤ Купить «{$product->name|escape}» ➤ Цена: {$product->variant->price|convert} {$currency->sign|escape} ➤ Интернет-магазин «Книжный РАзумей» ➤ Доставка по Киеву и всей Украине (Харьков, Днепр, Одесса, Запорожье, Львов).{else}➤ Купить книгу «{$product->name|escape}»{if $meta_keywords|escape} ({$meta_keywords|escape}){/if} ➤ Цена: {$product->variant->price|convert} {$currency->sign|escape} ➤ Интернет-магазин «Книжный РАзумей» ➤ Доставка по Киеву и всей Украине (Харьков, Днепр, Одесса, Запорожье, Львов).{/if}" />

И если я задаю для сниппета просто {$meta_description}, то он выводит только там, где он есть в админке этот description 
Но в основном у меня моя конструкция выводится, что описал выше.

Вопрос такой как вывести descriotion для meta name="description" для моей конструкции?
Если кто знает, подскажите пожалуйста.



#12 madison21

madison21
  • Пользователь
  • 122 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 16.11.2018 - 22:56

Ещё раз спасибо, Нокстер.
Дальше уже сам разбираться буду.
Все остальные значения по этому принципу также сработали.
Ошибок нет.


Изменено: madison21, 16.11.2018 - 22:57


#13 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 900 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 16.11.2018 - 23:32

Ещё раз спасибо, Нокстер.
Дальше уже сам разбираться буду.
Все остальные значения по этому принципу также сработали.
Ошибок нет.

Я в вас верю, и как я ожидал вы сделали все сами. Респект!

#14 madison21

madison21
  • Пользователь
  • 122 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 17.11.2018 - 00:06

Я в вас верю, и как я ожидал вы сделали все сами. Респект!

Благодарю.






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых