Zum Inhalt springen
Der Guide für ein smartes Leben.
Web-Programmierung mit HTML und CSS

Suchfunktion in die eigene Site einbauen

Jede Website braucht eine Suchfunktion. Dem User eine gute Suche anzubieten, ist aber oft gar nicht so einfach. Unser Workshop hilft bei der Umsetzung und zeigt die verschiedenen Möglichkeiten auf.

Autor: Franz Neumeier • 15.3.2011 • ca. 5:05 Min

internet, webdesign, css, html, workshop, suchhilfe, suchfunktion, programmierung
internet, webdesign, css, html, workshop, suchhilfe, suchfunktion, programmierung
© Internet Magazin
Inhalt
  1. Suchfunktion in die eigene Site einbauen
  2. Feedburner

Wann braucht eine Website eine Suchfunktion? Eigentlich immer. Denn Suche wird zunehmend zu einem Ersatz oder zumindest eine intensiv genutzten Alternative zu klassischen Navigationselementen - insbesondere, wenn der User über die Navigation nicht sofort findet, wonach er sucht.Die Ausnahme: Wenn d...

Wann braucht eine Website eine Suchfunktion? Eigentlich immer. Denn Suche wird zunehmend zu einem Ersatz oder zumindest eine intensiv genutzten Alternative zu klassischen Navigationselementen - insbesondere, wenn der User über die Navigation nicht sofort findet, wonach er sucht.Die Ausnahme: Wenn die Wahrscheinlichkeit einer ergebnislosen Suchabfrage hoch ist, wirkt eine Suchfunktion kontraproduktiv. Das ist vor allem der Fall, wenn eine Website nicht viele Informationen enthält beziehungsweise das Thema der Site noch nicht einigermaßen umfassend abgedeckt ist. Das trifft naturgemäß vor allem auf ganz junge neue Websites zu.

CMS für Suche

Der Versuch, eine Website mit einer guten Suchfunktion auszustatten, endet häufig mit dem Einsatz eines Content-Management-Systems. Denn jedes CMS bringt von Haus aus eine Suchfunktion mit, die ohne weiteres Zutun des Webmasters automatisch funktioniert.Da alle Inhalte vom CMS verwaltet werden, kümmert sich das System insbesondere auch darum, dass jeder neue oder geänderte Content automatisch aktuell in den Suchindex gelangt. Die Suche ist damit immer topaktuell. Mit Plugins lässt sich die Suchfunktion in CMS noch verbessern oder beispielsweise auf PDF- oder Word-Dokumente ausweiten.Auf die Suchfunktion eines CMS zurückzugreifen, hat noch einen weiteren Vorteil: Sie funktioniert immer. Erweiterungs-Plugins können bei Updates schon mal ausfallen, aber die Basis-Suchfunktion bleibt erhalten.

Am unangenehmsten ist, wenn eine Website ein eigenes Such-Skript einsetzt, das aus irgendeinem Grund plötzlich nicht mehr funktioniert - sei es, weil es mit der zunehmenden Datenmenge einer Website nicht mehr zurechtkommt, die bei Shared Hosting limitierten Skript-Laufzeiten oder der Arbeitsspeicher nicht mehr ausreichen oder weil der Entwickler das Skript nicht mehr weiter pflegt. Insofern sollten Sie bei der Auswahl eines Such-Skripts große Vorsicht walten lassen und vorausschauend planen, damit Sie nicht in ein oder zwei Jahren das Thema Suche von vorne angehen müssen.

Google Site Search

internet, webdesign, css, html, workshop, suchhilfe, suchfunktion, programmierung
Die Qualität der Ergebnisse lässt sich bei Google Site Search vorab testen.
© Internet Magazin

Der geringste Aufwand entsteht beim Einsatz der Google-Suche für die eigene Website. Gleich zwei Varianten einer Suchfunktion für Websites hält Google hierfür bereit: die kostenlose benutzerdefinierte Suche und die kostenpflichtige Google Site Search. Letztere eignet sich eher für Unternehmen und kommerziell betriebene Websites. Für bis zu 1.000 indizierte Einzelseiten und 250.000 jährliche Suchanfragen liegt die Gebühr für Site Search bei 100 US-Dollar.Dafür erlaubt Site Search zahlreiche Anpassungen und eine beschleunigte Indizierung von Seiten - was sich allerdings nicht auf die allgemeine Google-Suche auswirkt, sondern lediglich auf die individuelle Suchfunktion auf der Website des Kunden.Tipp: Unter www.google.de/sitesearch/ kann man testen, wie Suchergebnisse von Site Search für die eigene Website aussehen würden. Man muss also nicht erst die Site Search einrichten und einbauen, um festzustellen, ob Google die eigene Website so gut und aktuell indiziert, dass die Suchfunktion speziell für die eigene Website auch wirklich sinnvoll funktioniert.

Benutzerdefinierte Suche

Googles benutzerdefinierte Suche ist dagegen kostenlos, lässt sich aber weniger anpassen und enthält Google-Anzeigen, selbige man als Webmaster über Google Adsense allerdings auch zum Geldverdienen mitnutzen kann. Anders als die Site Search, bei der die Suchergebnisse über eine XML-API von Google bezogen und individuell weiterverarbeitet werden können, bindet man die benutzerdefinierte Suche per iFrame in die eigene Website ein.Die Einrichtung einer neuen Suche ist einfach: Auf www.google.de/cse/manage/create gibt man der Suche einen Namen und definiert vor allem, welche Website durchsucht werden soll. Für unseren Zweck lautet die Definition: www.meinedomain.de/*Mit der benutzerdefinierten Suche lassen sich im Prinzip auch mehrere Websites gleichzeitig durchsuchen, was aber natürlich bei Suchfunktion nur für die eigene Website nicht sinnvoll ist.

internet, webdesign, css, html, workshop, suchhilfe, suchfunktion, programmierung
Die Google-Suche lässt sich nur begrenzt an die eigene Website anpassen.
© Internet Magazin

Im nächsten Schritt wählen Sie eines der sechs Standard-Designs für die Suchergebnis- Ausgabe aus, die sich farblich und mit Einschränkungen bei der Schriftart individualisieren lassen. An dieser Stelle können Sie Design und Suchergebnisse auch gleich live testen und gegebenenfalls so lange anpassen, bis es exakt zum Design Ihrer Website passt.Nach Fertigstellung der Suchmaschine nehmen Sie über den unscheinbaren Link Aussehen und Verhalten rechts oben die eigentlichen Anpassungen für Ihre Website vor: Hier wählen Sie nämlich Custom Search Element statt iFrame aus, um das Suchfeld unabhängig von den Suchergebnissen auf der Website zu platzieren - in der Regel soll das Suchfeld rechts oben stehen, während die Suchergebnisse im Content-Bereich aufgelistet sein sollen.Der Nachteil dabei ist, dass der Code- Schnipsel zum Anzeigen der Suchergebnisse auf jeder Seite integriert werden muss, auf der auch das Suchfeld zu sehen ist. Soll das Suchfeld also standardmäßig auf jeder Seite angezeigt werden, muss auch auf jeder Seite der eigentliche Content mit einem zusätzlichen DIV umschlossen werden, in dem das in der Suchfunktion integrierte JavaScript bei einer Suche dann der regulären Content der jeweiligen Seite mit den Suchergebnissen ersetzt:

<div id="cse" style="width:100%;"> ... regulärer Content ... </div>

Yahoo Boss

Boss steht für "Build your Own Search Service" (developer.yahoo.com/search/boss/ ). Und auch wenn Yahoo in Sachen Web-Suche längst mit Microsoft zusammenarbeitet, werden die Entwickler-Tools dort vorerst weiter gepflegt, darunter auch Boss. Über eine API gestattet Yahoo damit den Zugriff auf den Yahoo Suchindex und liefert Suchergebnisse wahlweise in den Formaten XML, JSON, HTML oder als rohen Text.Inwieweit Boss von Dauer sein wird, ist aber unklar. Zudem hat Yahoo angekündigt, demnächst Gebühren für den bislang kostenlosen Service zu verlangen oder zumindest - wie Google - Anzeigen in die Suchergebnisse einzubauen. So lange der Dienst kostenfrei oder gegebenenfalls bald mit Werbeeinblendungen läuft, ist die Qualität und Flexibilität allerdings durchaus beachtlich und einen Blick wert.

Basis-Skript für Boss

Anders als die Suchfunktionen von Google stellt Boss lediglich eine API und keine fertig anwendbare Applikation dar. Die Programmierung mit Boss ist daher Stoff für einen ausführlichen, eigenen Workshop. Wie Boss grundsätzlich funktioniert zeigt aber beispielsweise das PHP-Skript Yahoo Boss Search 1.0.1 (scripts.top4download.com/yahoo-boss-search/qmwmn.html ), das alle grundlegenden Funktionen schon beinhaltet und gut als Grundlage für eigene Weiterentwicklungen dienen kann. Um das Skript zu benutzen, muss man sich lediglich bei Yahoo einen kostenlosen Developer-Key holen (developer.yahoo.com/wsregapp/ ) und in den Quellcode des Skripts eintragen.Um bei diesem Skript die Suche auf Ihre eigene Domain zu beschränken, müssen Sie lediglich in der bossSearch.php nach der Zeile

public function searchQuery
($search_string) {

die folgende Code-Zeile ergänzen und meinedomain.de durch Ihre tatsächliche Domain ersetzen:

$search_string = ,site:meinedomain.
de ,.$search_string;

Beachten Sie das Leerzeichen nach meinedomain. de. Von da ausgehend können Sie mithilfe der Dokumentation zu Yahoo Boss (developer.yahoo.com/search/boss/boss_guide/ ) weiter experimentieren, die Grundsuchfunktion ist damit aber bereits gegeben und direkt einsetzbar.

Schnelle Indizierung

Das Kernproblem jedes externen Suchdienstes wie der Google Suche oder Yahoo Boss ist die Zeitverzögerung beim Indizieren des Contents. Ein Text steht zwar auf Ihrer Website bereits online, es kann aber Tage oder noch länger dauern, bis Google das merkt, die Seite indiziert und dann auch in den Suchergebnissen anzeigt. In der Regel sind die Suchergebnisse also nicht vollständig und vor allem die aktuellsten Beiträge fehlen.