Habt ihr euch schon einmal Gedanken über die Suchfunktion eures WordPress-Blogs gemacht? Nicht? Solltet ihr aber, denn im Gegensatz zur Google Suche zeigt die WordPress-eigene Suche nicht nur etliche, eigentlich unrelevante Ergebnisse an, mit zunehmender Anzahl an Artikeln lahmt die Suche auch noch ordentlich. Die Google Suche hingegen liefert meiner Meinung nach wesentlich relevantere Suchergebnisse, das finden von Inhalten wird so meiner Meinung nach enorm erleichtert. Könnt ihr ja einmal selbst testen: Sucht einfach mal über die stink normale Google Suche nach einem Schlagwort und hängt an eure Suchanfrage ein „site:http://eureurl.de“ an. Solltet ihr nun der Meinung sein, dass ich Recht habe, so könnt ihr gerne weiterlesen, anderenfalls ist dieser Artikel nichts für euch.
Was also können wir machen, um den Besuchern eine möglichst effektive Suchfunktion abliefern zu können? Wir könnten uns zum Beispiel mit dem Plugin Relevanssi helfen, welches die WordPress-Suche enorm aufwerten kann – sofern man sich einige Zeit mit den Optionen beschäftigt. Aber auch dann langte es mir irgendwann nicht mehr und so kam mir der Gedanke an die Google Custom Search Engine, die benutzerdefinierte Google-Suche. Auch hier gibt es mit Google CSE und Google Custom Search Plugin zwei Plugins, welche uns die Arbeit abnehmen können.
Problem: Zum einen sind die Suchfelder nur bedingt anpassbar, zum anderen arbeiten die Plugins mit anderen Querys, heißt also: habt ihr schon ein paar Male auf Suchergebnisse verlinkt, so funktionieren diese Links auch nicht mehr. Wollt ihr irgendwann mal wieder auf die WordPress-Suche zurück wechseln, so funktionieren die Links ebenso nicht mehr. Also habe ich mich mal so durchgewühlt und habe die Google Custom Search wie folgt bei mir implementiert. Vorteil: Es muss nur die Suchergebnis-Seite abgeändert werden, das Suchformular zum Beispiel wird nicht angefasst.
Zuerst einmal müssen wir unsere benutzerdefinierte Suche erstellen: also gehen wir auf google.com/cse/ und legen dort eine neue Suchmaschine an:
Danach liefert uns Google auch schon direkt einen HTML-Code, welchen wir aber erst einmal ignorieren. Stattdessen wechseln wir in unsere Suchmaschine und wählen dort erst einmal den Punkt „Design“ aus und aktivieren hier den Punkt „Nur Ergebnisse“.
Nun klicken wir auf „Speichern und Code abrufen“ und schon bekommen wir den benötigten HTML-Code für unsere Suchergebnisse:
Diesen bauen wir nun in unsere search.php des WordPress-Themes ein – ist je nach Theme unterschiedlich, im Falle des Standardtheme schaut das wie folgt aus:
Hier empfiehlt es sich natürlich, ein paar Kenntnisse in HTML zu besitzen. Aber ihr bekommt das schon hin. Sobald ihr die Datei gespeichert und auf eurem Webspace geladen habt, ist das ganze auch schon fertig – zumindest fast. Denn derzeit bringt euer Suchformular noch keine Ergebnisse ans Tageslicht, da Google einfach einen falschen Parameter abfragt. Dieser ist bei WordPress standardmäßig „s“ – ihr könnt es aber testen, indem ihr einfach mal etwas in die Suche eingebt. Als URL solltet ihr dann so etwas wie http://www.eureurl.de/?s=suche erhalten – das nach dem ? ist der Parameter, welchen ihr euch merken solltet.
Nun also gehen wir wieder in die Einstellungen unserer benutzerdefinierten Suchmaschine und klicken dort auf „Code abrufen“. Dort finden wir oben rechts einen Button mit dem Titel „Suchergebnisdetails“ vor, welcher ein kleines Popup öffnen. Standardmäßig sollte sich hier ein „q“ befinden, dies ersetzen wir einfach durch unseren Suchparameter und speichern das ganze. Der Code wird automatisch aktualisiert, ihr müsst also nicht nochmal etwas in eurem Template ändern.
Nun könnt ihr eure Suche einmal testen – sollte funktionieren. Problem Nummer 2: Klickt man auf eines der Suchergebnisse, so wird dieses in einem neuen Fenster beziehungsweise Tab geöffnet. Hat Vor- und Nachteile, aber wer es deaktivieren möchte und die Suchergebnisse im gleichen Tab angezeigt bekommen möchte, der muss sich nochmal an seine search.php des Themes heranmachen und dort die Zeile „<gcse:searchresults-only></gcse:searchresults-only>“ durch die Zeile „<gcse:searchresults-only linktarget=“_self“></gcse:searchresults-only>“ ersetzen. Datei speichern, hochladen, klappt.
Im Grunde ist das so schon fertig – wer mag, der schaut sich noch etwas in den Einstellungen der Suchmaschine um und passt die Optik noch etwas an das eigene Theme an. Zwar bekommt ihr die Suchergebnisse so perfekt an die eigenen Wünsche angepasst, beziehungsweise habt nicht die Darstellungsvielfalt wie bei der WordPress-Suche, aber meiner Meinung nach macht die Genauigkeit der Google Suche einiges wett. Und immerhin sollen eure Besucher ja auch schnell und einfach den gesuchten Content finden, oder?
Das hat perfekt geklappt. Vielen dank für den Tipp.
Danke. hat geholfen. muss noch etwas an der Darstellung von und über den Suchergebnissen arbeiten. sieht in meinem Theme komisch aus.
Ich setze mittlerweile das Plugin https://wordpress.org/plugins/relevanssi/ ein. Vorteil: keine Werbung von Google, Statistikauswertung im Dashboard (heute & gestern, letzte 7 Tage, letzte 30 Tage) jeweils Suchanfrage und Ergebnisanzahl. Und über die Synonym-Funktion kann man sehr schön Anfragen ohne ‚direktes‘ Ergebnis abfangen.
Hab das jetzt alles so gemacht aber leider funktioniert das noch nicht perfekt. Wenn ich in die WordPress Suchleiste meines Templates etwas eingeben, dann geht er zwar auf die Seite mit der Google Suche aber zeigt keine Suchergebnisse an. Erst wenn ich in die jetzt gezeigte Leiste etwas eingeben, kommen die Ergebnisse. Was kann ich Ändern damit es funktioniert?
Vielen Dank,
Flo
Tipp: Schau mal nach, ob die beiden Suchfelder die gleiche ID und den gleichen Namen verwenden. Klingt danach, als wenn das Such-Input einen falschen Namen besitzt und demnach für die Google-Suche leer bleibt.