站点链接搜索框架构混乱

时间:2017-11-09 作者:IXN

试图实现Sitelinks搜索框模式以帮助Google在我的Sitelinks上方显示一个搜索框,我意识到我可以找到的当前文档中存在一些混乱(对于新手而言)。

这是example provided by Google

  "@context": "http://schema.org",
  "@type": "WebSite",
  "url": "https://www.example.com/",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://query.example.com/search?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
首先,对于WP,我们应该替换?q 具有?s

然而,还有更多的问题

1. Use search_term_string or search_term

阅读web上一些有用文章中提供的代码,甚至阅读一些插件的代码,几乎一半的插件使用search_term 而不是search_term_string. 我应该用哪一个?两者都正确吗?WP是否真的在其核心中使用了这些表达式?

2. Testing the code

谷歌(这也是我们首先关心搜索框的原因)建议对您的标记进行这种类型的测试:

。。。如果你的网站是一个例子。com,如果要测试查询“kittens”,可以浏览到https://www.example.com/search/?q={小猫}

忽略它使用?q 而不是?s 对于找到的任何解决方案,此测试都不成功。这是WP搜索url的外观:

https://www.example.com/search/?s=kittens
问题是:我可以使用search_term_stringsearch_term, 忘记google测试查询,继续吧?

1 个回复
SO网友:Mark Kaplun

在不涉及结构化数据本身的情况下,重要的是要记住wordpress运行搜索的实际url必须是主页。如果您使用的是“pretty permalinks”,wordpress可能会尝试将url解析为内容,而不是搜索除主页以外的任何内容。所以您的目标URL应该是example.com/?s= .

另一件看起来可疑的事情是使用“{}”。如果谷歌发送它,而不仅仅是将其用于参数格式,那么你就不应该使用它,因为它很可能会破坏wordpress的搜索(或者更准确地说,你不会得到结果)。

至于结构本身,似乎您为参数使用的名称本身并不重要,只要您使用相同的字符串指定和使用它的两个属性。

结束

相关推荐

how to search everything

我们有一个使用BuddyPress、bbPress等的Wordpress内部网。。从…起this article, 我调整了主题searchform.php 包括:<input type=\"hidden\" name=\"post_type[]\" value=\"docs\" /> <input type=\"hidden\" name=\"post_type[]\" value=\"events\" /> <input type=\"hidden\" n