Wie füge ich die Unterstützung für die Google Chrome Omnibox-Suche für Ihre Website hinzu?

150

Wenn ich einige URLs in die Google Chrome-Omnibox eingebe, wird die Meldung "Drücken Sie die Tabulatortaste, um in $ URL zu suchen" angezeigt. Zum Beispiel gibt es einige russische Websites habrahabr.ru oder yandex.ru. Wenn Sie die Tabulatortaste drücken, können Sie auf dieser Site und nicht in Ihrer Suchmaschine suchen. Wie mache ich meine Seite dafür? Vielleicht muss ich einen speziellen Code in meine Seiten schreiben?

Abzac
quelle
Wie kann ich Chrome mitteilen, dass meine Website Suchanfragen enthält?
Abzac

Antworten:

204

Chrome behandelt dies normalerweise über Benutzereinstellungen. (via chrome://settings/searchEngines)

Wenn Sie dies jedoch speziell für Ihre Benutzer implementieren möchten, müssen Sie Ihrer Site ein OSD (Open Search Description) hinzufügen.

Nutzung der OmniBox [TAB] -Funktion von Google Chrome für / auf persönlichen Websites?

Anschließend fügen Sie diese XML-Datei zum Stammverzeichnis Ihrer Site hinzu und verknüpfen sie in Ihrem <head>Tag mit:

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

Jetzt erhalten Besucher Ihrer Seite automatisch die Suchinformationen Ihrer Website in den internen Einstellungen von Chrome unter chrome://settings/searchEngines.

Beispiel für ein OpenSearchDescription-XML-Format

<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>

Der wichtige Teil ist der <url>Artikel. {searchTerms}wird durch das ersetzt, wonach der Benutzer in der Omnibar sucht.

Hier ist ein Link zu OpenSearch für weitere Informationen.

element119
quelle
9
Beachten Sie, dass Chrome im Gegensatz zu Firefox Ihre Open Search-Beschreibung nur erkennt, wenn Sie sie im Stammverzeichnis Ihrer Website ablegen .
Varepsilon
2
Gibt es eine Möglichkeit, diese "Omnibox-Suche" mit Firefox zum Laufen zu bringen?
JinSnow
Wie finde ich die URL, die direkt zum Abfragefeld auf der Zielwebsite führt? (in Google Übersetzer zum Beispiel)
JinSnow
2
Antwort für Google Übersetzer
Fügen
Das Hinzufügen von Suchmaschinen bei chrome://settings/searchEnginesspart Zeit! Vielen Dank!
Esdras Lopez
30

Implementierung der Omnibox-Unterstützung mit Suchvorschlägen

Die Antwort von @ element119 funktioniert perfekt, aber hier ist ein leicht optimierter Code zur Unterstützung von Suchvorschlägen sowie der Mozilla-Unterstützung.

Führen Sie die folgenden Schritte aus, um die Omni-Box-Unterstützung für Ihre Site zu implementieren.

  1. Speichern Sie den folgenden Code als 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. Laden Sie search.xml an der Wurzel Ihrer Website.

  2. Fügen Sie dem Tag Ihrer Site das folgende Meta- <head>Tag hinzu

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

Stellen Sie sicher, dass Sie die Domain-URLs durch Ihre Domain ersetzen.

Shan Eapen Koshy
quelle
1
Ist es <SearchForm>oder <moz:SearchForm>? Ich finde es anscheinend nicht SearchFormin den OpenSearch-Dokumenten und alle anderen Ressourcen, die ich online finde, werden verwendet <moz:SearchForm>.
Niels R.