我们正在使用我们网站上的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>
这是我得到的错误:
如果可以,我想使用Microdata,因为到目前为止我们所有的标记都使用了它。有谁知道我怎么能解决这个问题?
答案 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,这为结构化数据测试工具中的“附加链接搜索框”提供了“全部好处”。