2015-02-05 42 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

(虽然谷歌的测试工具报告以此为错误,它不是一个真正的错误。这应该是一个警告,而不是你的代码是有效的微观数据,你是正确的使用Schema.org词汇。)

  1. 你有两个顶级项目(一PersonContactPoint),即它们不以任何方式相关。

  2. 如果您想要说Person的联系点是ContactPoint,那么您需要一个属性来连接这两个项目(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=zh-CN)。同样,这只是Google Rich Snippet解析特有的规则。不提供这样的价值是完全有效和正确的,那么您可能就不会获得Google Rich Snippet。 – unor

+1

@Omar:如果您不特别关心Google,但想要验证您的Microdata/Schema.org,则应该使用其他工具,因为Google的测试工具始终会报告Google特定的问题。例如,请参阅[在线微数据解析器](http://softwarerecs.stackexchange.com/q/13674/60)。 – unor