Микроразметка [решение + проблема]
Сегодня полностью закончил добавлть микроразметку для своего сайта. Всё бы хорошо, но Яндекс ругается на:
Добавил:
2. topic_part_header.tpl
Добавил:
3. .../config/jevix.php
добавляем: itemprop=«image»
4. topic_photoset.tpl
Добавляем itemprop=«image» к фотопостам
Прошу заметить, я добавил itemprop=«image» не в тег
Кто подскажет, как можно решить проблему description?
ПРЕДУПРЕЖДЕНИЕ: не выполнено обязательное условие для острова «Статья» — обязательное поле description отсутствуетКак это должно быть, я знаю, но вот как это реализовать в LS, я не знаю. По идеи первый абзац поста должен быть заключён в
<p itemprop="description">текст первого абзаца или предложения</p>
Вот что я сделал:
1. header.tplДобавил:
<head xmlns:og="http://ogp.me/ns#"> ... <link rel="image_src" href="{cfg name='path.static.skin'}/images/i/logo500x500.jpg" /> <link rel="apple-touch-icon" href="{cfg name='path.static.skin'}/images/i/logo200x200.jpg" type="image/png" /> <meta property="og:image" content="{cfg name='path.static.skin'}/images/i/share-logo.png" /> {if $oTopic} <meta property="og:type" content="article" /> <meta property="og:title" content="{$oTopic->getTitle()|escape:'html'}" /> <meta property="og:url" content="{$oTopic->getUrl()}" /> <meta property="og:site_name" content="{cfg name='view.name'}" /> <meta property="og:description" content="{$sHtmlDescription}..." /> <meta property="og:locale" content="ru_RU"> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@NAME" /> {/if}
2. topic_part_header.tpl
Добавил:
<article {if !$bTopicList}itemscope itemtype="http://schema.org/Article"{/if} class="topic topic-type-{$oTopic->getType()} js-topic"> ... {if !$bTopicList}<h1 itemprop="headline"{else}<h2{/if} class="topic-title word-wrap"> ...
3. .../config/jevix.php
добавляем: itemprop=«image»
'cfgAllowTagParams' => array( // вызов метода array( 'img', array('src', 'itemprop'=> array('image'), 'alt' => '#text', 'title', 'align' => array('right', 'left', 'center', 'middle'), 'width' => '#int', 'height' => '#int', 'hspace' => '#int', 'vspace' => '#int', 'class'=> array('image-center')) ),
4. topic_photoset.tpl
Добавляем itemprop=«image» к фотопостам
<a itemprop="image" class="photoset-image" href="{$oPhoto->getWebPath(1000)}" rel="[photoset]" title="{$oPhoto->getDescription()}"><img src="{$oPhoto->getWebPath('190crop')}" alt="{$oPhoto->getDescription()}" /></a>
Прошу заметить, я добавил itemprop=«image» не в тег
<img />а в тег
<a></a>Так чтоб поисковик брал большую картинку, а не привью. Для Google и Яндекс это не проблема и не будет ошибкой.
Вот результат:
Для тех, кто в танке, проверить микроразметку сайта можно в Яндексе.Кто подскажет, как можно решить проблему description?
9 комментариев
по требованиям, должен быть длиннее 250 символов. То есть, надо как-то написать плагин/хак, который бы автоматически при публикации материала отсчитывал 250+ символов и по завершению абзаца(ов), после чего вставлял:
Либо заюзайте какой-нибудь плагин, которым можно настроить description страниц, например этот
Как сделать чтобы для главной страницы отображался логотип в
meta property=«og:image» content="лого.png"
а
на странице топика превью топика (плагин TopicPreview)
meta property=«og:image» content="превью топика.png"
Делал так:
Подскажите, пожалуйста, что вставить во 2 переменную?
Думаю, лучше пойти от обратного:
где XXX размер кропа превьюшки — задается в конфиге плагина mainpreview
работает, хотя там нет 250 символов, проверил на разных топиках.