Можно ли использовать микроданные о звездах вместо числа в обзоре?


Это мой HTML-код для обзора пользователя. В документации по рейтингу говорится, что вы должны отметить число, например: <span itemprop="reviewRating">5</span>. Однако я использую только звезды, а не число, поэтому это неприменимо в моем HTML.

<div class="review-card text-center" itemprop="review" itemscope itemtype="http://schema.org/Review">
<img src="https://graph.facebook.com/482469078777667/picture?type=square" alt="" class="profile-img">
<div class="review-author">
<span class="ra-author" itemprop="author">Snehah Lama</span>
<ul class="rating-star">                                                                
<li><i class="material-icons">★</i></li>
<li><i class="material-icons">★</i></li>                   
<li><i class="material-icons">★</i></li>
<li><i class="material-icons">☆</i></li>
<li><i class="material-icons">☆</i></li>              
</ul>
</div>
<div class="review-content">
<p class="content-inner" itemprop="description">Lorem ipsum dolor....</p>
</div>
</div>

Должен ли я изменить всю свою структуру HTML, чтобы разместить число, которое можно аннотировать, или есть другой способ сделать это?

Author: Stephen Ostermiller, 2018-03-29

1 answers

Если вы не хотите отображать значение структурированных данных на странице, вы можете использовать элемент meta (если значение является URL-адресом, вместо этого вам нужно использовать элемент link).

Тем не менее, если у вас есть Review, указание целого числа в качестве значения для reviewRating не ожидается. В отеле ожидается Rating значение, которое может иметь ratingValue собственность.

С отображением значения разметка может выглядеть так это:

<div itemprop="review" itemscope itemtype="http://schema.org/Review">
  <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
    <span itemprop="ratingValue">3</span>/5
  </div>
</div>

Без указания значения разметка может выглядеть следующим образом:

<div itemprop="review" itemscope itemtype="http://schema.org/Review">
  <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
    <meta itemprop="ratingValue" content="3">
    <span>★★★☆☆</span>  <!-- note that this is likely not accessible, the 'meter' element might be better -->
  </div>
</div>

С элементом meter фактическое значение (которое используется микроданными) в любом случае скрыто:

<div itemprop="review" itemscope itemtype="http://schema.org/Review">
  <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
    <meter itemprop="ratingValue" value="3" min="0" max="5">★★★☆☆</meter>
  </div>
</div>

Но Google SDTT, похоже, работает неправильно: они используют содержимое элемента meter вместо содержимого атрибута value (который требуется спецификацией микроданных ). Добавление атрибута content с тем же значением исправляет это в SDTT.

 2
Author: unor, 2018-03-29 12:20:11