Google地址链接搜索框的Schema.org SearchAction错误:“valueName:missing and required”

时间:2015-06-23 21:17:04

标签: google-search schema.org microdata

我们正在使用我们网站上的Schema.org SearchAction,希望在Google搜索结果中显示附加链接搜索框。我完全按照Google's Developer Page上的说法实现了代码,但是当我在Google's Test Tool中对其进行测试时,它仍然会返回错误。

以下是我正在使用的代码:

<div itemscope itemtype="http://schema.org/WebSite">
    <meta itemprop="url" content="http://www.examplesite.com"/>
    <form itemprop="potentialAction" itemscope itemtype="http://schema.org/SearchAction">
        <meta itemprop="target" content="http://www.examplesite.com/catalogsearch/result/?q={q}"/>
        <input itemprop="query-input" type="text" name="q">
        <input type="submit">
    </form>
</div>

这是我得到的错误:

  

Structured Data Testing Tool Error

如果可以,我想使用Microdata,因为到目前为止我们所有的标记都使用了它。有谁知道我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:1)

更新:Google的测试工具中为a bug。问题的标记(以及谷歌自己的文档)现在再次起作用。因此,不需要以下替代方案。

目前尚不清楚这只是他们Structured Data Testing Tool的临时错误,还是Sitelinks Search Box的文档不再准确。

如果您认为他们的规则发生了变化(他们忘记更新文档),您可以通过提供PropertyValueSpecification项及其valueName属性来修复它(如错误消息所示):

<div itemscope itemtype="http://schema.org/WebSite">
    <link itemprop="url" href="http://www.example.com"/> <!-- changed from 'meta' to 'link', as it’s required by HTML5 and Microdata -->
    <div itemprop="potentialAction" itemscope itemtype="http://schema.org/SearchAction">
        <meta itemprop="target" content="http://www.example.com/catalogsearch/result/?q={q}"/>
        <div itemprop="query-input" itemscope itemtype="http://schema.org/PropertyValueSpecification">
          <meta itemprop="valueName" content="q"/>
        </div>
    </div>
</div>

FWIW,这为结构化数据测试工具中的“附加链接搜索框”提供了“全部好处”。