Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Внедрение микро-разметки для видео в dle. часть 3 - schema для google

Тема в разделе "Вопросы- ответы", создана пользователем DLEPlugins, 3 авг 2016.

03.08.16 в 11:49
06.10.19 в 18:00
87
19.113
9
  1. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    [​IMG]
    Решил выкроить время и поделиться с вами инфой, как лично я встраиваю разметку от schema в свои сайты. Как раз буду писать статью и попутно ставить разметку на один из сайтов. Форум этот киношный, да и мои сайты с кино и сериалами, поэтому буду писать о разметке кино.
    Читал статьи, гуглил, и снова читал. Вывел для себя следующее - на одной странице можно размещать несколько типов разметки, причем в разных формах (мета, json и тп), поисковики это нормально съедают. Вот и начал размечать все что только можно и нельзя) Предпочитаю ставить разметку в json когда это возможно, microdata на крайняк.
    Статья будет дополняться ибо о всем сразу не напишешь. Так что периодически заглядывайте сюда)
    После каждого типа разметки проверяем разметку на ошибки тут. Начнем.

    1. С одной стороны мой сайт это вебсайт, с другой - это виртуальная организация. Значит на главную пихаю обе эти разметки.

    Начнем с разметки Organization. Открываем main.tpl вашего шаблона, перед тегом </body> вставляем
    HTML:
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "Organization",
      "url": "https://сайт.ру",
      "email": "admin(at)сайт.ру",
      "name": "Мой сайт",
      "logo": "http://ссылка /logo.png",
    }
    </script>
    
    Теперь ниже/выше разметки организации вставляем следующее
    HTML:
    <script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "WebSite",
        "url": "http://сайт ру/",
        "dateCreated": "2016-01-01",
        "genre": "http://vocab.getty.edu/aat/300265431",
        "inLanguage": "ru"
    }
    </script>
    
    Само собой вписываете свои данные, та непонятная ссылка в genre говорит гуглу что это вебсайт а не банка пива или пачка сигарет xD
    Проверяю на ошибки

    2. Перейдем к самому интересному и геморному. К разметке наших фильмов и сериалов. 100 лет назад я прочел статью от maxim harder (на этом форуме он @MaHarder ) о микроразметке schema, его советы и наблюдения и по ним начал учиться в этом направлении. Часть описанного ниже было написано им, часть написано уже мной. Приступим.

    Открываем fullstory.tpl вашего шаблона. В самое начало, в качестве первой строчки вставляем
    HTML:
    <div itemscope itemtype="[catlist=1,3]http://schema.org/Movie[/catlist][catlist=2,4]http://schema.org/TVSeries[/catlist]">
    <meta itemprop="dateCreated" content="{date=Y-m-d}">
    [xfgiven_duration]<meta itemprop="duration" content="[xfvalue_duration]">[/xfgiven_duration]
    <meta itemprop="inLanguage" content="ru">
    <meta itemprop="isFamilyFriendly" content="True">
    [xfgiven_trailer]<link itemprop="trailer" value="[xfvalue_trailer]">[/xfgiven_trailer]
    
    в самый конец в качестве последней строчки вставляем
    HTML:
    </div>
    В catlist выставляете id категорий с фильмами для типа Movie и с сериалами для типа TVSeries. В isFamilyFriendly тоже можно выставить теги с категориями или значениями доп полей. True значит, что фильм/сериал можно смотреть несовершеннолетним. false значит что фильм/сериал только для совершеннолетних. trailer меняете на ваше лат. название доп поле, которое содержит ссылку на трейлер. duration содержит длительность фильма/сериала в формате 00:ММ:СС (вписываю руками)

    Первый шаг преодолели. Теперь вам расскажу об одной хитрости. Вот как выглядят мои доп поля
    Обратите внимание на contributor,copyrightyear,productioncompany и прочие. Я использовал лат. название доп поля contributor вместо привычного country для страны, copyrightyear вместо year для года выхода, productioncompany вместо company для компании выпустившей фильм/сериал.... Далее объясню почему.
    Открываю engine/modules/show.full.php и нахожу ДВА раза (у меня dle 11.1)
    PHP:
    if( $config['allow_alt_url'] ) $value3[] = "<a
    меняю ДВА раза на
    PHP:
    if( $config['allow_alt_url'] ) $value3[] = "<a itemprop=\"" urlencode$preg_safe_name ) . "\"
    нахожу ДВА раза
    PHP:
    else $value3[] = "<a
    меняю ДВА раза на
    PHP:
    else $value3[] = "<a itemprop=\"" urlencode$preg_safe_name ) . "\"
    Эта махинация сделает возможным авто-разметку для доп полей с включенным "Использовать значения полей как перекрестные гиперссылки". А тут обязательное условие, чтобы вместо year вы выставили copyrightyear в качестве альт. названия доп поля, и тд....

    Если у вас жанры проставляются в качестве категорий (как модно сейчас делать) делаете следующее. В файле engine/modules/show.full.php находите ДВА раза
    PHP:
    if( $config['allow_alt_url'] ) $my_cat_link[] = "<a
    меняете ДВА раза на
    PHP:
    if( $config['allow_alt_url'] ) $my_cat_link[] = "<a itemprop=\"genre\"
    ищете ДВА раза
    PHP:
    else $my_cat_link[] = "<a
    меняте ДВА раза на
    PHP:
    else $my_cat_link[] = "<a itemprop=\"genre\"
    Это автоматически проставит разметку "жанр" для категорий.
    Если вы не используете категории в качестве жанров, а жанры вписываете, как и я, в доп поле genre, пропустите этот пункт.

    Из правок движка это всё. Далее работаем в fullstory.tpl вашего шаблона. Снова открываем его и делаем следующие правки:
    Ищем
    HTML:
    {title}
    меняем на
    HTML:
    <a itemprop="url" href="{full-link}">{title}</a>
    Далее учтите что в каждом шаблоне свои имена классов, стили и способы вывода информации. Чаще всего информация в фильме из доп полей выводиться в каком нибудь классе. Например у меня страна выводится так
    HTML:
    <li><div class="ml-label">Страна:</div> <div class="ml-desc">[xfvalue_contributor]</div></li>
    а конкретнее она выводиться в этом классе
    HTML:
    <div class="ml-desc">[xfvalue_contributor]</div>
    Дальше будьте внимательны и правьте в зависимости от названия вашего класса div, я же опишу ситуацию в целом.

    Для русского названия
    HTML:
    <div class="имякласса">[xfvalue_name_russian]</div>
    меняем на
    HTML:
    <div class="имякласса" itemprop="name">[xfvalue_name_russian]</div>
    Для оригинального названия
    HTML:
    <div class="имякласса">[xfvalue_name_original]</div>
    меняем на
    HTML:
    <div class="имякласса" itemprop="alternateName">[xfvalue_name_original]</div>
    Для длительности
    HTML:
    <div class="имякласса">[xfvalue_duration]</div>
    меняем на
    HTML:
    <div class="имякласса" itemprop="duration">[xfvalue_duration]</div>
    Сюжет/описание
    HTML:
    <div class="имякласса">{full-story}</div>
    меняем на
    HTML:
    <div class="имякласса" itemprop="description">{full-story}</div>
    Постер/обложку фильма/сериала
    HTML:
    <img src="[xfvalue_poster]" alt="{title}" />
    меняем на
    HTML:
    <img itemprop="image" src="[xfvalue_poster]" alt="{title}" />
    Если у вас есть тег {comments-num} в fullstrory.tpl, который выводит количество комментариев к фильму/сериалу, то сделайте следующее
    выделите его
    HTML:
    {comments-num}
    замените на
    HTML:
    <span itemprop="commentCount">{comments-num}</span>

    Чуть позже напишу как разметить по максимуму. Перейдем пока с следующему пункту.

    3. Открываем comments.tpl и ищем в нем
    HTML:
    <div class="имякласса">
                {comment}
            </div>
    меняем на
    HTML:
    <div class="имякласса" itemprop="comment">
                {comment}
            </div>
    4. Делаем разметку наших звёздочек:D Тобиш AgregateRating. Всё гениально просто
    Работает только с типом рейтинга - оценка
    Открываем /engine/modules/show.full.php, ищем код
    PHP:
    if( $row['allow_rate'] ) {
    ВЫШЕ вставляем
    PHP:
    if ( $row['rating'] == $row['rating'] = 5;
            if ( 
    $row['vote_num'] == $row['vote_num'] = 1;
            
    $tpl->set'{rating-num}', ( $row['rating'] / $row['vote_num'] ) );
            
    $tpl->set'{vote-count}'$row['vote_num'] );
    Открываем fullstory.tpl вашего шаблона и в json (я использую json в разметке schema) код вашей разметки в самый низ вставляем
    HTML:
    <script type="application/ld+json">
            {
        ......
        "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "{rating-num}",
        "bestRating": "5",
        "worstRating": "1",
        "ratingCount": "{vote-count}"
        }
    }
        </script>
    Пример того, как у меня сделано
    HTML:
    <script type="application/ld+json">
            {
        "@context" : "http://schema.org",
        "@type": "VideoObject",
        "@id": "{full-link}",
        "description": "{full-story limit="200"}",
        "duration": "{seotime}",
        "url": "{full-link}",
        "name": "{title}",
        "thumbnail": "[xfvalue_thumb]",
        "thumbnailUrl": "http://tube.anime.kim/uploads/thumbs/[xfvalue_thumb]",
        "uploadDate" : "{date=Y-m-d}T{date=H:i:s}",
        "datePublished": "{date=Y-m-d}T{date=H:i:s}",
        "isFamilyFriendly": "true",
        "genre": "Аниме, мультфильм, anime",
        "embedUrl": "http://tube.anime.kim/video.php?vid=[xfvalue_revideo]",
        "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "{rating-num}",
        "bestRating": "5",
        "worstRating": "1",
        "ratingCount": "{vote-count}"
        },
         "interactionStatistic": [
       {"@type": "InteractionCounter",
       "interactionType": "http://schema.org/WatchAction",
       "userInteractionCount": "{views}"
      } ]
    }
        </script>
    В итоге получим следующую картинку в Гугле
    [​IMG]

     
    #1 DLEPlugins, 3 авг 2016
    Последнее редактирование: 11 сен 2016
    • Нравится Нравится x 9
  2. SHANKOR

    Забанен

    Регистрация:
    29 мар 2016
    Сообщения:
    705
    Лучших ответов:
    0
    Рейтинги:
    +165 / 0 / -0
    Интересно, интересно. Только я не понял а где часть 1 и часть 2 если это 3тья?
     
    • Нравится Нравится x 1
  3. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    добавил в конец поста
     
    • Нравится Нравится x 1
  4. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    яша ld+json разметку игнорит :(
     
  5. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    именно яша по разметке организации в формате json выводил при поиске "сайт.ру" адресс, телефон, емейл... Как ни странно все равно кушает
     
  6. SHANKOR

    Забанен

    Регистрация:
    29 мар 2016
    Сообщения:
    705
    Лучших ответов:
    0
    Рейтинги:
    +165 / 0 / -0
    Во отлично, приеду домой прочту
     
  7. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    по организации - может быть. на фильмы на страницах фильмов - игнорил её на некоторых сайтах где пробовал так разметку ставить! приходилось по другому делать :)
     
  8. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    для яши в первой части серии статей написал отдельно, так как яша у нас парниш капризный, без бутылки не понимает

    хех, в этой тебе набрал 777 сообщений
    Screenshot
    паралельно в vk набрал 7777 друзей.
    Screenshot
    мб миллион евро найду на улице?...
     
    #8 DLEPlugins, 3 авг 2016
    Последнее редактирование модератором: 25 янв 2018
    • Нравится Нравится x 2
  9. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    :D;)
     
  10. Serhii

    Забанен

    Регистрация:
    5 ноя 2015
    Сообщения:
    1.867
    Лучших ответов:
    0
    Рейтинги:
    +545 / 0 / -0
    да че сразу милион так как везде 7-ки так то тогда скорее всего подработку на 77 евро найдешь :)
     
  11. MaHarder

    MaHarder Местный

    Регистрация:
    9 июн 2015
    Сообщения:
    1.054
    Лучших ответов:
    0
    Рейтинги:
    +333 / 0 / -0
    рад, что моя инструкция так помогла тебе ))
     
    • Нравится Нравится x 1
  12. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    я бы сказал - она открыла глаза на schema в DLE.

    вот о чем я говорил
    Screenshot
     
    #12 DLEPlugins, 4 авг 2016
    Последнее редактирование модератором: 25 янв 2018
  13. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    и нах это надо если ты не официальная организация и видео нелиценз показываешь? :eek:
     
    • Нравится Нравится x 1
  14. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    это ж просто тестирование )
     
    • Нравится Нравится x 1
  15. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    что то решил я посмотреть разметку кинопоиска...
    главная - нет ничего:
    2016-08-05_00-45-10.png
    фильм - есть, но вместе с рецензиями/отзывами:
    2016-08-05_00-46-47.png
    жанры, страны и другие второстепенные страницы - нет разметки:
    2016-08-05_00-48-10.png

    Так что вообще не стоит заморачитваться кроме как над тем, чтобы сделать нормальную разметку фильма на странице фильма, а не на всех страницах нахерачить всё подряд что только можно :D

    при этом кинопоиск - это вроди как организация, имеющая офф офис в москве! :)
     
    #15 byroot, 4 авг 2016
    Последнее редактирование: 25 янв 2018
    • Нравится Нравится x 1
  16. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    Не спорю, статус организации престижнее. И отношение поисковиков другое сразу. Пох, лучше переесть чем голодать. Предпочитаю херячить разметку по максимуму. Она нужна не только для поисковиков...:)
    Все в голос кричали, нах ssl нужен, пользы 0. Я потестил. Открою тайну. Даже разметка быстрее съедается поисковиками, когда есть ssl. И к сайту дружелюбнее они. Сайт с 0 посещалкой, на котором просто хаки испытываю, по определённым запросам на первой странице в гугле в первой тройке. Как? Отвечу - ssl + разметка. Щас помидоры пойдут в бой, но у каждого вера своя. Я на опытах сделал для себя вывод и буду строить сайты исходя из своих наблюдений. Остальные пусть работают по своему)
     
    #16 DLEPlugins, 4 авг 2016
    Последнее редактирование: 4 авг 2016
    • Нравится Нравится x 1
  17. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    ещё реальный телефон укажи в ней нихуяси чтоб правообладатели могли всегда тебе позвонить особенно РКН ;)
     
    • Нравится Нравится x 2
  18. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    на одном из сайтов я адрес поставил - токио, япония, ул ........ Телефон я не ставлю. Хай правообладатели в японию бегут за мной нихуяси
     
    • Нравится Нравится x 3
  19. Karabas Barabas

    Команда форума VIP Кинотрафик v2

    Регистрация:
    20 ноя 2015
    Сообщения:
    8.172
    Лучших ответов:
    1
    Рейтинги:
    +3.756 / 12 / -0
    @DomiTori, Я вот не вкурю, у меня новый сайт, заточен под гулю. стоит мзвращаться именно под эту тему?
     
  20. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    два дня назад добавил разметку звездочек по новому методу, сегодня уже вижу плоды.
    Screenshot_1.jpg
    кому нужно могу поделиться своим методом. В отличие от старых хаков, которые валяются в сети нет необходимости править 100500 файлов движка. Все гораздо проще
     
    • Нравится Нравится x 3
Яндекс.Метрика