Вернуться   SEO форум - оптимизация и продвижение сайтов > Поисковая оптимизация > Оптимизация страниц сайта

Важная информация
Оптимизация страниц сайта - Мета теги (description и т.д.), заголовок h1, title, alt. Микроразметка, структура контента, внутренняя перелинковка.

Ответ
 
Опции темы Оценить тему Опции просмотра
Старый 25.02.2017, 06:00   #1
 
Аватар для MVS
 
Сообщений: 544
FR (активность): 7,646

Доп. информация
Сообщение Автор темы Микроразметка видео schema.org на wordpress

Не нашел в гугле адекватной информации по микроразметке видео, пришлось самому копаться. Сразу оговорюсь: на чистоту кода не претендую, я не программист. Главное - работает
Итак, микроразметка видео, вставленное из youtube в блоге wordpress.
Перво-наперво я сделал через плагин ACF поле для удобства размещения видео для записи. Выглядит это вот так:
Оффтоп:

Соответственно, если видео есть - то появляется поле для ввода ссылки. Ссылку нужно вставлять не из блока поделиться, а их строки браузера. т.е. вид у неё будет такой:
Код:
https://www.youtube.com/watch?v=qatmJtIJAPw
Собственно, этого достаточно, чтобы в дальнейшем получить всю необходимую информацию для микроразметки, благодаря API ютуба. А чтобы к нему у нас был доступ, нужно пройти сюда, после чего выбрать "YouTube Data API" и сгенерировать свой ключ, который будет необходим для подключения к API.
Далее, в шаблоне записей вставляем следующий код:
Код:
<?php
$videourl = get_post_meta($post->ID, 'video_url', true);
$videocheck = get_post_meta($post->ID, 'video_yes', true);
if($videocheck && $videourl){
//вытащили ID видео
$IDvideo = substr(strstr($videourl, '='), 1, strlen($videourl));
// Полезли в API Youtube, чтобы получить длительность видео
$getJSON = "https://www.googleapis.com/youtube/v3/videos?id=".$IDvideo."&part=contentDetails&key=ВАШ_КЛЮЧ_API";
            $data = file_get_contents($getJSON);
            $time = json_decode($data, true);
			$timevideo = $time['items'][0]['contentDetails']['duration'];
// Полезли в API Youtube, чтобы получить дату постинга видео
$getJSONdate = "https://www.googleapis.com/youtube/v3/videos?id=".$IDvideo."&part=snippet&key=ВАШ_КЛЮЧ_API";
            $datapost = file_get_contents($getJSONdate);
            $timepost = json_decode($datapost, true);
			$imgWidth = $timepost['items'][0]['snippet']['thumbnails']['maxres']['width'];
			$imgHeight = $timepost['items'][0]['snippet']['thumbnails']['maxres']['height'];
			$datepost = $timepost['items'][0]['snippet']['publishedAt'];
			//колдуем с форматом даты
			$timev = strtotime($datepost); 
			$yearv  = date( 'Y',$timev ); # Получаем год
			$monthv = date( 'm',$timev ); # Получаем месяца
			$dayv   = date( 'd',$timev ); # С помощью функции date() получаем число дня
			$datev = "$yearv-$monthv-$dayv"; # Выходная дата в формате Y-m-d

	?>
<div  itemscope itemtype="http://schema.org/VideoObject">
<div style="display:none;">
<meta itemprop="description" content="<?php echo get_the_excerpt(); ?>">
 <meta itemprop="duration" content="<?php echo $timevideo; ?>"/>
 <link itemprop="url" href="<?php echo $videourl; ?>"/>
 <link itemprop="thumbnailUrl" href="https://img.youtube.com/vi/<?php echo $IDvideo; ?>/maxresdefault.jpg"/>
 <meta itemprop="name" content="<?php the_title(); ?>"/>
 <meta itemprop="uploadDate" content="<?php echo $datev; ?>"/>
 <meta itemprop="isFamilyFriendly" content="true"/>
 <span itemprop="thumbnail" itemscope itemtype="http://schema.org/ImageObject" >
<img itemprop="contentUrl" src="https://img.youtube.com/vi/<?php echo $IDvideo; ?>/maxresdefault.jpg" />
<meta itemprop="width" content="<?php echo $imgWidth; ?>"/>
<meta itemprop="height" content="<?php echo $imgHeight; ?>"/>
</span>
</div>
<iframe id="videoevent" width="auto" height="auto" src="https://www.youtube.com/embed/<?php echo $IDvideo; ?>" frameborder="0" allowfullscreen></iframe><div class="clear"></div>
</div>
<?php } // end videourl ?>
Комментировать каждую строчку думаю смысла нет - кому надо, тот поймет, а кто не поймет - тому надо учить азы php и html
Предложенный мною вариант вывода видео вставляет в запись само видео, ссылка на которое берется из произвольного поля, скрывает информацию для микроразметки под display:none;, и автоматически размечает актуальной информацией каждое конкретное видео.
Пример от Google:
Оффтоп:

и Яндекс:
Оффтоп:

Ошибок нет, инфа актуальная. Пользуйтесь, надеюсь было полезно


Если ищете выделенный сервер, вам сюда - FastVPS - крутое железо и лучшая тех поддержка.
MVS вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
"Спасибо" от:
Artyomka (27.02.2017)
Старый 27.02.2017, 12:28   #2
 
Аватар для Artyomka
 
Сообщений: 89
FR (активность): 1,237

Доп. информация
По умолчанию

Спасибо))
Скрины поправь)
Artyomka вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
"Спасибо" от:
 MVS (27.02.2017)
Старый 27.02.2017, 23:32   #3
 
Аватар для MVS
 
Сообщений: 544
FR (активность): 7,646

Доп. информация
По умолчанию Автор темы

Цитата:
Сообщение от Artyomka Посмотреть сообщение
Спасибо))
Скрины поправь)
пасиб, поправил)
кстати, если кто-то сможет завернуть это в плагин с кешированием данных по видео в БД, чтобы API не вызывалось, т.к. там ограничения по кол-ву запросов в сутки - будет круто)


Если ищете выделенный сервер, вам сюда - FastVPS - крутое железо и лучшая тех поддержка.
MVS вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Ответ

Метки
schema.org, wordpress, микроразметка

Быстрый ответ
Ваше имя пользователя: Регистрация. Для входа нажмите здесь
Случайный вопрос

Сообщение:
Опции


Опции темы
Опции просмотра Оценка этой теме
Оценка этой теме:

Ваши права в разделе
Вы не можете создавать новые темы
Вы можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[ Вопрос ] микроразметка schema.org и вывод картинки через php функцию MVS WordPress 5 01.11.2015 21:39
[ Вопрос ] Эсспорт видео из vk в wordpress rickxxx WordPress 3 05.07.2015 13:39
schema.org + xhtml. Стоит внедрять schema.org? webded Оптимизация страниц сайта 2 21.04.2015 18:32
Посоветуйте видео уроки. Cоздание, наполнение и продвижение сайта на wordpress. sonya_padla WordPress 24 20.10.2014 10:05
WordPress. Плагин для вставки видео на сайт, со своего же хоста? marcool WordPress 3 05.04.2011 13:20

Текущее время: 18:29. Часовой пояс GMT +3.