Форум русской поддержки Joomla!® CMS
24.05.2017, 17:57:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Решено! - Звёзды рейтинга в Google - не отображаются. Ошибка в плагине голосования

 (Прочитано 1929 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ChaosHead
Профи
********

Репутация: +399/-11
Online Online

Пол: Мужской
Сообщений: 4663



« : 18.09.2015, 14:21:22 »

Не врубаю, что не так с микроразметкой рейтинга статей. Есть несколько сайтов на Joomla, где не могу добиться отображения звёзд рейтинга в Google.
К примеру страница. Практически чистая последняя Joomla, шаблон Protostar, встроенный рейтинг.
http://designexpo.info/inspiration/227-3d-risunki-penoj-na-kofe-ot-kazuki-yamamoto

Смотрю её в Google Rich Snippet test tool - ошибок нет, рейтинг в коде выводится:
Показать текстовый блок

Через запрос site:designexpo.info в Google звёзды выводятся:
Показать текстовый блок

Однако, если я ввожу любой запрос в Google, по которому ранжируется мой сайт, к примеру "3D рисунки пеной на кофе от Kazuki Yamamoto", то звёзды не отображаются:

Хотя у соседних сайтов они есть.

Не могу понять, что не так?
Пока думаю такие варианты:
1) Рейтинг, написанный словами скрыт на сайте и Google это не любит
2) Используются элементы <meta itemprop="bestRating" content="5">, а не <span>
3) Что-то другое нет так с микроразметкой Joomla, что?

У вас отображаются звёзды рейтинга для статей?
« Последнее редактирование: 20.11.2015, 19:04:02 от ChaosHead » Записан
vmf
Захожу иногда
**

Репутация: +2/-0
Offline Offline

Сообщений: 17


« Ответ #1 : 20.11.2015, 18:42:47 »

Возможно, в этой статье ещё не было проголосовавших (нет рейтинга статьи) или Google  ещё не переиндексировал статью после голосования (необходимо время).
Записан
ChaosHead
Профи
********

Репутация: +399/-11
Online Online

Пол: Мужской
Сообщений: 4663



« Ответ #2 : 20.11.2015, 19:01:44 »

Нет, в итоге я разобрался, сейчас уже звёзды в выдаче:


Информации мало, поэтому пришлось проводить SEO-эксперименты.
Чтобы звёзды таки отобразились нужно в plugins\content\vote\vote.php

Заменить:
Код:
$html .= '<div class="content_rating" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">';
$html .= '<p class="unseen element-invisible">'
. JText::sprintf('PLG_VOTE_USER_RATING', '<span itemprop="ratingValue">' . $rating . '</span>', '<span itemprop="bestRating">5</span>')
. '<meta itemprop="ratingCount" content="' . (int) $row->rating_count . '" />'
. '<meta itemprop="worstRating" content="0" />'
. '</p>';
$html .= $img;
$html .= '</div>';

на

Код:
$html .= '<div class="content_rating" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">';
$html .= '<p class="unseen element-invisible">'
. JText::sprintf('PLG_VOTE_USER_RATING', '<span itemprop="ratingValue">' . $rating . '</span>', '<span itemprop="bestRating">5</span>')
. '<span itemprop="ratingCount" content="' . (int) $row->rating_count . '">' . (int) $row->rating_count . '</span>'
. '<span itemprop="worstRating" content="0">0</span>'
. '<span itemprop="name">' . $row->title . '</span>'
. '</p>';
$html .= $img;
$html .= '</div>';

С точки зрения Google все элементы должны присутствовать на сайте в явном виде, иначе звёзды не отобразятся. Теги meta заменяем на span.
И должно быть выведено имя <span itemprop="name"> того, за что идёт голосование.
Хотя прямо в справке Google об этом не сказано, но сказано, что нельзя скрывать элементы рейтинга иначе это принимается за накрутку. Решение найдено с помощью SEO-экспериментов.
« Последнее редактирование: 20.11.2015, 19:14:33 от ChaosHead » Записан
valcoray
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 25



« Ответ #3 : 07.10.2016, 00:50:58 »

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

1 часть
Код:
$html .= '<div class="row"><div class="col-xs-12 col-sm-3 col-md-3 col-lg-3 content-rating" itemprop="aggregateRating" itemscope itemtype="http://schema.org/WebPage">'
. '<meta itemprop="name" content="' . $row->title . '" />';
$html .= '<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating" class="mark-rating">'
. JText::sprintf('PLG_VOTE_USER_RATING', '<span itemprop="ratingValue">' . $rating . '</span>', '<span itemprop="bestRating">5</span>', '<meta itemprop="ratingValue" content="' . $rating . '" />', '<meta itemprop="bestRating" content="5" />')

. '<meta itemprop="ratingCount" content="' . (int) $row->rating_count . '" />'
. '<meta itemprop="worstRating" content="1" />'
. '</div>';
$html .= $img;
$html .= '</div>';

2 часть
Код:
// Generate voting form
$html .= '<form method="post" action="' . htmlspecialchars($uri->toString(), ENT_COMPAT, 'UTF-8'). '" class="form-inline">';
$html .= '<span class="col-xs-12 col-sm-4 col-md-4 col-lg-4 content-vote">';
$html .= '<label class="unseen element-invisible" for="content_vote_' . $row->id . '">' . JText::_('PLG_VOTE_LABEL'). '</label>';
$html .= JHtml::_('select.genericlist', $options, 'user_rating', null, 'value', 'text', '5', 'content_vote_' . $row->id);
$html .= ' <input class="btn btn-mini" type="submit" name="submit_vote" value="' . JText::_('PLG_VOTE_RATE'). '" />';
$html .= '<input type="hidden" name="task" value="article.vote" />';
$html .= '<input type="hidden" name="hitcount" value="0" />';
$html .= '<input type="hidden" name="url" value="' . htmlspecialchars($uri->toString(), ENT_COMPAT, 'UTF-8'). '" />';
$html .= JHtml::_('form.token');
$html .= '</span>';
$html .= '</form></div>';

P.S. Joomla! 3.6.2
Записан
Guran
Давно я тут
****

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 276


Андрей Булатов


« Ответ #4 : 24.03.2017, 09:25:57 »

Не решено, звезды не появились, у вас по ссылке их нет.
Второй код не проверял, он шаблон protostar ломает.


* 2232.jpg (68.79 Кб, 756x399 - просмотрено 4 раз.)
Записан
ChaosHead
Профи
********

Репутация: +399/-11
Online Online

Пол: Мужской
Сообщений: 4663



« Ответ #5 : 24.03.2017, 10:06:34 »

Это тестовый сайт, после обновления я не делал на нём эти изменения.
Записан
Guran
Давно я тут
****

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 276


Андрей Булатов


« Ответ #6 : 25.03.2017, 11:28:06 »

Сложилось неприятное впечатление, Google фильтрует звезды.
С плагином ExtraVote 3.0 все шло нормально, но топовым страницам с высоким рейтингом Google категорически не давал звезд, хотя робот и посещал их неоднократно.
Поэкспериментировал с родным плагином, с кодом его. Вообще перестал и  ExtraVote 3.0 давать звезды.
Записан
ProtectYourSite
Завсегдатай
*****

Репутация: +43/-4
Online Online

Сообщений: 665



« Ответ #7 : 25.03.2017, 11:43:31 »

Почитайте новости, Google вручную звезды уже стал расставлять)
Записан
Guran
Давно я тут
****

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 276


Андрей Булатов


« Ответ #8 : 25.03.2017, 14:20:41 »

Кстати, в Joomla 3.7 микроразметка плагина осталась та же, c meta! Хотя сам плагин уже другой. Можно в панели управления поле с рейтингом ставить в начале или в конце материала.
Это можно и вручную сделать. Лучше бы аякс-технологию внедрили, а то раздражает ?hitcount=0 в конце урлов, создает дубли страниц.
Записан
ChaosHead
Профи
********

Репутация: +399/-11
Online Online

Пол: Мужской
Сообщений: 4663



« Ответ #9 : 25.03.2017, 14:37:54 »

Новый роутер отложили уже в который раз до Joomla 3.8. Когда заработает, он по идее сделает правильные канонические ссылки, а пока только в robots.txt эти дубли закрывать.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet