Home / SEO / Как сделать микроразметку сайта или блога на WordPress
Хостинг от Макхост

Как сделать микроразметку сайта или блога на WordPress

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

как сделать микроразметку

Внимание. С декабря 2015 года, Google расширил требуемые правила микроразметки. Информация на этой странице актуальна только для Яндекс.

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

Итак, чтобы внедрить микроразметку Schema.org, нам в первую очередь нужно проверить есть ли у нас микроразметка. Сделать это можно в Яндекс Вебмастере или в вебмастере Google. Но я рекомендую проверять именно через Яндекс, потому что гугл покажет что все отлично, если у вас установлен любой другой формат микроразметки, а нас интересует именно Schema.org. проверить микроразметку Для главной страницы должна присутствовать разметка анонсов постов, если выводятся последние записи, категории и дата анонсов, а так же изображения. Вот какой результат показал только что созданный мною сайт: сайт без разметки Как видите, есть лишь описание последней статьи, выводимое плагином All In One Seo Pack, и немало других ошибок. Поэтому я буду делать микроразметку Schema.org с нуля. В первую очередь отключите возможность SEO плагину делать микроразметку Shema. В плагине All In One Seo Pack эту возможность можно отключить, просто убрав галочку в SEO настройках. SEO настройки отключаем shema По сути микроразметка это просто подстановка необходимых правил к определенным кускам кода. Этой подстановкой мы говорим поисковым системам, что означает тот или иной кусок кода и его содержимое. Для блога должны присутствовать следующие классы:

  • Основа главной страницы — itemscope itemtype=”http://schema.org/BlogPosting”
  • Основа записи блога — itemscope itemtype=”http://schema.org/Article”
  • Основа комментариев — itemprop=”comment” itemscope itemtype=”http://schema.org/Comment”
  • Название статьи — itemprop=”name”
  • Описание статьи — itemprop=”description”
  • Тело статьи — itemprop=”articleBody”
  • Рубрика — itemprop=”articleSection”
  • Дата публикации — itemprop=”datePublished”
  • Автор — itemprop=”author”
  • Автор комментария — itemprop=”creator”
  • Текст комментария — itemprop=”text”
  • Изображения — itemprop=”image”

Микроразметка записей блога

За вывод записей блога отвечает файл single.php соответственно все манипуляции нужно делать в этом файле. В первую очередь нужно указать поисковым системам, что этот формат страницы является постом блога делается это при помощи следующего правила:

itemscope itemtype=”http://schema.org/Article”

Просто ищем код, отвечающий за вывод всего текста страницы и в его класс вставляем вышеуказанное правило. Получится примерно так: Article Теперь нужно разметить название статьи. Как я уже заметил выше, название размечается правилом itemprop=”name”. Ищем кусочек кода с упоминанием title и в его класс вставляем правило. Выглядеть это будет так: name Теперь размечаем текст статьи при помощи правила itemprop=”articleBody”, вставив его в класс отвечающий за вывод статьи. Говоря простым языком просто ищем такой код <?php the_content(); ?> и в его класс вставляем правило. Выглядеть это будет так: articleBody После этого нужно разметить рубрики при помощи правила itemprop=”articleSection”. У меня в коде для слова «Рубрика» и ссылки с названием самой рубрики был прописан один класс, поэтому я ссылку взял в дополнительный тег < span > и внутрь него вставил правило articleSection. Если сделаете правильно, у вас должно получиться вот так:

микроразметка рубрик

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

Микроразметка даты публикации в WordPress

Если вы хотите сделать разметку даты публикации сначала убедитесь, что она у вас выводится в необходимом формате. Валидатор поддерживает только формат даты ISO 8601. Если интересует, почитайте в википедии что это за формат. Если говорить простым языком, то дата публикации должна быть такого вида:

Год-месяц-число (2015-07-10)

Здесь у меня возникла первая трудность с микроразметкой. В выбранном мною шаблоне, дата выводилась через попу красиво, но не оптимизирована под Яндекс.

дата публикации

Можно было изменить формат, подправить стили или сделать в этом случае микроразметку даты через файл function.php, но я не силен в PHP, а возиться с изменением стилей не особо хочется. Я решил просто удалить этот блок, а дату вывести в виде обычной строчки при помощи вот этого куска кода:

<span class=”date”>Дата: <span itemprop=”datePublished”><?php the_time(‘Y-m-d’); ?></span></span>

И соответственно в файл style.css прописал стили для класса date. В итоге стало вот так в коде:

дата публикации в коде
КЛИКАБЕЛЬНО

И на странице:

дата публикации новая
КЛИКАБЕЛЬНО

Микроразметка автора статьи

Микроразметка schema для автора статьи выводится при помощи правила itemprop=”author”. Снова ищем код выводящий автора статьи <?php the_post(); the_author(); ?> и заключаем его в тег < span > с правилом микроразметки. Должно выглядить так:

код микроразметки автора
КЛИКАБЕЛЬНО

Ух! На этом микроразметка страницы поста закончена. Проверяем в валидаторе и видим следующее:

микроразметка записи блога
КЛИКАБЕЛЬНО

Микроразметка комментариев

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

Что это значит? Допустим, вы написали оптимизированную статью «Как раскрутить группу ВКонтакте» длиною в 3 К символов, а в комментариях вас благодарят за советы, спрашивают про совсем другие соц. сети, в общем пишут что угодно, кроме главного ключа – раскрутить группу ВКонтакте. Когда вы только опубликуете статью, она будет релевантна на сто процентов, но чем больше будет писаться комментариев, не связанных с основной темой, тем менее релевантной будет ваша статья в глазах поискового робота. Чтобы этого не произошло, нужно роботу дать понять, что комментарии являются комментариями, а не продолжением статьи.

Возможно вас заинтересует:  Как должен выглядеть заголовок страницы? Правильный Title!

Перед внедрением микроразметки комментариев, проверьте не присутствует ли уже в шаблоне какой-то другой тип микроразметки. В моем случае оказалось, что в шаблоне уже есть микроразметка комментариев vcard. Но этот тип микроразметки не поддерживается Яндексом, поэтому его нужно удалить.

микроразметка vcard
КЛИКАБЕЛЬНО

По хорошему нужно выкорчевывать такую микроразметку с корнем, но для этого придется перелопатить весь шаблон вдоль и поперек, проще сверстать новый. Поэтому достаточно просто переименовать vcard на любое другое слово, чтобы данный тип микроразметки не учитывался. Поочередно открываем файлы своего блога и ищем упоминание vcard, затем переименовываем его на любое слово, например, card. Переименовав vcard, мы можем убедиться что микроразметки комментариев не существует, что нам и требовалось, теперь будем внедрять микроразметку shema.org Комментарии размечаются при помощи правила

itemprop=”comment” itemscope itemtype=”http://schema.org/Comment”

Чаще всего микроразметка комментариев протисходит в файле comments.php или function.php. Ищем блок или начало функции, отвечающиую за вывод комментариев и подключаем вышеуказанное правило. Вот пример как это подключено в моем случае:

функция вывода комментариев
КЛИКАБЕЛЬНО

Теперь необходимо разметить автора комментария, дату публикации и сам комментарий. Начнем с автора. Автор комментария размечается правилом itemprop=”creator”. Просто ищем в коде функцию, выводящую автора комментария и вставляем данное правило. Должно получится вот так:

микроразметка комментариев
КЛИКАБЕЛЬНО

Теперь размечаем дату публикации комментария. Дата комментария должна быть в формате ISO 8601. То есть точно так же, как и при выводе даты публикации статьи. Здесь опять же возникла небольшая проблема с выбранным мной шаблоном.

Во первых формат даты был не тот, что нужен, во вторых для даты был прописан отдельный CSS класс. Да и просто выводилось три отдельных записи. Чтобы вам было понятнее, что я имею ввиду, вот кусочек кода, который выводил у меня дату комментария до внедрения микроразметки:

echo ‘<span class=”date_link” >’;                                                comment_date(‘j ‘);                                                rus_month2();                                                comment_date(‘, Y в g:i |’);                                                echo ‘</span>’;

Я поменял формат вывода даты на ISO 8601, и вставил правило микроразметки даты публикации schema org- itemprop=”datePublished”. В результате все стало выводиться как надо. Вот пример кода, как стало:

дата публикации комментария
КЛИКАБЕЛЬНО

Теперь нужно разметить сам комментарий. Делается это при помощи правила itemprop=”text”. Ничего нового, так же ищем функцию вывода текста комментария, и вставляем необходимое правило. Вот пример того, что должно получиться: текст комментария Теперь проверяем результат в валидаторе Яндекса:

проверка микроразметки комментария
КЛИКАБЕЛЬНО

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

Автоматическая микроразметка комментариев WordPress

Недавно я случайно попал на блог Виталия Кириллова. Он в своей статье предлагает при помощи PHP убить сразу двух зайцев — исправить ошибку с неподдерживаемым Яндексом форматом Vcard и автоматически разметить комментарии. Я проверил на тестовом блоге, все прекрасно работает.

Микроразметка картинок

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

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

микроразметка изображений в сниппете
КЛИКАБЕЛЬНО

Мне стало интересно, как это изображение появилось в сниппете выдачи. Открыв исходный код страницы, я увидел, что изображению присвоено свойство itemprop=”image”, это свойство микроразметки schema org для изображений.

Так как я очень хорошо знаком с блогом advdk.com, я написал его автору Алексею Кобзареву на почту с вопросом, как он сделал микроразметку изображений. Алексей дал мне ссылку на пост своего блога, где рассказывал о внедрении микроразметки на блог. Почитать этот пост можете здесь. На своем блоге Алексей опубликовал PHP код, который автоматически делает микроразметку всех изображений блога на WordPress, подставляя правило itemprop=”image” к каждому изображению записи. Достаточно вставить PHP код в файл functions.php в начало сразу после открывающего тега <?php. А вот и сам код:

// Микроразметка картинок 
function mayak_image_marking($content) {
global $post;
$pattern = "<img";
$replacement = '<img itemprop="image"';
$content = str_replace($pattern, $replacement, $content);
return $content;
}
add_filter('the_content', 'mayak_image_marking');

После того как я вставил этот код, все картинки автоматически разметились.

Микроразметка хлебных крошек

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

1. Откройте файл functions.php сразу после открывающегося тега <?php или перед закрывающимся вставьте вот эту функцию:

// подключаем хлебные крошки
 function dimox_breadcrumbs() {
 $text['home'] = 'Главная страница'; // текст ссылки "Главная"
 $text['category'] = 'Архив рубрики "%s"'; // текст рубрики
 $text['search'] = 'Результаты поиска по запросу "%s"'; // текст с результатами поиска
 $text['tag'] = 'Записи с меткой "%s"'; // текст тега
 $text['author'] = 'Статьи автора %s'; // текст автора
 $text['404'] = 'Ошибка 404'; // текст страницы 404
 $show_current = 0; // 1 - показывать название текущей статьи/страницы/рубрики, 0 - не показывать
 $show_on_home = 1; // 1 - показывать "хлебные крошки" на главной, 0 - не показывать
 $show_home_link = 1; // 1 - показывать ссылку "Главная", 0 - не показывать
 $show_title = 1; // 1 - показывать подсказку (title) для ссылок, 0 - не показывать
 $delimiter = ' &raquo; '; // разделить между "крошками"
 $before = ''; // тег перед текущей "крошкой"
 $after = ''; // тег после текущей "крошки"
 /* === КОНЕЦ ОПЦИЙ === */
 global $post;
 $home_link = home_url('/');
 $link_before = '<span typeof="v:Breadcrumb">';
 $link_after = '</span>';
 $link_attr = ' rel="v:url" property="v:title"';
 $link = $link_before . '<a' . $link_attr . ' href="%1$s">%2$s</a>' . $link_after;
 $parent_id = $parent_id_2 = $post->post_parent;
 $frontpage_id = get_option('page_on_front');
 if (is_home() || is_front_page()) {
 if ($show_on_home == 1) echo '<span class="breadcrumbs"><a href="' . $home_link . '">' . $text['home'] . '</a></span>';
 } else {
 echo '<span class="breadcrumbs" xmlns:v="http://rdf.data-vocabulary.org/#">';
 if ($show_home_link == 1) {
 echo sprintf($link, $home_link, $text['home']);
 if ($frontpage_id == 0 || $parent_id != $frontpage_id) echo $delimiter;
 }
 if ( is_category() ) {
 $this_cat = get_category(get_query_var('cat'), false);
 if ($this_cat->parent != 0) {
 $cats = get_category_parents($this_cat->parent, TRUE, $delimiter);
 if ($show_current == 0) $cats = preg_replace("#^(.+)$delimiter$#", "$1", $cats);
 $cats = str_replace('<a', $link_before . '<a' . $link_attr, $cats);
 $cats = str_replace('</a>', '</a>' . $link_after, $cats);
 if ($show_title == 0) $cats = preg_replace('/ title="(.*?)"/', '', $cats);
 echo $cats;
 }
 if ($show_current == 1) echo $before . sprintf($text['category'], single_cat_title('', false)) . $after;
 } elseif ( is_search() ) {
 echo $before . sprintf($text['search'], get_search_query()) . $after;
 } elseif ( is_day() ) {
 echo sprintf($link, get_year_link(get_the_time('Y')), get_the_time('Y')) . $delimiter;
 echo sprintf($link, get_month_link(get_the_time('Y'),get_the_time('m')), get_the_time('F')) . $delimiter;
 echo $before . get_the_time('d') . $after;
 } elseif ( is_month() ) {
 echo sprintf($link, get_year_link(get_the_time('Y')), get_the_time('Y')) . $delimiter;
 echo $before . get_the_time('F') . $after;
 } elseif ( is_year() ) {
 echo $before . get_the_time('Y') . $after;
 } elseif ( is_single() && !is_attachment() ) {
 if ( get_post_type() != 'post' ) {
 $post_type = get_post_type_object(get_post_type());
 $slug = $post_type->rewrite;
 printf($link, $home_link . '/' . $slug['slug'] . '/', $post_type->labels->singular_name);
 if ($show_current == 1) echo $delimiter . $before . get_the_title() . $after;
 } else {
 $cat = get_the_category(); $cat = $cat[0];
 $cats = get_category_parents($cat, TRUE, $delimiter);
 if ($show_current == 0) $cats = preg_replace("#^(.+)$delimiter$#", "$1", $cats);
 $cats = str_replace('<a', $link_before . '<a' . $link_attr, $cats);
 $cats = str_replace('</a>', '</a>' . $link_after, $cats);
 if ($show_title == 0) $cats = preg_replace('/ title="(.*?)"/', '', $cats);
 echo $cats;
 if ($show_current == 1) echo $before . get_the_title() . $after;
 }
 } elseif ( !is_single() && !is_page() && get_post_type() != 'post' && !is_404() ) {
 $post_type = get_post_type_object(get_post_type());
 echo $before . $post_type->labels->singular_name . $after;
 } elseif ( is_attachment() ) {
 $parent = get_post($parent_id);
 $cat = get_the_category($parent->ID); $cat = $cat[0];
 $cats = get_category_parents($cat, TRUE, $delimiter);
 $cats = str_replace('<a', $link_before . '<a' . $link_attr, $cats);
 $cats = str_replace('</a>', '</a>' . $link_after, $cats);
 if ($show_title == 0) $cats = preg_replace('/ title="(.*?)"/', '', $cats);
 echo $cats;
 printf($link, get_permalink($parent), $parent->post_title);
 if ($show_current == 1) echo $delimiter . $before . get_the_title() . $after;
 } elseif ( is_page() && !$parent_id ) {
 if ($show_current == 1) echo $before . get_the_title() . $after;
 } elseif ( is_page() && $parent_id ) {
 if ($parent_id != $frontpage_id) {
 $breadcrumbs = array();
 while ($parent_id) {
 $page = get_page($parent_id);
 if ($parent_id != $frontpage_id) {
 $breadcrumbs[] = sprintf($link, get_permalink($page->ID), get_the_title($page->ID));
 }
 $parent_id = $page->post_parent;
 }
 $breadcrumbs = array_reverse($breadcrumbs);
 for ($i = 0; $i < count($breadcrumbs); $i++) {
 echo $breadcrumbs[$i];
 if ($i != count($breadcrumbs)-1) echo $delimiter;
 }
 }
 if ($show_current == 1) {
 if ($show_home_link == 1 || ($parent_id_2 != 0 && $parent_id_2 != $frontpage_id)) echo $delimiter;
 echo $before . get_the_title() . $after;
 }
 } elseif ( is_tag() ) {
 echo $before . sprintf($text['tag'], single_tag_title('', false)) . $after;
 } elseif ( is_author() ) {
 global $author;
 $userdata = get_userdata($author);
 echo $before . sprintf($text['author'], $userdata->display_name) . $after;
 } elseif ( is_404() ) {
 echo $before . $text['404'] . $after;
 }
 if ( get_query_var('paged') ) {
 if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';
 echo __('Page') . ' ' . get_query_var('paged');
 if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
 }
 echo '</span><!-- .breadcrumbs -->';
 }
} 
// end dimox_breadcrumbs()

Обращаю ваше внимание, что хлебные крошки должны располагаться под заголовком H1 если они стоят перед заголовком, это конечно не критично, но неправильно. Заголовок это главное, на что обращают в первую очередь поисковые роботы. Если у вас вообще не выводится заголовок H1 (такое бывает в некоторых бесплатных шаблонах WordPress), а вместо него присутствует заголовок H2, вам нужно это срочно исправлять! По логике вещей на странице не может быть заголовок второго уровня при отсутствии заголовка H1. Я об этом не раз упоминал и подробно описал в статье – SEO оптимизация статей блога.

Возможно вас заинтересует:  Куда добавить блог после его создания?

2. Теперь в то место где требуется вывести навигационную цепочку вставьте вот этот код:

<!--?php if(function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); ?-->

3. После вставки хлебных крошек в шаблон темы, нужно настроить стили для хлебных крошек. Для этого откройте файл style.css и в самый конец вставьте вот этот код:

.entry-meta { font-size: 12px; width: 100%; height: auto; margin: 11px -1px 11px; font: normal 11px Arial, sans-serif; color: #000; text-decoration: none }

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

Микроразметка главной страницы блога

Все анонсы статей на главной странице блога размечаются при помощи правила BlogPosting, а затем уже для анонсов размечаются названия и описания. Чаще всего за главную страницу отвечает файл index.php но может быть и другой. На пример, в теме моего блога за вывод главной страницы отвечает файл content.php. Если у вас шаблон Xmarkup, то смело открывайте файл index.php и в коде ищите класс, отвечающий за вывод всех анонсов записей на главной странице. В этот класс нужно вставить свойство:

itemscope itemtype=”http://schema.org/BlogPosting”

Вот как это должно выглядеть в коде:

микроразметка главной страницы
КЛИКАБЕЛЬНО

Теперь нам нужно разметить название статей, для этого ищем в коде упоминание <?php the_title(); ?> После того как нашли, заключаем его в тег span со значением itemprop=”name”. Должно получиться примерно так:

микроразметка названия анонса
КЛИКАБЕЛЬНО

Следующий шаг это описание статей выводимых анонсом на главной странице. Размечаются описания статей на главной при помощи свойства itemprop=”description” Просто ищем в файле код <?php the_content(»); ?> и перед ним в spanвставляем значение itemprop=”description” Должно получиться примерно так:

ммикроразметка описания
КЛИКАБЕЛЬНО

Теперь необходимо сделать разметку автора статьи. Она делается при помощи свойства itemprop=”author”. Просто ищите в файле код, отвечающий за вывод автора. Чаще всего это <?php the_author(); ?> и придайте ему свойство. Должно получиться примерно так:

микроразметка автора
КЛИКАБЕЛЬНО

Микроразметка категорий для главной страницы отмечается свойством itemprop=”articleSection”. Ищем в код отвечающий за вывод категории. Называться может по разному, но всегда следует за словами «Рубрика», «Postedin» или другими в зависимости от того что видно на странице вашей темы. В выбранном мной шаблоне, код, выводящий название категории — category->cat_name. Смело заключаем его в <span> и ставим значение articleSection. Должно получиться так:

разметка категорий
КЛИКАБЕЛЬНО

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

главная страница в валидаторе
КЛИКАБЕЛЬНО

Яндекс прекрасно различает все анонсы на главной страницы, видит названия, категорию, дату публикации и автора.

Об авторе: Андрей Назыров

Приветствую Вас на своем блоге! Здесь Вы найдете всю необходимую информацию по созданию своего блога (сайта), его SEO оптимизации и последующего заработка.

54 комментария

  1. Вот это да!!!! Насколько я помню, ты говорил, что заказывал разметку своего блога за приличные деньги, а сейчас всем палишь фишки и все бесплатно? Ну ты молодец!
    Классная инструкция. Хорошо,что мне установили уже микроразметку ( очень дешево) а то я бы очень жалел об этом .

    Ответить
    • Привет, Игорь. Да, в свое время я заказывал микроразметку за приличные деньги, но когда-то же надо учиться и самому 🙂
      Если честно, мучился дня 4, зато теперь понял что к чему.

      Ответить
  2. Привет. А я заказывал микроразметку. Сам залез, посмотрел, за ухом почесал и пошел к профи 🙂

    Ответить
  3. Pavel:

    Приветствую, Андрей!
    Большое спасибо за статью. Сам давно поглядываю на схемуорг, но никак руки не доходят. Думаю ты меня вдохновил 🙂

    Ответить
  4. Андрей, спасибо за подробную информацию про микроразметку. Инструкция достаточно понятна. Надо пробовать самому. А заказать всегда успеется.

    Ответить
  5. У кого как успехи? Видимость в ПС улучшилась?

    Ответить
  6. Алексей:

    Андрей, у тебя в коде «dimox_breadcrumbs» получилось много пустого пространства, а пост получился классный. 🙂

    Ответить
    • Привет, Алексей. Да, я заметил, это все из-за плагина WP Syntax, который отображает код. Постоянно у меня с ним проблемы. Не посоветуешь какой-нибудь другой способ вывода кода?

      Ответить
      • Самый лучший, это не плагин, а теги pre. Видел как у меня выводиться код на блоге? Это они, только я немного стилей добавил и все. Работает, как часы, даже лучше.

      • А стилями синтаксис можно как-то подсветить? У тебя этого нет.

  7. Андрей, спасибо за статью. Я как раз собираюсь разметить свой блог. Долго созревала, но уже просто некуда тянуть. А по твоему примеру вижу, что не так страшен волк, как его малюют )

    Ответить
  8. Тоже надо будет вплотную заняться на своем блоге микроразметкой, тайтлами, дескрипшнами, все руки никак не дойдут. Обязательно поставлю этот пункт в план на следующий месяц )

    Ответить
  9. Оказывается это все легко было сделать! А я заказывал:-D

    Ответить
    • Андрей, зато теперь уверен, что все сделано )) Я тоже заказывал для блога, а вот на развлекательном сайте сейчас буду делать сам.

      Ответить
    • У тебя шаблон сложный. Только бы измучился бы весь 🙂

      Ответить
  10. Сколько будет приблизительно стоить эта работа у фрилансеров: установить хлебные крошки и микрозаметку? Кто нибудь подскажет.

    Ответить
    • Олег, все зависит уровня фрилансера и сложности микроразметки. Кто-то и за 300 р. сделает, а кто и за 1 000 не возьмется. скиньте в личку ссылку на ваш сайт, посмотрим, что можно сделать.

      Ответить
  11. Елена:

    Микроразметка очень важна для сайта. Я как бы не пыталась, все рано ни чего не получилось. В результате обращалась к профессионалам.

    Ответить
    • Елена, конечно лучше обратиться к профессионалам. Это значительно секономит время. Но при желании, каждый может в этом разобраться.

      Ответить
  12. Привет. Обязательно нужно сделать.

    Ответить
  13. Привет, Андрей! Вставила код микроразметки картинок и увидела белый экран — блог перестал работать (((

    Ответить
    • Привет, Надежда. Скорее всего код был вставлен неправильно. Нужно было вставлять строго после открывающегося тега ? >

      Ответить
      • Андрей, код был вставлен верно. кстати, твой плагин добавляет нумерацию к скопированному тексту. очень неудобно. Я ее убрала, но это не помогло )

      • Надежда, попробуй сейчас скопировать код. При переключении с HTML в визуальный редактор, код был искажен. Сейчас все поправил.

  14. Вот теперь другое дело. Спасибо, Андрей! Попробую все-таки сделать микроразметку, пользуясь твоей статьей.

    Ответить
  15. Уррра! Сделала микроразметку постов и главной. Одно осталось: страницы рубрик. Как разметить динамические страницы рубрик?!!

    Ответить
    • Поздравляю, молодец! Cтраницы рубрик размечаются так же как и главная страница блога, чаще всего в файле category.php

      Ответить
      • Спасибо )) А про рубрики — уверен? Чтобы не получилось на блоге пара десятков главных страниц )))

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

  16. Приветствую! Вопрос:
    Почему для разметки главной используется itemscope itemtype=http://schema.org/BlogPosting , а для страницы статьи itemscope itemtype=http://schema.org/Article если BlogPosting это дочерний элемент Article?
    Как-то не логично получается. Я еще понимаю наоборот делать…

    Ответить
    • Привет. Совершенно верно, если смотреть на официальном сайте Schema иерархию разметки, BlogPosting является дочерним элементом Article. Но приходится подстраиваться под поисковые системы, у меня Яндекс выдавал ошибку.

      Ответить
  17. Fktrctq:

    с недавним обновлением микроразметки от 9 декабря у всех на блогах появились новые ошибки Подскажите как можно все поправить?

    image [ImageObject]:

    height: отсутствует (обязательное)

    url: отсутствует (обязательное)

    width: отсутствует (обязательное)

    Для image указан недопустимый URL.

    publisher: отсутствует (обязательное)

    dateModified: отсутствует (рекомендуется)

    mainEntityOfPage: отсутствует (рекомендуется)

    Ответить
    • Я не смогу помочь, пока не взгляну на исходный код. Вы бы скинули ссылку в подписи.

      Ответить
      • интересует как сделать без ошибок поля
        height
        width
        publisher:

  18. Дмитрий:

    Здравствуйте! Делаю себе микроразметку, все получается хорошо, кроме комментариев! В гугле показывает все замечательно, а вот яндекс ругается, выдает ошибку:
    » microdata
    ОШИБКА: невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop
    itemType =
    comment
    comment
    itemType = http: //schema.org/Comment
    creator = Никанорыч
    text = Спасибо за интересную статейку, есть к чему присмотреться.
    datepublished = 2016-03-03
    comment
    comment
    itemType = http:// schema.org/Comment
    creator = admin Дмитрий
    text = Всегда пожалуйста!
    datepublished = 2016-03-03″

    С автоматической микроразметкой не выходит, выдает ошибку 500, белый экран!
    Прописал в ручную, вроде бы комменты отображаются в валидаторе, но с ошибкой!
    Подскажите пожалуйст, что можно сделать?
    Пробовал отключать все плагины, перемещал itemprop=»comment» itemscope=»itemscope» itemtype=»http://schema.org/UserComments» в разные блоки, также пробовал разделять его, все равно ошибка выскакивает!

    Ответить
    • Дмитрий, судя по структуре, скорее всего у вас неправильно размечена основа микроразметки комментариев или основа страницы блога. Я выслал вам на почту архив с этой темой, сравните файлы function.php и comments.php и single.php
      Только у меня там старый формат — schema.org/UserComment измените на schema.org/Comment

      Ответить
  19. Дмитрий:

    Андрей, Спасибо! Разобрался. Оказывается блок комментариев надо было переместить внутрь блока Article. Повозившись с кодом у меня все получилось, яндекс не ругается! Кстати, интересный у вас блог, добавил в закладки…

    Ответить
    • Ну, хорошо, что все разрешилось 🙂
      Закладки это хорошо, заглядывайте иногда 🙂

      Ответить
  20. Добрый день! у меня функция работает, только с теми изображениями, которые добавлены в ручную. для добавления миниатюр в категории использовал Taxonomy Images. да вот беда, функция не проставляет разметку. Может есть какой-то выход? Спасибо заранее!

    Ответить
    • Артем:

      Вы эти картинки как выводили? В коде вывода и добавьте разметку. Другой момент, что для гугла надо по другому делать….

      Ответить

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

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