¿Cómo agregar soporte de búsqueda de omnibox de Google Chrome para su sitio?

150

Cuando ingreso algunas de las URL en el omnibox de Google Chrome, veo el mensaje "Presione TAB para buscar en $ URL". Por ejemplo, hay algunos sitios rusos habrahabr.ru o yandex.ru. Cuando presionas TAB podrás buscar en ese sitio, no en tu motor de búsqueda. ¿Cómo hacer que mi sitio pueda hacerlo? Tal vez, ¿necesito escribir algún código especial en las páginas de mi sitio?

Abzac
fuente
Entonces, ¿cómo decirle a Chrome que mi sitio es motor de búsqueda?
Abzac

Respuestas:

204

Chrome generalmente maneja esto a través de las preferencias del usuario. (vía chrome://settings/searchEngines)

Sin embargo, si desea implementar esto específicamente para sus usuarios, debe agregar un OSD (Descripción de búsqueda abierta) a su sitio.

¿Está utilizando la función OmniBox [TAB] de Google Chrome para / en un sitio web personal?

Luego agrega este archivo XML a la raíz de su sitio y lo vincula en su <head>etiqueta:

<link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow" href="/opensearch.xml" />

Ahora, los visitantes de su página recibirán automáticamente la información de búsqueda de su sitio en la configuración interna de Chrome en chrome://settings/searchEngines.

Ejemplo de formato XML de OpenSearchDescription

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>Your website name (shorter = better)</ShortName>
<Description>
Description about your website search here
</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16" type="image/x-icon">your site favicon</Image>
<Url type="text/html" method="get" template="http://www.yoursite.com/search/?query={searchTerms}"/>
</OpenSearchDescription>

La parte importante es el <url>artículo. {searchTerms}será reemplazado por lo que el usuario busca en el omnibar.

Aquí hay un enlace a OpenSearch para obtener más información.

element119
fuente
9
Tenga en cuenta que, a diferencia de Firefox, Chrome descubrirá su Descripción de búsqueda abierta solo si la coloca en la raíz de su sitio web .
varepsilon
2
¿Hay alguna manera de hacer que esa "búsqueda de omnibox" funcione con firefox?
JinSnow
¿Cómo encontrar la url que conduce directamente al cuadro de consulta en el sitio de destino? (en el traductor de Google, por ejemplo)
JinSnow
2
respuesta para el traductor de Google agregue este a su motor de búsqueda: translate.google.com/?source=osdd#auto|auto|%s
JinSnow
¡Agregar motores de búsqueda en chrome://settings/searchEngineses un ahorro de tiempo! ¡Gracias!
Esdras López
30

Implementación de soporte omnibox con sugerencias de búsqueda

La respuesta dada por @ element119 funciona perfectamente, pero aquí hay un código ligeramente modificado para admitir sugerencias de búsqueda, así como el Soporte de Mozilla.

Siga los pasos a continuación para implementar el soporte de omni box para su sitio.

  1. Guarde el siguiente código como search.xml
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <script/>
  <ShortName>Site Name</ShortName>
  <Description>Site Description (eg: Search sitename)</Description>
  <InputEncoding>UTF-8</InputEncoding>
  <Image width="16" height="16" type="image/x-icon">Favicon url</Image>
  <Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&amp;q={searchTerms}" />
  <Url type="text/html" method="GET" template="http://yoursite.com/?s={searchTerms}" />
  <SearchForm>http://yoursite.com/</SearchForm>
</OpenSearchDescription>
  1. Sube search.xml a la raíz de tu sitio.

  2. Agregue la siguiente etiqueta meta a su sitio de <head>etiqueta

<link rel="search" href="http://www.yoursite.com/search.xml" type="application/opensearchdescription+xml" title="You site name"/>

Asegúrese de reemplazar las URL de dominio con su dominio.

Shan Eapen Koshy
fuente
1
Es <SearchForm>o <moz:SearchForm>? Parece que no encuentro SearchFormen los documentos de OpenSearch y todos los demás recursos que encuentro en línea están utilizando <moz:SearchForm>.
Niels R.