Как в DLE настроить микроразметку Schema.org

Как в DLE настроить микроразметку Schema.org – на примере шаблона Default.

Как в DLE настроить микроразметку Schema.org

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


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


Почему в шаблонах DLE нельзя по умолчанию сделать микроразметку Schema.org – загадка. Ведь без нее поисковые системы не будут нормально ранжировать контент. 


Зачатки микроразметки есть лишь в шаблоне Default (версия 14), но и на нем валидаторы выдают ошибки. 


Валидаторы


Для проверки микроразметки используются два валидатора: 



Настройка кода под статьи


Итак, пример правильного кода для fullstory.tpl на примере шаблона Default (жирным выделено то, что нужно менять):


<article class="box story[fixed] fixed_story[/fixed] fullstory" itemscope itemtype="http://schema.org/Article">

<div itemprop="publisher" itemscope itemtype="https://schema.org/Organization">

<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">

<meta itemprop="addressLocality" content="Урюпинск, Россия" />              

<meta itemprop="postalCode" content="9999" />

<meta itemprop="streetAddress" content="Ул. Остапа Бендера, 56" />

</div>

<meta itemprop="telephone" content="+7-00-000-90-00" />

    <div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject">

        <img itemprop="url image" src="logo.png" style="display:none;"/>

        <meta itemprop="width" content="64">

        <meta itemprop="height" content="64">

    </div>

    <meta itemprop="name" content="Название сайта">    

</div>

       <meta itemprop="image" content="{image-1}" /> 

    <div class="box_in">

        [not-group=5]

        <ul class="story_icons ignore-select">

            <li class="fav_btn">

                [add-favorites]<span title="Добавить в закладки"><svg class="icon icon-fav"><use xlink:href="#icon-fav"></use></svg></span>[/add-favorites]

                [del-favorites]<span title="Убрать из закладок"><svg class="icon icon-star"><use xlink:href="#icon-star"></use></svg></span>[/del-favorites]

            </li>

            <li class="edit_btn">

                [edit]<i title="Редактировать">Редактировать</i>[/edit]

            </li>

        </ul>

        [/not-group]

        <h2 class="title" itemprop="headline">{title}</h2>

        <div class="text" itemprop="articleBody">

                       


<div class="box banner ignore-select">    

</div>

            {full-story}

            Теги: {tags}

            [poll]

{poll}

[/poll]

[edit-date]<p class="editdate grey">Новость отредактировал: <b>{editor}</b> - {edit-date}<br>

            [edit-reason]Причина: {edit-reason}[/edit-reason]</p>[/edit-date]

        </div>

        {pages}

        <div class="story_tools ignore-select">

            <div class="category">

                <svg class="icon icon-cat"><use xlink:href="#icon-cat"></use></svg>

                {link-category}

            </div>

            [rating]

                <div class="rate">

                    [rating-type-1]<div class="rate_stars">{rating}</div>[/rating-type-1]

                    [rating-type-2]

                    <div class="rate_like">

                    [rating-plus]

                        <svg class="icon icon-love"><use xlink:href="#icon-love"></use></svg>

                        {rating}

                    [/rating-plus]

                    </div>

                    [/rating-type-2]

                    [rating-type-3]

                    <div class="rate_like-dislike">

                        [rating-plus]<span title="Нравится"><svg class="icon icon-like"><use xlink:href="#icon-like"></use></svg></span>[/rating-plus]

                        {rating}

                        [rating-minus]<span title="Не нравится"><svg class="icon icon-dislike"><use xlink:href="#icon-dislike"></use></svg></span>[/rating-minus]

                    </div>

                    [/rating-type-3]

                    [rating-type-4]

                    <div class="rate_like-dislike">

                        <span class="ratingtypeplusminus ignore-select ratingplus">{likes}</span>

                        [rating-plus]<span title="Нравится"><svg class="icon icon-like"><use xlink:href="#icon-like"></use></svg></span>[/rating-plus]

                        <span class="ratingtypeplusminus ratingminus ignore-select">{dislikes}</span>

                        [rating-minus]<span title="Не нравится"><svg class="icon icon-dislike"><use xlink:href="#icon-dislike"></use></svg></span>[/rating-minus]

                    </div>

                    [/rating-type-4]

                </div>

            [/rating]

        </div>

        [fixed]<span class="fixed_label" title="Важная новость"></span>[/fixed]

    </div>

    <div class="meta ignore-select">

        <ul class="right">

            <li class="complaint" title="Жалоба">[complaint]<svg class="icon icon-bad"><use xlink:href="#icon-bad"></use></svg><span class="title_hide">Жалоба</span>[/complaint]</li>

            <li class="grey" title="Просмотров: {views}"><svg class="icon icon-views"><use xlink:href="#icon-views"></use></svg> {views}</li>

            <li title="Комментариев: {comments-num}">[com-link]<svg class="icon icon-coms"><use xlink:href="#icon-coms"></use></svg> {comments-num}[/com-link]</li>

        </ul>

        <ul class="left">

            <li class="story_date"><svg class="icon icon-info"><use xlink:href="#icon-info"></use></svg><span class="grey"></span><time datetime="{date=Y-m-d}" class="grey" itemprop="datePublished">[day-news]{date}[/day-news]</time></li>

        </ul>

    </div>

    <meta itemprop="author" content="{login}">

</article>

<div class="rightside ignore-select">

    {include file="modules/rightside_fullstory.tpl"}

</div>

<div class="box next-prev ignore-select">

    [prev-url]<a href="{prev-url}" class="btn">Предыдущая публикация</a>[/prev-url]

    [next-url]<a href="{next-url}" class="btn right">Следующая публикация</a>[/next-url]

</div>


<div class="comments ignore-select">   

    <div class="box">

        [comments]<h4 class="heading">Комментарии <span class="grey hnum">{comments-num}</span></h4>[/comments]

        <div class="com_list">

            {comments}

        </div>

    </div>

    {navigation}

    {addcomments}

</div>

Жирным выделены места для модернизации. В общем, везде, где есть itemprop


При таком раскладе оба валидатора ошибок не выдают, кроме предупреждений о dateModified и mainEntityOfPage. Но игра с data-edit ничего не дала. Может кто-то напишет в комментариях о возможностях модернизации, либо разработчики DLE наконец-то внедрят правильную микроразметку. 


Пробежимся по основным моментам


http://schema.org/Article – здесь подразумевается, что микроразметка делается под статью, под информационный контент. Для интернет-магазинов необходимо использовать Product. 


Publisher – тут, по идее, нужно указывать организацию (Organization) или физическое лицо, управляющее сайтом (Person). 


На сайте Schema.ord для физлица приведен такой пример микроразметки:

<div itemscope itemtype="http://schema.org/Person">

  <span itemprop="name">George Bush</span>, the

  <span itemprop="disambiguatingDescription">41st President of the United States</span>

  is the father of

  <div itemprop="children" itemscope itemtype="http://schema.org/Person">

    <span itemprop="name">George W. Bush</span>, the

    <span itemprop="disambiguatingDescription">43rd President of the United States</span>.

  </div>

</div>

Однако, когда этот фрагмент вставляешь в код, вылезает ошибка: “Необходимо указать значение для поля publisher”


Если же использовать “name”, как советуют в Интернете, то выходит уже другая ошибка: “Person – недопустимый тип целевого объекта для свойства publisher”.


В общем, настроить микроразметку для Person не удалось никак. 


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


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


Сергей Матяш
теги: DLE
Читайте также

Оставить комментарий

Ваше Имя:
Ваш E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent

Воспользуйтесь капчей,
показанной на изображении:*