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&amp;player_id=player1&amp;autoplay=1&amp;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>
Другие вопросы по тегам