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

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

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

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

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

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



« : 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
Профи
********

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

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



« Ответ #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

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



« Ответ #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
Записан
Страниц: [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