schema.org - наличие видео объекта, вложенного в продукт
Я пытаюсь добавить мета-теги schema.org на мои страницы товаров - есть предложения, рейтинги и т. Д.
Приведенный ниже код отлично работает, и я могу протестировать его с помощью многофункционального инструмента Google.
<div itemscope itemtype="http://schema.org/Product">
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
<meta itemprop="ratingValue" content="5">
<meta itemprop="reviewCount" content="20">
</div>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<span itemprop="price">Rs.100</span>
</div>
</div>
Теперь у меня есть видео этого продукта на этой странице и на основе макета страницы - он расположен выше цены. Поэтому, когда я вставляю видеообъект, как показано ниже, инструмент фишки Google выдает сообщение об ошибке
Ошибка: Страница содержит свойство "видео", которое не является частью схемы
Это более короткая версия полного кода, которая выдает ошибку.
<div itemscope itemtype="http://schema.org/Product">
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
<meta itemprop="ratingValue" content="5">
<meta itemprop="reviewCount" content="20">
</div>
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
<meta itemprop="name" content="Hello World"/>
<meta itemprop="duration" content="T1M33S" />
<meta itemprop="thumbnailUrl" content="v2.jpg" />
<meta itemprop="contentURL" content="www.viddler.com/player/xyz"/>
<meta itemprop="embedURL" content="http://viddler.com/flash/publisher.swf?key=xyz"/>
<meta itemprop="description" content="Hello world"/>
</div>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<span itemprop="price">Rs.100</span>
</div>
</div>
Теперь, если я удалю видеообъект и поместу его вне тега продукта - он действителен. Но то, как моя страница структурирована - видео будет отображаться внутри тега продукта.
Я могу закрыть тег продукта - запустить тег видео - закрыть тег видео, а затем открыть еще один новый тег продукта - но тогда он будет отображаться как 2 разных продукта.
Любая идея, как я должен идти об этом.
Спасибо
3 ответа
http://www.schema.org/Product
не определяет свойство video
,
Вы могли бы опустить
itemprop="video"
,
Недостаток: видео не связано с продуктом.Вы можете использовать собственность
description
вместо.
Недостаток: ожидаемый тип - "Текст" (но см. " Ожидаемые типы против текста" в документации по schema.org).Вы могли бы использовать
itemref
разделить вашу разметку на две части, не создавая два продукта, оставив видео вне позиции продукта.
Недостаток: видео не связано с продуктом.
На всякий случай, когда кто-нибудь натыкается на это в поисках ответа на вопрос, как я. Я не уверен, изменилось ли это с тех пор, как на первоначальный вопрос был дан ответ, но вот актуальный ответ от января 2018 года.
Согласно schema.org (см. http://schema.org/Product), на CreativeWorks (тип VideoObjects которого) можно ссылаться изнутри продукта, используя itemprop="subjectOf" вместо itemprop="video"., Смотрите пример ниже. Это должно работать с инструментом тестирования структурированных данных Google.
<div itemscope itemtype="http://schema.org/Product">
<img itemprop="image" src="dell-30in-lcd.jpg" alt="A Dell UltraSharp monitor" />
<span itemprop="name">Dell UltraSharp 30" LCD Monitor</span>
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
<span itemprop="ratingValue">87</span> out of <span itemprop="bestRating">100</span> based on <span itemprop="ratingCount">24</span> user ratings
</div>
<span itemprop="offers" itemscope="" itemtype="http://schema.org/Offer" class="price-excluding-tax">
<meta itemprop="availability" href="http://schema.org/InStock">
<meta itemprop="itemCondition" content="http://schema.org/NewCondition">
<span itemprop="priceSpecification" itemscope="" itemtype="http://www.schema.org/PriceSpecification" id="price-excluding-tax-1003">
<span class="price-currency" itemprop="priceCurrency" content="GBP">£</span> <span class="price" itemprop="price" content="999">999.00</span>
</span>
</span>
<div itemprop="subjectOf" itemscope itemtype="http://schema.org/VideoObject">
<meta itemprop="duration" content="PT1M7S" />
<meta itemprop="name" content="Opera® ProSafe Hospital Profiling Bed" />
<meta itemprop="description" content="The Opera® ProSafe is the flagship bed from the Opera® range. Its extra low height and high nursing height makes the bed an all-in-one bed, eliminating the need to use low profiling and standard profiling beds separately. The Opera® ProSafe accommodates up to a 10” mattress, allowing the bed to be used with deep airflow mattresses and comply with the BS EN 60601-2-52:2010 medical beds standard."
/>
<meta itemprop="thumbnailUrl" content="https://alpinehc.co.uk/media/import/prosafe-video-thumbnail.png" />
<meta itemprop="contentURL" content="https://vimeo.com/232354348" />
<meta itemprop="embedURL" content="https://player.vimeo.com/video/232354348" />
<meta itemprop="uploadDate" content="2017-09-04T11:37:00+08:00" />
<meta itemprop="height" content="340" />
<meta itemprop="width" content="190" />
<iframe src="https://player.vimeo.com/video/232354348?api=1&player_id=player1&autoplay=1&loop=1" height="240" width="320"></iframe>
</div>
</div>
Добавление еще одного варианта к тому, что уже сказал unor.
Вы можете рассматривать свое видео как своего рода обзор (обзор продукта). Вы даже можете сказать (в зависимости от вашей реальной веб-страницы), что AggregateRating (у вас есть в коде)+ отзывы для него + видео - все это части этого широкого обзора. Тогда разметка может выглядеть так:
<div itemscope itemtype="http://schema.org/Product">
<div itemprop="review" itemscope itemtype="http://schema.org/Review">
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
<meta itemprop="ratingValue" content="5">
<meta itemprop="reviewCount" content="20">
</div>
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
<meta itemprop="name" content="Hello World"/>
<meta itemprop="duration" content="T1M33S" />
<meta itemprop="thumbnailUrl" content="v2.jpg" />
<meta itemprop="contentURL" content="www.viddler.com/player/xyz"/>
<meta itemprop="embedURL" content="http://viddler.com/flash/publisher.swf?key=xyz"/>
<meta itemprop="description" content="Hello world"/>
</div>
</div>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<span itemprop="price">Rs.100</span>
</div>
</div>