Микроразметка - тот невидимый инструмент, который поможет неплохо продвинуть ваш сайт. Как минимум о ней мало кто знает.
Ключевые элементы микроданных — это атрибуты itemscope, itemtype и itemprop, указывающие на сущности и их свойства.
itemtype с помощью ссылки schema.org/Article указывает на конкретный тип объекта (Article, Person и т.п.);
itemprop указывает на свойства этого объекта.
Одно из главных условий использования микроразметки — это то, что элементы в ней должны быть видны пользователю. Поисковики просто не будут ей придавать значение, если она будет в чём-то с display:none.
Проверить микроразметку страниц можно здесь:
http://www.google.com/webmasters/tools/richsnippets
http://webmaster.yandex.ru/microtest.xml
Важное замечание. С 1 января 2016 года валидность микроразметок Яндекса и Гугла сильно отличается между собой. Ниже предоставленные рабочие примеры идеально подходят (без единой ошибки для Яндекса). С Гуглом ситуация сложнее, если проверить валидность данной микроразметки, то он найдет "ошибки", которые раньше при тех же значениях помечал, как норма.
Например, для Гугла теперь важно, чтобы:
- добавленная картинка в микроразметке - обязательно указывала размеры фото, ширину и высоту, а также, чтобы фото была больше 696px по ширине. (используется подзначение itemprop="url", Яндекс же не понимает это значение - ему нужно itemprop="contentUrl" - таким образом, чтобы составить валидную микроразметку для двух поисковиков, это поле придется дублировать).
- для Гугла появился обязательный тег itemprop="publisher" - издатель. Мало того, что теперь нужно его везде указывать, так еще и прописывать подзначения - имя издателя, его логотип, размеры логотипа.
Для тех, кто хочет создать абсолютно валидную микроразметку - рабочий вариант снизу. Его необходимо будет запрограммировать индивидуально для вашего движка.
В связи с тем, что для Гугла микроразметка стала значительно сложнее - предлагаю полностью рабочие варианты микроразметок Joomla 1.5-2 в Яндексе (в Гугле будут незначительные ошибки).
Микроразметка для сайта Joomla 2.5
Для Joomla 2.5:
В конец файла components/com_content/views/article/tmpl/default.php вставить:
<div class="razmetka" itemscope itemtype="http://schema.org/Article">
<?php //Название публикации ?>
<span itemprop="headline"><?php echo $this->item->title; ?></span> |
<?php //Дата создания ?>
<span itemprop="datePublished"><?php echo $this->item->created; ?></span> |
<?php //Дата модификации ?>
<meta itemprop="dateModified" content="<?php echo $this->article->created; ?>"/>
<?php //Автор ?>
<span itemprop="author"><?php echo JText::sprintf($this->item->author); ?> </span> |
<?php //Категория ?>
<span itemprop="articleSection"><?php echo JText::sprintf($this->item->category_title); ?> </span> |
<?php //Картинка по умолчанию (можете поставить ссылку на логотип вашего сайта) ?>
<span itemprop="image">http://домен_вашего_сайта.ру/media/system/images/new.png</span> |
<?php //Описание статьи ?>
<span itemprop="description">
<?php $metdesc = $this->item->metadesc;
//если описание в мета-тегах пустое - берем описание из самой статьи - первые символы
if ($metdesc == "") { $ftexts = strip_tags($this->item->text); // удаляем в тексте html
$ftexts = preg_replace("/\n/", " ", $ftexts);
$ftexts = mb_substr($ftexts, 0, 260, 'UTF-8'); // берем краткое описание 250 символов
echo $ftexts;}
//описание есть - выводим его
else echo $this->item->metadesc; ?>
</span> |
<?php //ключевые слова ?>
<span itemprop="keywords"> <?php $metkey = $this->item->metakey;
//если ключ слова в мета-тегах пустые - берем кл. слова из корня сайта
if ($metkey == "") { $jconfig = new JConfig(); echo $jconfig->MetaKeys;}
//ключ слова есть - выводим их
else echo $this->item->metakey; ?> </span>
</div>
В этом случае под каждой статьей будет выводиться микроразметка, которая полностью совместима с Google и Яндекс. Данную микроразметку можно оформить с помощью Css
Микроразметка для сайта Joomla 1.5
Для Joomla 1.5:
В конец файла components/com_content/views/article/tmpl/default.php вставить:
<div class="razmetka" itemscope itemtype="http://schema.org/Article">
<!-- Название - надо прописывать в заголовке -->
<span itemprop="headline"><?php echo $this->article->title; ?></span> |
<!-- Дата создания -->
<span itemprop="datePublished"><?php echo $this->article->created; ?></span> |
<?php //Дата модификации ?>
<meta itemprop="dateModified" content="<?php echo $this->article->created; ?>"/>
<!-- Автор -->
<span itemprop="author"><?php echo JText::sprintf($this->article->author); ?> </span> |
<!-- Категория -->
<span itemprop="articleSection"><?php echo $this->article->category; ?> </span> |
<!-- Картинка по умолчанию (можете поставить ссылку на логотип вашего сайта) -->
http://домен_вашего_сайта.ру/media/system/images/new.png |
<!-- описание статьи -->
<span itemprop="description">
<?php
$metdesc = $this->article->metadesc;
//если описание в мета-тегах пустое - берем описание из самой статьи - первые символы
if ($metdesc == "") {
$ftexts = strip_tags($this->article->text); // удаляем в тексте html
$ftexts = preg_replace("/\n/", " ", $ftexts);
$ftexts = mb_substr($ftexts, 0, 260, 'UTF-8'); // берем краткое описание 250 символов
echo $ftexts;}
//описание есть - выводим его
else echo $this->article->metadesc; ?>
</span> |
<!-- ключевые слова -->
<span itemprop="keywords">
<?php
$metkey = $this->article->metakey;
//если ключ слова в мета-тегах пустые - берем кл. слова из корня сайта
if ($metkey == "") {
$jconfig = new JConfig();
echo $jconfig->MetaKeys;}
//ключ слова есть - выводим их
else echo $this->article->metakey; ?>
</span>
</div>
В этом случае под каждой статьей будет выводиться микроразметка, которая полностью совместима с Google и Яндекс. Данную микроразметку можно оформить с помощью Css
Полностью валидный вариант микроразметки для обоих поисковиков (кроме тега для Гугла publisher - о нем читайте выше). Актуально на февраль 2016 года
<div class="razmetka" itemscope itemtype="http://schema.org/Article">
<span itemprop="headline">Заголовок публикации</span>
<span itemprop="datePublished">2016</span> <!-- дата создания -->
<meta itemprop="dateModified" content="2016"/> <!-- дата изменения -->
<span itemprop="author">Автор</span>
<span itemprop="articleSection">Категория публикации</span>
<span itemprop="description">Описание</span>
<span itemprop="keywords">Ключевые слова</span>
<!-- Картинка публикации -->
<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject">
<img itemprop="url" src="https://blogprogram.ru/wp-content/themes/Clean-Stylish/images/logo.png"/> <!-- Ссылка на картинку для Гугла -->
<img itemprop="contentUrl" src="https://blogprogram.ru/wp-content/themes/Clean-Stylish/images/logo.png"/> <!-- Ссылка на картинку для Яндекса -->
<meta itemprop="width" content="800">
<meta itemprop="height" content="800">
</span>
<!-- Ссылка на вашу публикацию -->
<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://blogprogram.ru/mikrorazmetka-dlya-sajta-wordpress-i-joomla-semantika/"/>
</div>
У меня не появилась разметка на joomla 1.5
Код вставил правильно
Здравствуйте, уточните пожалуйста, "домен_вашего_сайта.ру" указывать кириллицей или в пуникоде?
Разобрался сам, конечно нужен пуникод.
Но возник другой вопрос. После добавления "микроразметки для сайта Joomla 2.5" в конце каждого материала появился текстовый блок, выводящий эту самую разметку! Как его убрать? Или это просто дело в шаблоне?
Здравствуйте. Можете попробовать все видимые теги span заменить на meta
Не помогло. Может быть разметка действительно положительно сказалась бы на продвижении сайта, однако текстовый блок по статьёй выглядит некрасиво.... Удаляю.
Google стал показывать еще ошибку: publisher. Необходимо указать значение для поля publisher.
Какое решение предлагаете? Благорадю за ценную информацию, полезную и понятную даже для чайников (понажимала на все блоки adsence )).
Здравствуйте.
Подскажите пожалуйста такой вопрос есть сайт * (zoo + yoo_royalplaza и jtouch25) мне куда надо вставить код в этих шаблонах?
Здравствуйте. Код нужно вставлять не в шаблон, а в файл - ваш-сайт.ру/components/com_content/views/article/tmpl/default.php, в самый конец.
Вставила файл, как Вы указали, но яндекс валидатор пишет нет микроразметки. Уже не знаю что и делать. А вы не занимаетесь микроразметкой для других сайтов?
Здравствуйте, данный код работает только с Joomla сайтами
Здравствуйте. Я только разбираюсь с микрозаметкой. Указанный код вставила в файл. Теперь что нужно делать со статьями, выделять какие то фрагменты? Расскажите дальнейшие действия. Прошу прощения за глупые вопросы. Спасибо.
Если код вставили правильно и под каждой статьей стали выводиться значения, то все работает верно. Ничего делать и выделять не нужно. Единственное, можете к каждой статье писать ключевые слова и описание в админке для повышения SEO, если этого еще не сделали.
уточните про размеры логотипа, а то ругаются поисковики на это, а так всё замечательно
Ещё вопрос: как разметить комментарии, вероятно в jcoments шаблон.php?
Жаль, что гугл так стал все усложнять, поставила ваш код на Joomla 2.5 - на Яндексе действительно ни одной ошибки! Спасибо! =) А вот Гугл ругается на 2 параметра, которые вы описали.
Автор, подскажите, пожалуйста, как сделать так, чтобы в качестве картинки бралось "Изображение для вступительного текста материала", которое мы выставляем в настройках материала?
и что за тег publisher?? гугл почему то помечает его как обязательный. что туда рекомендуете вставить?
Спасибо.
Здравствуйте, если еще актуально - прочтите публикацию с пункта Важное замечание. publisher - издатель, он при одинаковых значениях конфликтует с Яндексом. Картинку в статье вам необходимо программировать из БД.
не хотелось бы быть назойливым, но не могли бы Вы все-таки разрешить проблему, указанную astrellas.
Тоже Джумла 2,5 и та же проблема с
headline:
отсутствует (обязательное)
image:
отсутствует (обязательное).
тег заголовка статьи - как его вставить?
Картинки везде есть, нельзя ли указать, чтобы указывалась первая же картинка?
И еще одна проблема - с хлебными крошками. Первую, т.е, главный Урл, как я понял, показывает, а урл той страницы, на которой находишься, не показывает... Можно ли как-то сделать, чтобы и эти хлебные крошки показывало?
Похоже, у Вас здесь самый лучший вариант разметки для джумлы, сколько ни рылся, не нашел ничего ближе для чайника, но, если можно, дополните эту разметку
Данная проблема возникала из-за того, что в микроразметки поле name для Яндекса - заголовок статьи, а для Гугла лучше указывать headline - в общем микроразметку усовершенствовал, просто перезагрузите на новый код вашу страничку.
- с разметкой хлебных крошок не работал
Здравствуйте! Спасибо за статью, я вставила как вы пишите микроразметку для сайта Joomla 2.5 но проверка в Гугл показала 2 ошибки
headline: отсутствует (обязательное)
image: отсутствует (обязательное)
Вы не подскажете что там надо еще дописать чтобы таких ошибок не было?
Это означает, что вам в разметку надо вставить тега заголовка статьи headline и обязательную картинку публикации - но даже если вы этого не сделаете, позиции вашего блога в любом случае будут выше, чем те блоги, у которых их нет
Понятно, спасибо! Попробую...
Здравствуйте, микроразметку усовершенствовал - теперь этих ошибок не будет - перезагрузите код микроразметки
Спасибо)) Вы молодец!!
Нельзя ли сделать возможность автоматической вставки реального размера изображения?
Вы говорите про миниатюру материала?