DLE – настраиваем микроразметку полной новости по Schema.org

Веб разработка » CMS DLE
DLE — микроразметка fullstory.tpl
DLE — микроразметка fullstory.tpl

В данной статье речь пойдет о микроразметке для DLE по версии Schema.org. Откладывал сколько мог, было лень изучать дополнительные тонкости языка верстки, но пришло время вникать и в эту ересь. В итоге получилось и отчет на картинке.

Результат проверки этой статьи про Минусинск на скриншоте выше

Все инструкции и проверки будем делать на Яндексе, где собственно, я и подобрал для себя макет Article

Разметка fullstory.tpl

1. Без правок движка размечаем шаблон fullstory.tpl

Простая разметка макета страницы без правок картинок, которые генерируются бизнес-логикой движка

<div itemscope itemtype="http://schema.org/Article">
	<meta itemprop="genre" content="{category}">

	<h1 itemprop="headline">{title}</h1>

	<div class="fullstory" itemprop="description">
		{full-story limit="150"}
	</div>

	<div class="fullstory" itemprop="articleSection">
		{full-story}
	</div>
</div>

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

DLE — микроразметка itemprop="description"
DLE — микроразметка itemprop=”description”
<div class="setline" >

	Раздел:{link-category}  {favorites} [edit][x][/edit]<br/>

	Просмотров: <b><meta itemprop="interactionCount" content="UserComments:{comments-num}" />{comments-num}</b> •  

	Комментариев: <b><meta itemprop="interactionCount" content="UserPageVisits:{views}" />{views}</b>   
	
	Дата: <b>{date}</b> <meta itemprop="datePublished" content="{date=Y}-{date=m}-{date=d}" />

	<span itemprop="author" itemscope itemtype="http://schema.org/Person">
		<span itemprop="jobTitle">Автор:</span> 
		<span itemprop="name">{author}</span>
	</span>	

</div>

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

Не забывайте закрывать разметку тегом DIV

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

По сети гуляет отличный способ, который впервые был описан на форуме АлаичЪ’а

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

[thumb] картинки

Открываем файл /engine/classes/parse.class.php и находим:

if( $align == '' ) return "<!--TBegin:{$info}--><a href=\"$gurl\" onclick=\"return hs.expand(this)\" ><img src=\"$url\" {$alt} /></a>{$caption}<!--TEnd-->";
        else return "<!--TBegin:{$info}--><a href=\"$gurl\" onclick=\"return hs.expand(this)\" ><img src=\"$url\" style=\"float:{$align};\" {$alt} /></a>{$caption}<!--TEnd-->";

заменяем его на:

if( $align == '' ) return "<!--TBegin:{$info}--><a itemscope itemtype=\"http://schema.org/ImageObject\" href=\"$gurl\" onclick=\"return hs.expand(this)\" ><img itemprop=\"contentUrl\" src=\"$url\" {$alt} /></a>{$caption}<!--TEnd-->";
        else return "<!--TBegin:{$info}--><a itemscope itemtype=\"http://schema.org/ImageObject\" href=\"$gurl\" onclick=\"return hs.expand(this)\" ><img itemprop=\"contentUrl\" src=\"$url\" style=\"float:{$align};\" {$alt} /></a>{$caption}<!--TEnd-->"; 

Обычные картинки

В том же файле ниже находим:

if( $align == '' ) return "<!--dle_image_begin:{$info}--><img src=\"{$url}\" {$alt} /><!--dle_image_end-->";
else return "<!--dle_image_begin:{$info}--><img src=\"{$url}\" style=\"float:{$align};\" {$alt} /><!--dle_image_end-->";

и меняем на:

if( $align == '' ) return "<!--dle_image_begin:{$info}--><a itemscope itemtype=\"http://schema.org/ImageObject\"><img itemprop=\"contentUrl\" src=\"{$url}\" {$alt} /></a><!--dle_image_end-->";
        else return "<!--dle_image_begin:{$info}--><a itemscope itemtype=\"http://schema.org/ImageObject\"><img itemprop=\"contentUrl\" src=\"{$url}\" style=\"float:{$align};\" {$alt} /></a><!--dle_image_end-->";

Перестроение публикаций

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

В панели администратора в разделе все настройки находим пункт перестроение публикаций и запускаем перестроение новостей.