«M. Weather» – бесплатный бот-информер погоды «ВКонтакте»
2 109 просм
31 комм
Поделиться:

Микроразметка рейтинга полной новости в DLE

Не так давно один из читателей моего блога попросил рассказать о том, как правильно сделать микроразметку рейтинга schema.org для CMS DataLife Engine. Поскольку я нашел немного времени, то хотел бы уделить его как раз этой теме.

Для чего вообще нужна эта микроразметка?

У поисковых систем существует такая штука, как сниппет (Rich snippets) – более подробное описание веб-страницы, которое визуально привлекает внимание пользователей и увеличивает доверие с их стороны.

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

Для примера показываю вам, как сайт выглядит без микроразметки:

Микроразметка рейтинга полной новости в DLE

А это пример моего сайта с микроразметкой:

Микроразметка рейтинга полной новости в DLE

Согласитесь, второй вариант выделяется из числа предложенных нам сайтов.

Установка микроразметки на сайт

Для того чтобы сделать микроразметку рейтинга на нашем сайте, будем использовать тип Product, и использовать его нам нужно только в полной новости. В отличие от других мануалов по этой теме в интернете, он на 100% рабочий и не зависит от типа выбранного рейтинга на вашем сайте.

1. Первое, что вам необходимо сделать – это подключиться к вашему сайту по FTP и открыть файл, отвечающий за вид полной новости (если вы ничего не меняли – это файл fullstory.tpl).

Микроразметка рейтинга полной новости в DLE

Если у вас нет возможности подключиться к сайту по FTP, то можно открыть панель управления сайтом, раздел «Управления шаблонами», пункт «Шаблоны сайта».

Микроразметка рейтинга полной новости в DLE

И здесь также найти файл, отвечающий за вид полной новости.

Микроразметка рейтинга полной новости в DLE

2. Далее, до вашего кода, вставляете:

<div itemscope itemtype="http://schema.org/Product">

В итоге у вас должно получиться:

Микроразметка рейтинга полной новости в DLE

После всего кода вставьте:

<meta itemprop="name" content="{title}">
</div>

В результате вы получите:

Микроразметка рейтинга полной новости в DLE

3. Теперь нам необходимо добавить непосредственно код, который будет хранить в себе наш рейтинг. Перед нашим ранее добавленным кодом </div> вставьте:

<span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
	<meta itemprop="ratingValue" content="{rating_nums}">
	<meta itemprop="ratingCount" content="{vote-num}">
</span>

Здесь {rating_nums} – это оценка рейтинга по 5-балльной шкале, {vote-num} – количество людей, оценивших материал.

4. И последним, завершающим этапом, будет небольшая правка кода движка. Откройте файл show.full.php в папке /engine/modules/ найдите строчку:

$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );

и после нее вставьте:

$tpl->set('{rating_nums}', str_replace(",", ".", round($row['rating'] / max(1, $row['vote_num']), 1)));

5. Установка закончена.

Теперь вам осталось подождать, пока поисковые роботы переиндексируют ваш сайт (1–2 недели), после чего вы сможете наблюдать рейтинг ваших материалов в поисковой выдаче.

31
комментарий
Навигация:
1 2 3
Александр
23.01 в 20:40
Это микроразметка рейтинга
  • 1
Александр, да, это она :)
  • -1
Dart Mystic
3.02 в 19:12
Полезная штуковина) Делает особенной новость даже на поисковике. Спасибо =)
Побольшеб таких полезных советов, они маленькие но очень значительные)
  • 1
rustam
8.03 в 20:48
У меня проблемка небольшая на сайте теперь вылезла в самом незу вот тут /novinki-2017/14-krik-1996.html в конце 2"> такая штучка
  • 0
rustam, здравствуйте! В исходном коде сайта у вас следующее:

<meta itemprop="ratingCount" content="<span id="vote-num-id-14">2</span>">

Как вы видите, двойка заключена в <span></span> что не верно с точки зрения разметки. Уберите <span></span> и все будет о.к. Если нужна помощь - пишите нам Вконтакте, и предоставив доступы - сможем помочь решить проблему.
  • 0
rustam
9.03 в 01:06
Отписал а в ВК
  • 0
Gh8st
9.03 в 13:27
Спасибо. Добавил себе данную микроразметку. Как скоро поисковик заметит нововведения и отобразит на страницах результата поиска?
  • 0
Gh8st
9.03 в 13:47
У меня тоже вылезло "> убрал дефолтный span, получилось так.
[code]$tpl->set( '{vote-num}', $row['vote_num']);[/code]
Теперь буду ждать 1-2 недели.

ps. извиняюсь за невнимательность :)
  • 1
Gh8st, в среднем 1 - 2 недели, но бывает и быстрее. Да, для 3 типа рейтинга наблюдал небольшой баг из за обертки span. И посмотрите, что у вас в исходном коде. Если вы используете 3 тип рейтинга, строчку из последнего пункта Вам нужно заменить на

if($row['rating'] == 0 ) { $news_rating = $row['rating']; } else { $news_rating = "5"; }
$tpl->set( '{rating_nums}', str_replace(",",".", $news_rating));
  • 2
rustam
9.03 в 19:43
Артем Мáлков, спасибо за помощь в ВК.
  • 0
Gh8st
29.03 в 17:41
Решил проверить в гугле разметку и вот оно что :) http://prntscr.com/epxfnl
Добавьте в статью, может пригодится кому-то.
<span itemprop="name">%название%</span>
  • 1
Rustam
16.04 в 19:39
Я так понял что эта микроразметка только для гугл? ото смотрю в яндексе её не видно совсем, хотя в новости есть рейтинг а в яндексе нет :(
  • 1
Rustam, в основном да, для гугла. Но, я видел пару сайтов, у которых был рейтинг и в Яндексе. Всего скорее, для этого, у сайта должен быть статус.
  • 0
Rustam
16.04 в 20:36
Артем, А какойкакой статус? Мой сайт по многим запросам в топе, это не статус? ИлиИли как я понял это большое время сайту?
  • 0
Rustam, всего скорее, под статусом, подразумевается возраст сайта, тиц, посещаемость, история домена, узнаваемость сайта.
  • 0
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария