【问题标题】:Google sitelink search box with Google custom search带有 Google 自定义搜索的 Google 附加链接搜索框
【发布时间】:2015-03-02 11:31:51
【问题描述】:

我们希望使用 Google 自定义搜索实现 Google 附加链接搜索框。在 Google documentation 中,我发现我们需要包含以下代码才能启用附加链接搜索框

    <script type="application/ld+json">
{
   "@context": "http://schema.org",
   "@type": "WebSite",
   "url": "https://www.example-petstore.com/",
   "potentialAction": {
     "@type": "SearchAction",
     "target": "https://query.example-petstore.com/search?q={search_term_string}",
     "query-input": "required name=search_term_string"
   }
}
</script>

但是我们被困在上述属性中的“目标”节点。由于我们没有自己的搜索页面,我们想使用谷歌自定义搜索,所以我应该在这个“目标”节点填写什么值。

我们已经为我们的网站创建了一个 Google 自定义搜索引擎。并在下面找到了代码

<script>
  (function() {
    var cx = 'CX_ID';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//www.google.com/cse/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
  })();
</script>
<gcse:search></gcse:search>

我们想实现像MashableImdb这样的附加链接搜索框

请建议,如何在附加链接搜索框代码中指向 Google 自定义搜索。

谢谢

【问题讨论】:

  • 也许this 会帮助你。
  • 感谢@Shishdem 的回复。但是这个链接也指向同一个谷歌documentation :(
  • 还有什么建议吗??
  • 不,不是我这边。在我的回答中,我解释了什么是可能的,什么是不可能的——显然你需要自己深入研究文档。或者实现一个搜索页面——你应该很好地使用谷歌自定义搜索。

标签: google-oauth google-custom-search google-search-api


【解决方案1】:

唯一的解决办法:

为此,您需要在您自己的网站上设置一个搜索页面。

对于“目标”参数,在您的网站上进行搜索并获取该 URL,并将您用于搜索的搜索词替换为“{search_term_string}”

如果您在使用自定义 Google 搜索的网站上创建搜索页面,您应该能够获取 target-property 的链接。

原因是谷歌不提供搜索功能

会将用户直接转到您网站自己的搜索页面。

来源:

【讨论】:

  • 但是像 mashable.com、imdb.com、makemytrip.com 这样的网站没有任何自己的搜索页面,在 Google SERP 中仍然可以看到站点链接搜索框。在附加链接搜索框中搜索时,它会登陆 Google SERP,并在查询字符串中附加“site:mashable.com”。
  • 他们都有自己的搜索页面。 IMDB 例如:http://www.imdb.com/find?ref_=nv_sr_fn&amp;q={search_term_string}
  • hmm...imdb 有自己的搜索引擎,但此搜索页面不是从附加链接搜索框映射的。它再次登陆谷歌 SERP。 imdb 一定没有在“目标”节点中提供自己的搜索页面。
【解决方案2】:

Shishdem 的链接也无法识别目标的写入内容,经过一些猜测工作后,这可行

https://example.com/index.html?q={search_term_string}

对于作为index.html 页面一部分包含的搜索框

如果您的搜索框在站点地图页面上,请使用

https://examples.com/sitemap.html?q={search_term_string}

我只能找到这个,因为 404 页面包含搜索框,所以它返回 404 然后结果出现,所以我调整了代码。

这会忽略该页面上的任何其他内容,并且似乎得出了正确的结果,因此应该适合 JSON-LD(或如果您愿意,也可以是微数据)。 JSON-LD 可能会更好,因为谷歌推荐它,但声明微数据被接受。参考原始问题文档中的链接。

【讨论】:

  • 不确定附加链接搜索框是否会显示此目标(因为我知道 Google 需要时间来决定是否显示它),但目标链接似乎对我有用.链接直接进入谷歌自定义搜索。仅供参考,对于其他人,如果您网站的主页不需要 index.html,您可以省略它。所以它只是https://www.example.com/?q={search_term_string}
【解决方案3】:

您将需要 Google CSE WordPress 插件: https://wordpress.org/plugins/google-cse/

  1. 安装它。
  2. 启用自定义搜索 API
  3. 生成 API
  4. 使用您生成的 API 和自定义搜索引擎 ID
  5. 在网站上查找您的内置 WordPress 搜索

现在您将能够使用 SearchAction Shema.org 标记(站点链接搜索框)。

仅适用于 WordPress。

【讨论】:

    【解决方案4】:

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-04
    • 2013-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 2019-07-17
    • 2015-11-12
    相关资源
    最近更新 更多