Как правильно отформатировать эти богатые фрагменты? - PullRequest
4 голосов
/ 08 февраля 2012

Итак, у меня есть код ниже, который отлично работает при вводе в Google Rich Snippet Testing Tool .Проблема в том, что мне не нужен Venue Name, связанный с каким-либо URL.Однако когда я убираю тег a и упрощаю эту строку до <span itemprop="name">Venue Name</span>, инструмент тестирования говорит мне, что страница не содержит какой-либо расширенной разметки фрагмента.Кроме того, он выдает следующее предупреждение:

Warning: Event urls are pointing to a different domain than the base url.

Есть ли способ не привязывать название места к чему-либо?

По сути, я просто хочу, чтобы результат выгляделвот так (только со ссылкой «купить билеты»):

2 февраля - Феникс, Аризона - Crescent Ballroom - Купить билеты

Я загрузил HTML-файлс которым я тестирую и вхожу в инструмент тестирования здесь .

<div itemscope itemtype="http://schema.org/MusicGroup">

<h1 itemprop="name">Name</h1>

<div itemprop="events" itemscope itemtype="http://schema.org/Event">
  <meta itemprop="startDate" content="2012-02-02">Date &mdash; 
  <span itemprop="location">City, State</span> - 
  <a href="/tour" itemprop="url">
    <span itemprop="name">Venue Name</span>
  </a> - 
  <a href="http://ticketlink.com" itemprop="offers">Buy tickets</a>
</div>

</div>

2/16 - обновленный код

<div itemscope itemtype="http://schema.org/MusicEvent">

<h1 itemprop="name">Name</h1>

<div itemprop="events" itemscope itemtype="http://schema.org/Event">
  <meta itemprop="startDate" content="2012-02-02">Date &mdash; 
  <span itemprop="location" itemscope itemtype="http://schema.org/Place">
    <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
      <span itemprop="addressLocality">City</span>,
      <span itemprop="addressRegion">State</span>
    </span>- 
    <span itemprop="name">Venue Name</span> - 
  <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
    <a href="http://ticketlink.com" itemprop="url">Buy tickets</a>
  </div>
  </span>
</div>

</div>

2/17 - обновленный код

<div itemscope itemtype="http://schema.org/MusicGroup">
    <h1 itemprop="name">Name</h1>

    <div itemprop="events" itemscope itemtype="http://schema.org/MusicEvent">
      <meta itemprop="startDate" content="2012-02-02">Date &mdash; 
      <span itemprop="location" itemscope itemtype="http://schema.org/Place">
        <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
          <span itemprop="addressLocality">City</span>,
          <span itemprop="addressRegion">State</span>
        </span>- 
        <span itemprop="name">Venue Name</span> - 
        <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
          <a href="http://ticketlink.com" itemprop="url">Buy tickets</a>
        </div>
      </span>
    </div>
</div>

2/17 - новый обновленный код

<div itemscope itemtype="http://schema.org/MusicGroup">
  <h1 itemprop="name">Name</h1>

  <div itemprop="events" itemscope itemtype="http://schema.org/MusicEvent">
    <meta itemprop="startDate" content="2012-02-02">Date &mdash; 
    <span itemprop="location" itemscope itemtype="http://schema.org/Place">
      <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
        <span itemprop="addressLocality">City</span>,
        <span itemprop="addressRegion">State</span>
      </span>- 
      <span itemprop="name">Venue Name</span> - 
    </span>
    <div itemprop="offers">
      <a href="http://ticketlink.com" itemprop="url">Buy tickets</a>
    </div>
  </div>
</div>

Ответы [ 2 ]

5 голосов
/ 15 февраля 2012

Есть несколько вещей, которые я здесь замечаю.

  1. Если я не понимаю, это музыкальное событие, поэтому вам, вероятно, следует использовать более конкретный itemtype = "http://schema.org/MusicEvent".

  2. itemprop "location" также должен быть типом элемента http://schema.org/Place или http://schema.org/PostalAddress. Это также решит проблему с itemprop вашего имени. Так, например:

    <span itemprop="location" itemscope itemtype="http://schema.org/Place>
      <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress>
        <span itemprop="addressLocality">City</span>,
        <span itemprop="addressRegion">State</span>
      </span>
      <span itemprop="name">Venue Name</span>
    </span>
    

    См. Мой следующий пункт о том, почему я пропустил URL-адрес itemprop.

  3. Свойство offer является другим типом элемента, поэтому вам потребуется что-то вроде этого:

    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer>
      <a href="http://ticketlink.com" itemprop="url">Presale tickets</a>
    </div>
    

    Однако я не совсем уверен, что вы можете иметь ссылку на другой домен в URL-адресе itemprop. Это недокументировано, но я пока не видел пример такого. Возможно, вам придется пропустить предложение itemprop.и просто дайте Google сами ввести информацию о билетах из ticketlink.

  4. Пожалуйста, посмотрите мой ответ на ваш другой вопрос о том, как эти богатые фрагменты ссылок вы пытаетесь воспроизвестина самом деле заселяются в поиске повторноsults.

ОБНОВЛЕНИЕ: Вот последний фрагмент кода, который проходит инструмент тестирования

<div itemscope itemtype="http://schema.org/MusicGroup">
  <h1 itemprop="name">Name</h1>

  <div itemprop="events" itemscope itemtype="http://schema.org/MusicEvent">
    <meta itemprop="startDate" content="2012-02-02">Date &mdash; 
    <span itemprop="name">Event Name</span>        
    <span itemprop="location" itemscope itemtype="http://schema.org/Place">
      <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
        <span itemprop="addressLocality">City</span>,
        <span itemprop="addressRegion">State</span>
      </span>- 
      <span itemprop="name">Venue Name</span> - 
    </span>
    <a href="http://ticketlink.com" itemprop="offers">Buy tickets</a>
  </div>
</div>
1 голос
/ 09 февраля 2012

У меня была такая же проблема, как и у вас.Форматирование выглядит хорошо для меня;однако, похоже, что Google каким-то образом «помечает» списки событий, где URL-адрес отличается от домена, на котором размещена страница.Я только что заметил эту проблему на сайте, которым я управляю.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...