2016-07-26 3 views
1

У меня есть страница, содержащая несколько событий Schema.org, которые имеют одинаковые свойства (имя, местоположение, описание и т. Д.). Я понял, как справиться с расположением делать что-то вроде этого:Как ссылаться на описание из нескольких событий Schema.org в Microdata?

<div itemscope itemtype="http://schema.org/Event"> 
    … 
    <meta itemprop="location" itemscope itemtype="http://schema.org/Place" itemref="venue-place" /> 
</div> 

<span id="venue-place"> 
    <a href="http://www.example.com/" itemprop="url"> 
    <span itemprop="name">Crystal Ballroom</span> 
    </a> 

    <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> 
    <span itemprop="streetAddress">1332 W Burnside St.</span> 
    <span itemprop="addressLocality">Portland</span>, 
    <span itemprop="addressRegion">OR</span> 
    <span itemprop="postalCode">97209</span> 
    </span> 
</span> 

Однако, я не могу понять, как сделать это для описания события. Я сделал что-то подобное, что делает пустое описание появится в Event в инструмент проверки структурированных данных Google:

<div itemscope itemtype="http://schema.org/Event"> 
    … 
    <meta itemprop="description" itemscope itemref="event-summary" /> 
</div> 

<div id="event-summary"> 
    This is the description text. 
</div> 

Что я делаю неправильно?

ответ

2

Атрибут itemref позволяет ссылаться на свойства (itemprop), и это должно быть указано в элементе (itemscope), к которому эти свойства следует добавить.

Таким образом, вы должны

  • двигаться itemref="event-summary" к Event элементу, и
  • двигаться itemprop="description" к элементу с описанием.
<div itemscope itemtype="http://schema.org/Event" itemref="event-summary"> 
</div> 

<div itemprop="description" id="event-summary"> 
</div> 

Вы идеально сделать бы это для location, тоже, потому что имея meta элемент без атрибута content является недействительным (но это может быть исправлено путем добавления пустого атрибута), и потому, что вы могли бы спасти одного элемент таким образом.

<div itemscope itemtype="http://schema.org/Event" itemref="venue-place event-summary"> 
</div> 

<div itemprop="location" itemscope itemtype="http://schema.org/Place" id="venue-place"> 
</div> 

<div itemprop="description" id="event-summary"> 
</div> 

(Обратите внимание, что структурированных данных инструмента тестирования Google будет использовать значение Place элемента для отображения URIs под @id. I think that’s a bug на их конце id, так что не позволяйте этому сбить вас с толку. Если вы хотите, чтобы избавиться от из этого вы можете добавить атрибут itemid, а также предоставить реальный/фактический URI для этого места.)

+0

Вы только что зафиксировали целую кучу недоразумений, которые у меня были об этом. Спасибо! –

Смежные вопросы