2015-02-05 3 views
4

После добавления микроданных на страницу я обычно перехожу к: https://developers.google.com/webmasters/structured-data/testing-tool/, чтобы проверить его и убедиться, что ничего не пропало.Microdata/Schema.org/SEO: как правильно установить ContactPoint

Я получаю следующее сообщение об ошибке:

«ContactPoint должен быть присоединен к родителю с объявленным типом»

Я не уверен, что мне не хватает ...?

Образец HTML

<div itemscope itemtype="http://schema.org/Person"> 
    <p> 
     <span itemprop="description">Webmaster</span>: 
     <span itemprop="name">Omar</span> 
     <br/><a itemprop="url" href="https://plus.google.com/+Omar/">Profile</a> 
    </p> 

    <p itemscope itemtype="http://schema.org/ContactPoint"> 
     To contact me please email me at 
      <a itemprop="email" href="mailto:[email protected]">[email protected]</a> 
      <meta itemprop="contactType" content="Webmaster"/> 
      <meta itemprop="sameAs" content="https://plus.google.com/+OmarJuvera"/> 
      <meta itemprop="availableLanguage" content="English"/> 
      <meta itemprop="availableLanguage" content="Spanish"/> 
      <meta itemprop="availableLanguage" content="Japanese"/> 
    </p> 
</div> 

ответ

6

(В то время как инструмент тестирования Google, сообщает об этом как ошибки, это не фактическая ошибка. Это должно быть предупреждение вместо этого. Ваш код действителен микроданных, и вы правильно используя словарь Schema.org.)

  1. у вас есть два элемента верхнего уровня (в Person и a ContactPoint), то есть они никоим образом не связаны.

  2. Если вы хотите сказать, что ContactPoint является точкой контакта для Person, то вам нужно свойство соединить эти два элемента (вложенности HTML-уровень здесь не имеет значения).

  3. Глядя на определенные свойства для Person, вы можете найти contactPoint property, который принимает ContactPoint как значение и определяется как:

    A contact point for a person or organization.

    Так это свойство подходит для вашего случая.

  4. contactPoint Добавьте свойство к Person пункта, ссылаясь на ContactPoint пункт:

    <div itemscope itemtype="http://schema.org/Person"> 
        … 
        <p itemprop="contactPoint" itemscope itemtype="http://schema.org/ContactPoint"> 
        … 
        </p> 
    </div> 
    
+0

он работал, но теперь это дает мне другую ошибку> _ <....: 'Значение при условии для веб-мастера должен быть действительный тип контакта ». В определении schema.org для http://schema.org/contactType есть текст. Поэтому у меня создается впечатление, что любое значение идет ... Почему ошибка? – Omar

+1

@ Omar: Да, любое текстовое значение доходит до Schema.org. Однако у Google есть дополнительные правила: значение должно быть одним из [перечисленных значений] (https://developers.google.com/webmasters/structured-data/customize/contact-points?&hl=ru). Опять же, это только правило, характерное для синтаксического анализа Google Rich Snippet. Не предоставление такого значения совершенно корректно и прекрасно, вы можете просто не получить Google Rich Snippet. – unor

+1

@ Omar: Если вы не особенно заботитесь о Google, но хотите проверить свой Microdata/Schema.org, вероятно, вам следует использовать другой инструмент, поскольку Google Testing Tool всегда сообщает о проблемах, связанных с Google. См. Например, вопрос [Интернет-анализатор микроданных] (http://softwarerecs.stackexchange.com/q/13674/60). – unor

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