Suche nur in der eigenen Website mittels google.
Bei kleineren Websites, in einer Größenordnung wie sie üblicherweise für die Projektarbeit erstellt werden, sollte eine Suche mittels Suchmaschine nicht nötig sein. Überspitzt formuliert, wenn bei der geringen Seitenanzahl eine Suchfunktion notwendig ist, hat man etwas falsch gemacht. Wenn jedoch viel Inhalt oder viele Seiten in einer Website sind, so kann es durchaus Sinn machen, eine Suche nur innerhalb der Website anzubieten.
Google bietet eine Möglichkeit an, eine Suchabfrage für nur innerhalb der eigenen Website zusammen zu stellen: http://www.google.com/cse/tools/create_onthefly, aber dies funktioniert nicht so recht.
Möchte man beim Erstellen Anpassungen vornehmen, benötigt man einen Google Account.
Quellen:
Benutzerdefinierte Suchmaschine: https://www.google.at/cse/
Entwickler-Dokumentation/Google Developers
Custom Search: https://developers.google.com/custom-search/
Custom Search | Getting Started | Introduction: https://developers.google.com/custom-search/docs/tutorial/introduction
Aber mit etwas Grundwissen in HTML kann man eine google-Suchabfrage händisch erstellen, ohne einen Google-Account haben oder anlegen zu müssen.
Die einfachste Variante ist, wenn man die Suchabfrage "simuliert", die entsteht, wenn man auf google die "Erweiterte Suche" verwendet: (https://www.google.at/advanced_search). Dort kann man unter "Website oder Domain" die (eigene) Website angeben, in der ausschließlich gesucht werden soll. Möchte man z.B. suchen, was auf der Website vom ORF über das Thema "Erderwärmung" steht, gibt man im Formularfeld "alle diese Wörter enthalten:" das Wort "erderwärmung" ein und ziemliche weit unten im Formularfeld "Website oder Domain" den Text "orf.at" (Name der Domain vom ORF) ein. Unterhalb der Formularfelder gibt es dann die Schaltfläche "Erweiterte Suche", die man zu Starten anklickt.
Auf der Erbebnisseite interessieren uns diesmal nicht die Treffer, denn dies ist ja nur ein Beispiel. Was wir benötigen, ist die URL die zuvor durch das Formular als Suchabfrage erstellt wurde. Diese sieht folgendermaßen aus (im Original ohne Zeilenumbrüche):
https://www.google.at/search?as_q=erderw%C3%A4rmung&as_epq=&as_oq=
&as_eq=&as_nlo=&as_nhi=&lr=&cr=&as_qdr=all&as_sitesearch=orf.at
&as_occt=any&safe=images&as_filetype=&as_rights=
Aufbau einer URL
Im "Query String" nach dem Trennzeichen "?" stehen mehrere Parameter-Werte-Paare. Für uns interessant ist vor allem der Parameter as_sitesearch
. Durch diesen werden nur Treffer geliefert, die auf der Website sind, deren Domaine mit der Angabe im Wert übereinstimmt, hier also orf.at
.
Wenn man alle nicht unbedingt notwendigen Parameter weglässt, bleiben nur wenige über, die man dann individuell an die eigenen Bedürfnisse anpassen kann.
Das Einbetten der Suche in die eigene Website kann z.B. so aussehen:
(Quelle: frühere Projektarbeit www.renaultclub.at ganz unten in der Mitte)
Der entsprechende Quellcode sieht dann so aus:
<div id="suche"> <form id="searchbox_demo" action="http://www.google.at/search"> <p> <input type="hidden" name="hl" value="de" /> <input type="hidden" name="num" value="10" /> <input type="hidden" name="as_sitesearch" value="www.renault-club.at" /> <input type="text" name="as_q" size="50" /> <input type="submit" value="Suche in C.A.R." /> </p> </form> </div>
Es ist ein Formular <form>
definiert, deren id- und action-Parameter unverändert bleiben müssen. Im Formular sind fünf Eingabefelder <input>
definiert. Das <div>
um das Formular mit der id namens "suche
" dient nur zum Formatieren mittels CSS.
Die einzelnen Eingabefelder haben folgende Aufgaben:
hl
(host language): Gibt die Sprache an, in der die Benutzeroberfläche von google ist, bei uns also Deutsch. Daher bekommt der Parameter den Wert "de
" (wird von Google so empfohlen). type="hidden"
), da es nicht vom Benutzer verändert werden können soll. num
(number of search results to return): Gibt an, wieviele Treffer der Ergebnisliste jeweils auf einer Seite gleichzeitig angezeigt werden sollen. Falls alle Treffer auf einer einzigen Seite angezeigt werden sollen - was bei einer Suche nur auf der eigenen Website durchaus Sinn macht - dann gibt man einen relativ hohen Wert an. Man kann aber auch einen niedrigeren Wert hier eingeben. type="hidden"
), da es nicht vom Benutzer verändert werden können soll. Falls doch, kann man den type
von hidden
auf text
ändern. Dann sollte man aber auch dieses Eingabefeld mittels CSS ansprechend formatieren.as_sitesearch
(advanced search sitesearch - entspricht dem Formularfeld "Website oder Domain" der Erweiterten Suche): Gibt an, in welcher Website/Domaine gesucht werden soll. Hier gibt man unter value
die Domain der eigenen Website ein.type="hidden"
), da es nicht vom Benutzer verändert werden können soll. as_q
(advanced search query - entspricht dem Formularfeld "alle diese Wörter enthalten:" der Erweiterten Suche): Dies ist das Eingabefeld, in das der/die BenutzerIn die gewünschten Suchbegriffe eingeben kann. type="text"
und nicht hidden
), da es selbstverständlich vom Benutzer verändert werden können soll.size
gibt an, wieviele Buchstaben das Eingabefeld breit sein soll (kann mit einer CSS-Regel überschrieben werden).. submit
(submit - entspricht der Schaltfläche "Erweiterte Suche"): Dies ist die Schaltfläche, mit der die Suche gestartet wird. In value
kann der Text angegeben werden, der in der Schaltfläche aufscheinen soll: Also z.B. mit den Worten "Suche" und den Hinweis, dass die Suche nur auf dieser Website erfolgt. Der "offizielle" Weg, den google vorgibt ist nachfolgend beschrieben. Er hat aber zuletzt so nicht wirklich funktionert
"Erstellen Sie aus dem Stand eine benutzerdefinierte Suchmaschine" (http://www.google.com/cse/tools/create_onthefly):
Anleitung: Den HTML-Code in der linken Box kopieren und an der
gewünschten Stelle auf der eigenen Website einfügen - jedoch in
der Code-Ansicht, da es sich um HTML-Code handelt.
In der letzten Zeile des Codes "www.google.com/cse/tools/onthefly" durch
die Adresse der eigenen Website ersetzen, z.B. "www.xy.at"
Um weitere Anpassungen zu machen (Angebot auf der rechten Seite "Wollen
Sie weitere Anpassungen vornehmen?" muss man ein Google-Konto erstellen.
Wie kommt man hin:
www.google.at
> Unternehmensangebote (unterhalb
des Suchfeldes)
> Google-Suchfeld
auf Ihrer Website (mittlere Spalte)
> unter "Benutzerdefinierte Suche für Ihre Website oder Ihren Blog" den
vierten Punkt "Automatische Suche in Links, Lesezeichen oder Blogrolls
mit der schnellen
benutzerdefinierten Suche