站点链接搜索框

当您的网站显示为搜索结果时,Google 搜索可以提供一个将搜索范围限定到您网站的搜索框。此搜索框由 Google 搜索提供支持。不过,如果您希望使用自己的搜索引擎来为此搜索框提供支持,或者您希望搜索结果中也包含关联的移动应用,使用嵌入您网站的结构化数据就可以做到。

搜索用户有时会输入已知网站或应用的品牌名称或网址,只有在到达目标网址后才会进行更详细的搜索。例如,当用户在 Pinterest 上搜索披萨贴图时,先通过 Google 应用或他们的网络浏览器在 Google 搜索中键入 Pinterest 或 pinterest.com,然后加载相应的网站或 Android 应用,最后搜索披萨。搜索框为用户提供了一种快捷方式,让他们可以立即在搜索结果页上搜索您的网站或应用。搜索框实施实时建议和其他功能。

示例

以下示例显示了在 Google 上搜索“Pinterest”时所得到的搜索结果,返回了 Pinterest 网站的站点链接搜索框:

正在使用的站点链接搜索框

下面是一些示例标记,将使用网站的自定义搜索引擎来实施站点链接搜索框:

JSON-LD

下面是一个 JSON-LD 格式的示例:

微数据

下面是一个微数据格式的示例:

下面是一个 JSON-LD 格式的网站和应用示例:

指南

除了结构化数据常规指南之外,下面这些附加指南同样适用于站点链接搜索框标记。

下面是为您的网站或应用设置搜索框的步骤:

  1. 在您的网站或 Android 应用上安装性能良好的搜索引擎

    当用户进行站点链接搜索查询时,会转到您网站或应用的搜索结果页,因此您需要一个功能强大的搜索引擎来为此功能提供支持。

    • 网站:在您的网站或 Android 应用上设置搜索引擎。该功能使用您的结构化数据中指定的语法将用户的查询转发到您的目标。您的搜索引擎应支持 UTF-8 编码的查询。
    • 应用:请参阅 Android 开发者网站上的搜索概览,了解如何为应用实现搜索引擎。您的 Android 应用应支持来自搜索结果的 ACTION_VIEW intent,并在标记的 potentialAction.target 属性中指定相应的数据 URI。
  2. 在您网站的首页上实施 WebSite 结构化数据元素。 应用必须具有关联的网站才能启用此功能,即使该网站只是一个网页。下面是一些附加指南:
    • 只将此标记添加到首页,而不要将其添加到其他任何网页。
    • 始终为网站指定一个 SearchAction,如果支持应用搜索,还可以再指定一个。您应该始终为网站指定 SearchAction,即使应用是您的首选搜索目标也是如此;这样可确保当用户未通过 Android 手机进行搜索或未安装您的 Android 应用时,搜索结果会定向到您的网站。
  3. 使用结构化数据测试工具验证结构化数据
  4. 验证搜索引擎实现情况,方法是从您的结构化数据复制 WebSite.potentialAction.target 网址,将 search_term_string 替换为测试查询,然后在网络浏览器中浏览到该网址。例如,如果您的网站是 example.com,并且您要测试查询“kittens”,那么您可以浏览到 https://www.example.com/search/?q={kittens}
  5. 对首页的所有变体使用 rel="canonical" link 元素,为网域的首页设置首选规范网址。这有助于 Google 搜索为您的标记选择正确的网址。您的服务器必须支持 UTF-8 字符编码。
  6. 对于应用,请启用正确的 intent 过滤器以支持您在标记的应用目标中指定的网址。有关如何为 Google 搜索网址创建 intent 过滤器的示例,请参阅适用于 Android 的 Firebase App Indexing

即使您的网站不包含此处所述的结构化数据,Google 搜索也可以选择向其添加站点链接搜索框。不过,您可以通过向您的首页添加以下元标记来阻止此行为:

<meta name="google" content="nositelinkssearchbox" />

站点链接搜索框将在 Googlebot 正常抓取和处理网页的过程中被停用,这可能需要几周的时间,具体取决于网站和其他因素。

结构化数据类型定义

要让您的内容能够显示为富媒体搜索结果,您必须为其添加必需的属性。您还可以添加建议的属性,以便添加与您的内容相关的更多信息,进而提供更好的用户体验。

经过修改的 WebSite 类型

Google 搜索对网站和应用搜索框都使用经过修改的 WebSite 结构化数据类型。schema.org 上提供了 WebSite 的完整定义,不过 Google 搜索稍微偏离了标准。下方所示的是权威说明。

必需属性
potentialAction

一个或两个 SearchAction 对象的数组

此对象描述了要将查询发送到的 URI 以及发送的请求所用的语法。您必须实施可以接收请求的网页或 intent 处理程序,并对提交的字符串执行适当的搜索。如果用户未在使用 Android 应用(或者在使用 Android 应用,但未指定 Android intent 目标),则搜索框会将查询的网站版本发送到指定的位置;如果用户在使用 Android 设备并指定了 Android intent URI,则会发送该 intent。

您应该始终创建网站 SearchAction 以支持桌面搜索用例。如果也支持应用搜索,还可以为您的应用另外指定一个 SearchAction 对象。每个 SearchAction 对象都具有以下成员:

potentialAction.query-input

Text

使用字面量字符串 required name = search_term_string,或者您在 target 中使用的任何占位符。

potentialAction.target

Text

一个字符串,采用以下格式:search_handler_uri?q={search_term_string}

例如:

https://query.example.com/search?q={search_term_string}
search_handler_uri 对于网站,此属性是应该接收和处理搜索查询的处理程序的网址;对于应用,此属性是应该处理查询的搜索引擎的 intent 处理程序的 URI。
search_term_string

当用户点击搜索框中的“搜索”按钮时,替换为用户的搜索查询的占位符字符串。

url

URL

指定要搜索的网站的网址。请将其设为您网站的规范首页。例如:https://www.example.org

发送以下问题的反馈:

此网页