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

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

Внедрение микро-разметки для видео в dle. часть 1 - open graph для яндекс

Тема в разделе "Хаки DLE", создана пользователем DLEPlugins, 25 апр 2016.

25.04.16 в 09:40
27.02.23 в 17:14
170
39.474
11
  1. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    [​IMG]

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

    Это будет первая статья из серии статей, посвященных микро-разметке видео. В этой статье будем "дружить" сайт с Яндексом при помощи Open Graph. Приступим?

    1. Открываем /engine/engine.php и ищем в нем код[/PHP]
    PHP:
    $s_meta .= "<meta property=\"og:{$key}\" content=\"{$value}\" />\n";
    меняем его на код
    PHP:
    $s_meta .= "<meta property=\"{$key}\" content=\"{$value}\" />\n";
    Сохраняем файл.

    2. Открываем /templates/шаблон/main.tpl и ищем в нем код
    PHP:
    <html>
    меняем на
    PHP:
    <html lang="ru" prefix="og: http://ogp.me/ns#
                  video: http://ogp.me/ns/video#
                  ya: http://webmaster.yandex.ru/vocabularies/" 
    >
    3. Открываем /engine/modules/show.full.php и ищем в нем код
    PHP:
    if ( count($images) ) $social_tags['image'] = $images[0];
    меняем на
    PHP:
    if ( count($images) ) $social_tags['og:image'] = $images[0];
    ищем код
    PHP:
    $social_tags['video'] = $media[1][0];
    меняем на
    PHP:
    $social_tags['og:video'] = $media[1][0];
    ищем код
    PHP:
    $social_tags['audio'] = $media[1];
    меняем на
    PHP:
    $social_tags['og:audio'] = $media[1];
    4. В этом же файле /engine/modules/show.full.php ищем код
    PHP:
    $social_tags['site_name'] = $config['home_title'];
            
    $social_tags['type'] = 'article';
            
    $social_tags['title'] = htmlspecialchars$row['title'], ENT_QUOTES$config['charset'] );
            
    $social_tags['url'] = $full_link;
    меняем его на код
    PHP:
    $social_tags['og:site_name'] = $config['home_title'];
            
    $social_tags['og:title'] = htmlspecialchars$row['title'], ENT_QUOTES$config['charset'] );
            
    $social_tags['og:description'] = $row['descr'];
            if (
    $category_id == OR $category_id == 6$social_tags['og:type'] = 'video.movie';
            elseif (
    $category_id == OR $category_id == OR $category_id == OR $category_id == 4$social_tags['og:type'] = 'video.episode';
            else 
    $social_tags['og:type'] = 'video.other';
            
    $xfieldsdata xfieldsdataload$row['xfields'] );
            
    $social_tags['og:image'] = "http://сайт.ру/uploads/posts/" $xfieldsdata['poster'];
            
    $social_tags['og:url'] = $full_link;
            
    $social_tags['og:video'] = "http://сайт.ру/video.php?vid=" $xfieldsdata['revideo'];
            
    $social_tags['video:duration'] = $xfieldsdata['time_sec'];
            
    $social_tags['og:video:type'] = "application/x-shockwave-flash";
            
    $social_tags['og:video:width'] = "1024";
            
    $social_tags['og:video:height'] = "768";
        
            
    $social_tags['ya:ovs:upload_date'] = date'Y-m-d'$row['date'] ) . "T" date'H:i:s'$row['date'] );
            
    $social_tags['ya:ovs:adult'] = "false";
            
    $social_tags['ya:ovs:content_id'] = $xfieldsdata['revideo'];
            
    $social_tags['ya:ovs:status'] = "published";
            
    $social_tags['ya:ovs:login'] = $row['autor'];
            
    $social_tags['ya:ovs:is_official'] = "no";
            
    $social_tags['ya:ovs:available_platform'] = "Desktop";
            
    $social_tags['ya:ovs:available_platform'] = "Mobile";
            
    $social_tags['ya:ovs:allow_embed'] = "true";
            
    $social_tags['ya:ovs:embed_html'] = "<iframe src='http://сайт.ру/video.php?vid=" $xfieldsdata['revideo'] . "'></iframe>";
            
    $social_tags['ya:ovs:category'] = $cat_info[$category_id]['name'];
            
    $social_tags['ya:ovs:languages'] = "ru";
            
    $social_tags['ya:ovs:feed_url'] = $full_link;
            
    $social_tags['ya:ovs:views_total'] = number_format($row['news_read'], 0','' ');
            
    $social_tags['ya:ovs:comments'] = number_format($row['comm_num'], 0','' ');
            
    $social_tags['ya:ovs:likes'] = $row['vote_num'];
            
    $social_tags['ya:ovs:rating'] = $row['rating'];
            
    $social_tags['ya:ovs:poster'] = "http://сайт.ру/uploads/posts/" $xfieldsdata['poster'];
    4. Пояснение что к чему
    Данное условие
    PHP:
    if ($category_id == OR $category_id == 6$social_tags['og:type'] = 'video.movie';
            elseif (
    $category_id == OR $category_id == OR $category_id == OR $category_id == 4$social_tags['og:type'] = 'video.episode';
            else 
    $social_tags['og:type'] = 'video.other';
    проверяет к какой категории принадлежит новость, у меня категории с id 5 и 6 это фильмы, с 1 по 4 сериалы и 6 - трейлеры. Соответственно фильмам присваиваем тип video.movie, сериалам video.episode, прочим видео video.other.

    Также у меня на сайте есть следующие доп поля
    poster - доп поле типа загружаемое изображение, выводит ссылку на кадр из видео.
    revideo - доп поле, содержащее id видео в граббере, с помощью которого я вывожу видео-плеер
    time_sec - сюда я вписываю длительность видео в секундах

    Итог данных манипуляций вы можете увидеть на верхней заглавной картинке этой статьи.

    Автор статьи: DomiTori.
    Мой новоиспеченный блог о DLE: Dle.Press (дорабатываю)

    Продолжение следует. В следующих статьях "подружим" VK и Twitter с нашим сайтом.

     
    #1 DLEPlugins, 25 апр 2016
    Последнее редактирование: 25 апр 2016
    • Нравится Нравится x 11
  2. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.204 / 74 / -0
    • Согласен Согласен x 1
  3. TopicStarter Overlay
    DLEPlugins

    Кодер

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

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.204 / 74 / -0
    адаптивный шаблон, всё пучком :) один раз его настроить и так же будет не зависить от "дектоп версия или мобильная"...
     
    • Нравится Нравится x 1
  5. romanbkn

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

    Регистрация:
    14 авг 2015
    Сообщения:
    3.423
    Лучших ответов:
    0
    Рейтинги:
    +1.290 / 0 / -0
    на дле 11 пашет?
     
  6. TopicStarter Overlay
    DLEPlugins

    Кодер

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

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

    Регистрация:
    14 авг 2015
    Сообщения:
    3.423
    Лучших ответов:
    0
    Рейтинги:
    +1.290 / 0 / -0
    @DomiTori, спасибо тебе! Пиши еще для гугла. ДАй вэбмани, хоть на пиво накину.
     
    • Нравится Нравится x 1
  8. TopicStarter Overlay
    DLEPlugins

    Кодер

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

    Забанен

    Регистрация:
    3 дек 2015
    Сообщения:
    1.021
    Лучших ответов:
    0
    Рейтинги:
    +110 / 0 / -0
    Зачем эти не нужные теги типо $social_tags['ya:eek:vs:login'] = $row['autor'];. Прибавляется вес только страницы
     
  10. TopicStarter Overlay
    DLEPlugins

    Кодер

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

    Забанен

    Регистрация:
    3 дек 2015
    Сообщения:
    1.021
    Лучших ответов:
    0
    Рейтинги:
    +110 / 0 / -0
    Код:
    <meta property="og:title" content="Что такое schema.org"/>
    <meta property="ya:ovs:id" content="3543"/>
    <meta property="og:url" content="http://mysite.com/view/308/"/>
    <meta property="og:description" content="Schema.org – это стандарт семантической разметки данных в сети,
    объявленный поисковыми системами Google, Bing и Yahoo! летом 2011 года.
    Цель семантической разметки — сделать интернет более понятным, структурированным и облегчить поисковым системам
    и специальным программам извлечение и обработку информации для удобного её представления в результатах поиска."/>
    <meta property="video:duration" content="4878787787"/>
    <meta property="og:image" content="http://yandex.st/lego/_/X31pO5JJJKEifJ7sfvuf3mGeD_8.png"/>
    <meta property="ya:ovs:upload_date" content="2013-06-05"/>
    <meta property="ya:ovs:adult" content="false"/>
    <meta property="og:type" content="video.other"/>
    <meta property="og:video:type" content="flash"/>
    Ну и эти и оставить, зачем еще куча не нужного
     
  12. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    ты в подробностях "разжоуваешь"яндексу что у тебя на странице и зачем оно там находиться. Причем не только яндекс понимает open graph но и другие поисковики, причем у каждого свой минимальный набор.
    Открой исходную страницу какого нибудь тьюба, например этой страницы. Посмотри как она размечена. Зачем же они так заморачивались, если можно минимум описать и не париться?!Может времени свободного было много или заняться было нечем... Наверное не просто так. Все популятные тьюбы фаршируют сайт разметкой по полной

    Я описал полный набор в таком составе, в котором нашел нужным. Вам же решать что из него использовать. Если же хотите не заморачиваться, то используйте лишь эти теги, я никого не заставляю :D

     
  13. romanbkn

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

    Регистрация:
    14 авг 2015
    Сообщения:
    3.423
    Лучших ответов:
    0
    Рейтинги:
    +1.290 / 0 / -0
    кто-нибудь поставил такую разметку? Есть ошибки при проверке?
     
  14. Karabas Barabas

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

    Регистрация:
    20 ноя 2015
    Сообщения:
    8.172
    Лучших ответов:
    1
    Рейтинги:
    +3.756 / 12 / -0
    А для гугла написал таки ты? А то чет смотрю и хер пойму, где оно есть.;)
     
  15. Karabas Barabas

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

    Регистрация:
    20 ноя 2015
    Сообщения:
    8.172
    Лучших ответов:
    1
    Рейтинги:
    +3.756 / 12 / -0
    Ну а ты втулил её? Ошибок нет?
     
  16. aeneas

    Забанен

    Регистрация:
    12 мар 2016
    Сообщения:
    11.489
    Лучших ответов:
    10
    Рейтинги:
    +4.043 / 208 / -0
    а зачем это ?
     
  17. Karabas Barabas

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

    Регистрация:
    20 ноя 2015
    Сообщения:
    8.172
    Лучших ответов:
    1
    Рейтинги:
    +3.756 / 12 / -0
    А вк и твит подружил? Тож чет не увидел. Или выпито уже много, шо не вижу ни фуя:D
     
  18. Karabas Barabas

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

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

    Кодер

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

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

    Регистрация:
    20 ноя 2015
    Сообщения:
    8.172
    Лучших ответов:
    1
    Рейтинги:
    +3.756 / 12 / -0
    Збс. В теме рокет гэймс не отвечай тогда :D
    ПыСы... А то я твой "пресс" уже обсмотрел, тоже не нашёл
     
Яндекс.Метрика