Отборная информация, которая вставляет!

Рейтинг статей поддерживающий расширенные сниппеты

Это третья часть цикла о расширенных функциях блога на wordpress. Сегодня поговорим о рейтингах. Всего я проработал с 5 разными плагинами и хочу описать вам свой опыт.

Итак, мои задачи были такими.

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

Всего, моим требованиям подошли 3 плагина.

1. GD star rating.

Очень известный и мощный плагин, я бы назвал его целым комбайном рейтингов. Так как позволяет настроить любые типы рейтингов. Как звездочки, так и рейтинги типа понравилось\не понравилось, выводить как угодно и где угодно, вести логи, управлять рейтингами и создавать различные топы на их основе. Но вот одна очень большая проблема — слишком навороченный.

Если вам нужны простые рейтинги, типа ключил и пользуешься — это не для вас, так как этот плагин создает огромную нагрузку на базу + создает такое кол-во таблиц в базе данных, что даже больше, чем в самом движке. Если вы захотите кастомизировать вывод рейтингов, то разобраться в плагине — очень не просто. Там нужно настроить кучу шаблонов — как будет показываться рейтинг до голосования, после, как будет выглядеть результат рейтинга и т.д. В общем, то, что сделать можно было проще — такое впечатление, что решили все усложнить.

Но плагин действительно очень мощный.

2. WP-PostRatings.

Один из лучших плагинов рейтинга. Поддерживает рейтинг как статей, так и комментариев. Есть набор разных звездочек. Есть возможность гибкой настройки вывода. Вот все в нем отлично, только набор звездочек мне не очень понравился. Хотелось бы каких-то побольше и симпатичней, а они мелкие все, поэтому решил поискать еще что-то.

3. kk star rating.

Плагин малоизвестный, а зря. Наверное лучшее решение, если нужно установить рейтинг быстро.

Его плюсы: набор звездочек всего один, но симпатичный, при этом можно выбирать свои, удобная админка, минимум настроек, но все самые нужные. Как и предыдущий, значения рейтинга записываются в произвольные поля, а значит их можно выводить где угодно.

Также я сделал страничку, где вывел топ статей на основе рейтинга плагина. Сделал в виде таблички, вот код

<table>
          <thead>
            <tr>
              <td>Заголовок</td>
              <td>Рейтинг</td>
              <td>Комментариев</td>
            </tr>
          </thead>
          <?php if(function_exists('kk_star_ratings_get')) :
    $top_rated_posts = array();
    $top_rated_posts = kk_star_ratings_get(10);
    if(count($top_rated_posts)) :
    wp_reset_query();
    foreach($top_rated_posts as $post)
   {
        $mypost = get_post($post->ID);
        $title = $mypost->post_title;
        $permalink = get_permalink($mypost->ID);
		$rating_score = $post->ratings;
		$com_count = get_comments_number($mypost->ID);
        echo '<tr><td><a href="'.$permalink.'">'.$title.'</a></td>';
        echo '<td>'.$rating_score.'</td>';
		echo'<td>'.$com_count.'</td></tr>';
        wp_reset_query();
    }
    endif;
endif;?>
        </table>


А теперь поговорим о одной очень важной функции — это расширенные сниппеты гугла. Все три плагина имеют поддержку сниппетов, но есть одна проблемка. Последние 2 плагина, создают микроразметку и скрывают её от посетителей. В итоге, гугл вам даст расширенный сниппет с звездочками, но может скоро прийти письмецо, мол вы пытаетесь нас нае…ть, показывая микроразметку только поисковикам. Другими словами, блок с микроразметкой должен быть виден на странице. Я сделал это простым способом — блок открыл, но сделал в нем меленький шрифт — около 9px. И посетителям он виден, но и не настолько чтобы сильно мешал.

Для того, чтобы не скрывать блок, пришлось поковырять сам плагин. В папке плагина найдите index.php найдите строки

$markup.= '<span style="display:none;">
<div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Review-aggregate">

И удалите

 style="display:none;"

Теперь блок будет виден, можно изменить span, сделав так

$markup.= '<span style="font-size:9px">

Это сделает блок с 9px шрифтом.

Ну а если вас интересует полноценная карма пользователей, где давались бы поинты за логин, написание статей, комментирование и т.д., то вам нужен плагин cube points.

Небольшой бонус, я уже писал как-то, как сделать так, чтобы рейтинг на основе wp-postrating добавлял поинты автору статьи, т.е. чем больше рейтинг у статьи, тем выше становится рейтинг автора статьи. Но тот код, что я давал уже не работает. Новый код такой

Открываете файл wp-postraiting.php, ищите там строку

echo the_ratings_results($post_id, $post_ratings_users, $post_ratings_score, $post_ratings_average);

Перед ней вставляете

if( function_exists(‘cp_alterPoints’) && is_user_logged_in() ){
cp_alterPoints(cp_currentUser(), 1);
}

Этот код увеличит рейтинг автора на единичку. Если нужно больше, меняйте цифру на свою.

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

Ссылки на все статьи цикла

1 часть — создаем возможность писать на сайте с фронтенда и редактировать профиль.

2 часть — Плагины для кастомизации логина (попапы, кастомизация стандартного логина, редиректы) и регистрации.

3 часть — Рейтинги статей

4 часть — виджеты социальных сетей и интеграция социальных сетей на сайт


 

Похожие статьи:



8 комментариев к “Рейтинг статей поддерживающий расширенные сниппеты”

  1. Вот все в нем отлично, только набор звездочек мне не очень понравился. Хотелось бы каких-то побольше и симпатичней, а они мелкие все, поэтому решил поискать еще что-то.

    А зря! у Wp-postRatings есть недокументированная особенность которую я нашел пытаясь изменить «звёздочки», на свои. Можете посмотреть на моём сайте ужасов.

    Ну так вот: заходите в плагины «wp-postratings\images\» — там папки. Папки называются так же как и в админке, в настройке плагина (wp-postratings/postratings-options.php). И просто создаете новую папку по аналогии. В ней размещаете ваши иконки rating_half-rtl.gif, rating_off.gif и тд. Заходите в настройки плагина и выбираете вашу папку 🙂

    Готово!

  2. Ваша статья помогла добавить на сайт страницу с рейтингом. Есть один вопрос — как количество комментариев вывести ссылкой, чтобы можно было сразу перейти к комментариям?

  3. Джорж:

    Спасибо за быстрый ответ. Из примера в статье выше, таблица отображения рейтинга статей, куда вставить этот код чтобы вывести ссылки на комментарии?

    • ETNO:

      не, в данном коде это не сработает. Нужно по-другому. В строчке где

      echo'<td>'.$com_count.'</td></tr>'

      нужно сделать так

      echo'<td><a href="'.$permalink.'#comments">'.$com_count.'</a></td></tr>';

      Причем #comments — тут должно быть имя id который имеет слой с комментариями в вашей теме. Обычно он именно вот такой и есть.

  4. Александр:

    Не подскажете, как вывести среднюю оценку в другом месте на странице, если я использую kk-raitings ? Заранее спасибо

  5. Yury:

    GD star rating уже не поддерживается разработчиком, имейте в виду.

оставить отзыв к Джорж

Если хотите вставить код в комментарии, то оберните его тегами ‹pre›‹/pre›