Как обратить на сайт внимание в поисковой выдаче Google

Поисковый гигант Google настоятельно рекомендует вебмастерам структурировать информацию на своих сайтах для расширенных результатов поиска. Существует несколько типов структурированных данных, а также исчерпывающая справочная информация в справочном центре Google. Но вся ирония в том, что рядовые вебмастера либо туда не заглядывают, либо не находят время разобраться: зачем это и с чем его едят, либо понятия не имеют, как все это реализовать на своем сайте?

Что такое структурированные данные, зачем они вашему сайту, и как это реализовать в пару кликов на своем сайте (я покажу примеры для WordPress), не обладая особыми навыками и умениями в программировании?

Структурированные данные - это дополнительная информация, которая отображается возле ссылки или описания вашего сайта в результатах поиска. Соответственно, эта информация помогает пользователю лучше понять, насколько ее содержание релевантно запросу. Да и выглядит такой результат поиска куда интереснее и привлекательнее для пользователя (а это своего рода бесплатная реклама и дополнительный трафик с поиска). Давайте посмотрим на простейший пример, который сегодня каждый из нас сможет реализовать на своем WordPress сайте:

Результат в поиске с структурированными данными
Результат в поиске без структурированных данных
Результат в поиске с структурированными данными
Результат в поиске с структурированными данными

Как я уже упомянул, типов структурированных данных есть много, но в данном примере (как на скрине выше) реализована поддержка рейтинга и описания рубрик (обратите внимание на звездочки и адрес сайта в поисковой выдаче на нижней фотографии), чего вполне достаточно для рядового блога сеошника либо любого другого тематического блога.

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

Итак, приступаем к реализации на своем WordPress сайте выше проиллюстрированных структурированных данных. Подчерку еще раз - ничего сложного тут нет, вы потратите максимум 5 минут, но зато получите выразительный результат своего сайта в поисковой выдаче Google и соответственно новых целевых посетителей.  Бесплатно и легально!

Рейтинг в результатах поиска Google

Для того, чтобы рядом с названием вашей статьи в поиске Google выводился рейтинг статьи (в выдаче мы видим звездочки с указанием голосов и общего рейтинга), вы должны дать возможность своим пользователям оценивать материалы на своем сайте.  На WordPress мы это реализуем с помощью специального плагина - WP-PostRatings.

Плагины - Добавить новый - Поиск - WP-PostRatings - Установить - Активировать

Теперь нужно зайти в настройки (Ratings Options) и обязательно активировать опцию "Enable Google Rich Snippets?" (поставить Yes). Изменить общий вид шаблона для голосования вы можете на той же странице настроек, после чего, нам необходимо подключить рейтинг на странице записей. Открываем файл записей в папке шаблона (как правило это файл single.php) и в нужное место вставляем код:

<?php if(function_exists('the_ratings')) { the_ratings(); }  ?>

На своем сайте я это сделал внизу страницы, это выглядит следующим образом:

Пример реализации плагина рейтинга статьи
Пример реализации плагина рейтинга статьи на сайте на WordPress

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

 Рубрика в результатах поиска Google

В результатах поиска Google вместо указания адреса страницы, которая сама по себе ничего не говорит пользователю, можно вывести полный путь рубрик, в которых находится искомый материал. Такие данные позволяют пользователю яснее понять, о том ли эта статья что он ищет? Для реализации задуманного, потребуется модифицировать так называемые "хлебные крошки" в WordPress. Вот как они выглядят на сайте:

Хлебные крошки на сайте также нужно структурировать
Хлебные крошки на сайте также нужно структурировать

А вот так структурированные "хлебные крошки выглядят" в результатах поиска Google:

Структурированные хлебные крошки в выдаче Google
Структурированные хлебные крошки в выдаче Google

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

Функция выглядит следующим образом (открываем файл functions.php и после <? php вставляем):

/*** Функция хлебных крошек ***/
function breadcrumbs_new() {
$seozona_home = 'Главная';// текст главной ссылки
$seozona_last_crumb = 1; // 0 - не показывать название текущей статьи/страницы/рубрики
$seozona_between = ' &raquo; '; //символ разделителя
$seozona_from= ''; 
$seozona_to = '';
global $post;
$seozona_link_to_home = home_url('/');
$seozona_from_court = '<span typeof="v:Breadcrumb">';
$seozona_to_court = '</span>';
$seozona_link_rdf = ' rel="v:url" property="v:title"';
$seozona_path = $seozona_from_court . '<a' . $seozona_link_rdf . ' href="%1$s">%2$s</a>' . $seozona_to_court;
$seozona_superior = $descendant = $post->post_parent;
$seozona_initial_page = get_option('page_on_front');
if (is_home() || is_front_page()) {
echo '<div class="block-crumbs"><a href="'.$seozona_link_to_home.'">' . $seozona_home . '</a></div>';
} else {
echo '<div class="block-crumbs" xmlns:v="http://rdf.data-vocabulary.org/#">';
{
echo '<span typeof="v:Breadcrumb"><a href="'.$seozona_link_to_home.'" rel="v:url" property="v:title">' . $seozona_home . '</a></span>';
if ($seozona_initial_page == 0 || $seozona_superior != $seozona_initial_page) echo $seozona_between;
}
if ( is_category() ) {
$this_category = get_category(get_query_var('cat'), false);
if ($this_category->parent != 0) {
$category = get_category_parents($this_category->parent, TRUE, ' ' .$seozona_between. ' ');
if ($seozona_last_crumb == 1) $category = preg_replace("#^(.+)$seozona_between$#", "$1", $category);
$category = str_replace('<a', $seozona_from_court . '<a' . $seozona_link_rdf, $category);
$category = str_replace('</a>', '</a>' . $seozona_to_court, $category);
echo $category;
}
if ($seozona_last_crumb == 1) echo $seozona_from. sprintf(' Категория "' . single_cat_title('', false) . '"') .$seozona_to;
} elseif ( is_search() ) {
echo $seozona_from. sprintf('Результаты поиска для "' . get_search_query() . '"') .$seozona_to;
} elseif ( is_day() ) {
echo sprintf($seozona_path, get_year_link(get_the_time('Y')), get_the_time('Y')) .$seozona_between;
echo sprintf($seozona_path, get_month_link(get_the_time('Y'),get_the_time('m')), get_the_time('F')) .$seozona_between;
echo $seozona_from. get_the_time('d') .$seozona_to;
} elseif ( is_month() ) {
echo sprintf($seozona_path, get_year_link(get_the_time('Y')), get_the_time('Y')) .$seozona_between;
echo $seozona_from. get_the_time('F') .$seozona_to;
} elseif ( is_year() ) {
echo $seozona_from. get_the_time('Y') .$seozona_to;
} elseif ( is_single() && !is_attachment() ) {
if ( get_post_type() != 'post' ) {
$post_specimen = get_post_type_object(get_post_type());
$sleaze = $post_specimen->rewrite;
printf($seozona_path, $seozona_link_to_home. '/' . $sleaze['sleaze'] . '/', $post_specimen->labels->singular_name);
if ($seozona_last_crumb == 1) echo $seozona_between .mayak_from. get_the_title() .$seozona_to;
} else {
$cat = get_the_category(); $cat = $cat[0];
$category = get_category_parents($cat, TRUE, ' ' .$seozona_between. ' ');
if ($seozona_last_crumb == 0) $category = preg_replace("#^(.+)$seozona_between$#", "$1", $category);
$category = str_replace('<a', $seozona_from_court . '<a' . $seozona_link_rdf, $category);
$category = str_replace('</a>', '</a>' . $seozona_to_court, $category); 
echo $category;
if ($seozona_last_crumb == 1) echo $seozona_from. get_the_title() .$seozona_to;
}
} elseif ( !is_single() && !is_page() && get_post_type() != 'post' && !is_404() ) {
$post_specimen = get_post_type_object(get_post_type());
echo $seozona_from. $post_specimen->labels->singular_name .$seozona_to;
} elseif ( is_attachment() ) {
$superior = get_post($seozona_superior);
$cat = get_the_category($superior->ID); $cat = $cat[0];
if ($cat) {
$category = get_category_parents($cat, TRUE, ' ' .$seozona_between. ' ');
$category = str_replace('<a', $seozona_from_court . '<a' . $seozona_link_rdf, $category);
$category = str_replace('</a>', '</a>' . $seozona_to_court, $category);
echo $category;
}
printf($seozona_path, get_permalink($superior), $superior->post_title);
if ($seozona_last_crumb == 1) echo $seozona_between .$seozona_from. get_the_title() .$seozona_to;
} elseif ( is_page() && !$seozona_superior ) {
if ($seozona_last_crumb == 1) echo $seozona_from. get_the_title() .$seozona_to;
} elseif ( is_page() && $seozona_superior ) {
if ($seozona_superior != $seozona_initial_page) {
$breadcrumbs = array();
while ($seozona_superior) {
$page = get_page($seozona_superior);
if ($seozona_superior != $seozona_initial_page) {
$breadcrumbs[] = sprintf($seozona_path, get_permalink($page->ID), get_the_title($page->ID));
}
$seozona_superior = $page->post_parent;
}
$breadcrumbs = array_reverse($breadcrumbs);
for ($i = 0; $i < count($breadcrumbs); $i++) {
echo $breadcrumbs[$i];
if ($i != count($breadcrumbs)-1) echo $seozona_between;
}
}
if ($seozona_last_crumb == 1) {
if ($descendant != 0 && $descendant != $seozona_initial_page) echo $seozona_between;
echo $seozona_from. get_the_title() .$seozona_to;
}} elseif ( is_tag() ) {
echo $seozona_from. sprintf('Записи с меткой "%s"', single_tag_title('', false)) . $seozona_to;
} elseif ( is_author() ) {
global $author;
$userdata = get_userdata($author);
echo $seozona_from. sprintf('Записи автора за %s', $userdata->display_name) . $seozona_to;
} elseif ( is_404() ) {
echo $seozona_from. 'Ошибка 404' . $seozona_to;
} elseif ( has_post_format() && !is_singular() ) {
echo get_post_format_string(get_post_format() );
}
if ( get_query_var('paged') ) {
if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';
echo 'Страница ' . get_query_var('paged');
if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
}echo '</div>';}} /*** Конец функции хлебных крошек ***/

Теперь в нужное место шаблона сайта на WordPress (как в правило, в файл single.php) нужно вставить строчку вызова функции:

<? if(function_exists('breadcrumbs_new')) { breadcrumbs_new(); }?>

Резюмируем сказанное: наша функция breadcrumbs_new не только построит "хлебные крошки" для сайта без использования какого-либо плагина (наиболее популярным в этой связи является плагин Breadcrumb NavXT), но и структурирует эти данные (разметка содержания с помощью RDFa): получаются правильные SEO-крошки, читаемые поисковыми роботами Google.

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

Проверка структурированных данных

После внесения изменений в шаблон сайта, нам не обязательно стоит ждать переиндексации сайта в Google (а наши старания отобразятся в результатах Google лишь с переиндексацией страниц) чтобы проверить, правильно ли мы все сделали? Нам лишь необходимо проверить валидность микроразметки у нас на сайте, а это можно сделать с помощью "Инструмента проверки структурированных данных".

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

Валидатор микроразметки от Google
Валидатор микроразметки от Google: выводит рейтинг и рубрику материала
Оцените материал:
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (32 голоса, рейтинг: 4,47 из 5)
Загрузка...

Вячеслав - типичный интернетчикВячеслав Скоблей (ака files) - типичный интернетчик. Скитаюсь интернетом, пишу на PHP, увлекаюсь созданием веб-сайтов на Wordpress, решаю многочисленные проблемы, которые до появления интернета не существовали...

Специализируюсь на безопасности сайтов: защищаю сайты от атак и взломов, занимаюсь лечением вирусов на сайтах и профилактикой...

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

8 комментарий

  1. Вячеслав! Статья классная, только проверь еще раз функцию вызова в конце статьи! php ты забыл написать в начале!

    1. Вячеслав Скоблей says:

      Спасибо, что заметили. По секрету скажу, что < ? и < ?php - одно и тоже! Код будет работать! Хотя, во избежание недоразумений, предпочтительнее писать все же: < ?php

  2. Спасибо, исправил, а подскажите пожалуйста как уменьшить шрифт хлебных крошек, пробовал через классы не выходит?

    1. Вячеслав Скоблей says:

      По идее должно работать через класс "block-crumbs"

  3. Здравствуйте, все сделал как написано в вашей статье, но при проверке выдает три ошибки:
    datePublished: отсутствует (обязательное)
    headline: отсутствует (обязательное)
    image: отсутствует (обязательное)
    Как можно это исправить?

    1. Вячеслав Скоблей says:

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

  4. Илья says:

    Заинтересовался Вашей публикацией. После прочтения возник вопрос: как все это реализовать на ucoz?
    На ucoz есть рейтинг (звездочки) в материалах, но через указанный в статье Валидатор микроразметки от Google ничего не показывает!!! Ничего не понимаю! Подскажите!

    1. Вячеслав says:

      Здравствуйте Илья! Есть сайт на юкозе, поэтому подскажу. На самом деле, там еще все проще! Да, рейтинг есть в модулях юкоза, но, он не размечен микроразметкой. Но это не беда.

      МИКРОРАЗМЕТКА РЕЙТИНГА НА ЮКОЗ
      Для начала проследите, чтобы у вас была включена галочка в необходимом вам модуле "Использовать функцию Рейтинг материала". После этого, на страницах должна появится форма оценка материала и результаты. Если появились - значит, мы изменим их в коде, если не появились, напишем свой код (уже размеченный для Google). Вставлять его нужно в шаблон в админке: Главная » Управление дизайном » Редактирование шаблонов - Нужный вам модуль - Страница материала и комментариев к нему:

      <?if($RATING$)?><div style="margin-top:4px"><?$RSTARS$('30','/.s/img/stars/3/30.png','1','float')?><span itemscope itemtype="http://schema.org/Article"><span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"><meta itemprop="ratingValue" content="$RATING$"><meta itemprop="ratingCount" content="$RATED$"></span></span><?endif?>

      МИКРОРАЗМЕТКА РУБРИК В ЮКОЗ
      В том же шаблоне, в админке (Главная » Управление дизайном » Редактирование шаблонов - Нужный вам модуль - Страница материала и комментариев к нему), перед кодом вывода главной статьи вы увидите код "хлебных крошек", типа:

      <a href="$HOME_PAGE_LINK$" rel="nofollow">Главная</a> » <?if($SECTION_NAME$)?> <a href="$SECTION_URL$" rel="nofollow">$SECTION_NAME$</a> »<?endif?> <a href="$CAT_URL$" rel="nofollow">$CAT_NAME$</a>

      Этот код заменяем на:

      <div xmlns:v="http://rdf.data-vocabulary.org/#"><span typeof="v:Breadcrumb"><a ref="$HOME_PAGE_LINK$" property="v:title" rel="nofollow">Главная</a> »</span> <?if($SECTION_NAME$)?> <span typeof="v:Breadcrumb"><a ref="$SECTION_URL$" property="v:title" rel="nofollow">$SECTION_NAME$</a> »</span><?endif?> <span typeof="v:Breadcrumb"><a ref="$CAT_URL$" property="v:title" rel="nofollow">$CAT_NAME$</a></span></div>

      Собственно и все. Идем в валидатор микроразметки и проверяем результат!!!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *