WordPress: Suchfunktion von Google einbauen

Die Suchfunktion von perun.net Und wieder mal reagiere ich auf eine Leser-Frage und diese bezieht sich auf die Suchfunktion hier auf perun.net.

WordPress bietet eine Suchfunktion. Sie erledigt ihre Arbeit die Ergebnisse sind OK … das war’s dann aber auch. Ich habe irgendwann aufgehört zu zählen, wie oft ich über die interne Suchfunktion hier auf perun.net etwas gesucht und es erst gefunden habe als ich den Umweg über Google genommen habe.

Daher habe ich vor ein paar Monaten, die benutzerdefinierte Suche von Google eingebaut. Immerhin hat WordPress.org selbst diesen Schritt vor ein paar Wochen gemacht. Somit befinde ich mich in guter Gesellschaft. 🙂

Der Einbau

Ich habe die Suchfunktion bzw. den Code direkt von AdSense übernommen, weil ich dort eh ein Account habe. Nach dem ich Einstellungen getätigt habe – welche URL wird durchsucht, Zeichensatz, Layout, auf welcher URL werden die Ergebnisse ausgegeben etc. – bekam ich am Ende zwei Code-Fragmente zur Ansicht.

Den ersten Code-Fragment:

<form action="https://www.perun.net/suche/" id="cse-search-box">
  <div>
    <input type="hidden" name="cx" value="dein-partner-code" />
    <input type="hidden" name="cof" value="FORID:10" />
    <input type="hidden" name="ie" value="UTF-8" />
    <input type="text" name="q" size="35" />
    <input type="submit" name="sa" value="Suche" />
  </div>
</form>
<script type="text/javascript" src="http://www.google.de/cse/brand?form=cse-search-box&amp;lang=de"></script>

… bindet man an der Stelle ein, wo das Suchformular bzw. der Suchschlitz erscheinen soll. Alternativ kannst du diesen Code auch in der Fußzeile (Footer) unterbringen und per absoluter Positionierung im Kopfbereich ausgeben lassen … aber das nur am Rande.

Anschließend erstellst du ein Seiten-Template. Wie man ein Page- bzw. Seiten-Template erstellt habe ich auf WordPress-Buch.de beschrieben. Diesem Template solltest du am besten die Sidebar wegnehmen, damit die Ausgabe der Suchergebnisse auch ordentlich Platz bekommt. In meisten Fällen reicht es wenn du die vorhandene page.php als suche.php abspeicherst und dort <?php get_sidebar(); ?> und den Loop entfernst.

Oder du nimmst eine leere php-Datei und fügst folgenden Code ein:

<?php

?>
<?php get_header(); ?>
    <div id="inhalt">
        <h2>Suchergebnisse</h2>

        <div id="cse-search-results"></div>
        <script type="text/javascript">
          var googleSearchIframeName = "cse-search-results";
          var googleSearchFormName = "cse-search-box";
          var googleSearchFrameWidth = 910;
          var googleSearchDomain = "www.google.de";
          var googleSearchPath = "/cse";
        </script>
        <script type="text/javascript" src="http://www.google.com/afsonline/show_afs_search.js"></script>
    </div><!-- /Ende des div-Blocks mit dem Inhalt -->
<?php get_footer(); ?>

und speicherst das ganze als suche.php ab. Anschließend erstellst du in WordPress eine leere Page, die lediglich eine Überschrift beinhaltet. Achte bitte darauf, dass die URL dieser Seite mit der URL übereinstimmt, die du Google als Container für die Ergebnisse mitgeteilt hast.

Anschließend spendierst du dieser leeren Seite noch das Template Suchen und veröffentlichst das ganze.

Das ist alles. Dein Blog verfügt nun über eine ausgewachsene Suchfunktion. Klar, ein paar Euro kommen durch die Einblendung der Anzeigen schon zu Stande. Aber alleine deswegen würde ich die Suchfunktion von Google nicht einbauen. Vorrangig sind die Argumente, dass Google halt viel bessere Ergebnisse liefert und das die allermeisten Leute mit der Suchfunktion vertraut sind.

Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienst­leistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.

Verwandte Beiträge:

37 Kommentare

  1. Klar, ein paar Euro kommen durch die Einblendung der Anzeigen schon zu Stande

    Ist das so? Ich habe die Google-Suche seit Beginn integriert und verdiene auch nicht unbedingt wenig mit Adsense, aber auf die Suchergebnisse meiner Custom-Search-Integrierung fallen nicht mal 1% der Einnahmen.

    Ist das bei Dir anders? Wenn ja, was ist der Trick. 😆

    1. Ne, gibt kein Trick. AdSense funktioniert höchst unterschiedlich auf einzelnen Websites. Bei manchen laufen Bildanzeigen recht gut, auf anderen Projekten gewinnst du damit nicht einmal einen Blumentopf.

  2. Ich persönlich bin keine große Freundin der Google-Suche in WordPress. Sie ist in meinen Augen ungenauer als die interne Suche. Zumal sie nicht selten Artikel anzeigt, die mit meiner Suchphrase überhaupt nichts zu tun haben.
    Ich hab sie schon mehr als einmal verflucht.

    1. @Ricarda,

      bei mir war das genau umgekehrt. Die interne suche lieferte nämlich in vielen Fällen gar keine Ergebnisse. Das ist imho schlechter als wenn Google in paar Ergebnisse zu viel auflistet. Speziell mit den Suchoperatoren (+Suchwort, -Suchwort, “exaktes Suchwort”) kann die interne Suche nichts anfangen.

  3. Also bei mir funktioniert die Google-Suche sehr sehr gut, um Welten besser als die integrierte Suche. Was für mich von Vorteil ist, ist das ich alle meine maritimen Seiten in einer “Suchmaske” habe – so bleibt der Suchenden immer auf meinen Seiten und bekommt auch das was er sucht.

    @Perun
    Ich dacht schon da gibt es einen Trick, da allgemein Adsense sehr gut läuft, aber auf die Suche nicht viel abfällt.

  4. Und nochmal ein bisschen abhängiger von Google 😉

    Ich nutze seit geraumer Zeit das Plugin Relevanssi und bin sehr zufrieden damit. Der Suchalgorithmus lässt sich (wenn gewünscht) anpassen und liefert sehr gute Ergebnisse.

    1. Hallo Patrick,

      Und nochmal ein bisschen abhängiger von Google 😉

      OK … du nutzt also kein Produkt von Google?

      Ich nutze seit geraumer Zeit das Plugin Relevanssi…

      und noch mal ein bisschen abhängiger von einem Plugin, welches auch noch die Seite verlangsamt und die Datenbank aufbläht. 🙂

  5. Hach, manchmal bin ich ein ganz Schlauer, Perun.

    Ich hab jetzt in meinem Adsense-Konto auch mal die Suchmaschine angelegt 😳

    Vielleicht funktioniert das dann auch mit den Einnahmen… 😆

  6. Prima! Danke für den Tipp! Nun habe ich aber eine Frage! Geht es das bei keinen Suchergebnissen wieder auf die “normale” search.php verwiesen wird?

  7. @Perun: sollst mich doch nicht zu ernst nehmen 🙂 Klar nutze ich auch Google Produkte. Relevanssi legt eigene Tabellen in der WordPress-Datenbank an, daraus sollte sich also kein Geschwindigkeitsverlust ergeben. Und da Relevanssi nur bei Suchaufrufen gestartet wird, sollte man hier auch keinen Geschwindigkeitsnachteil verzeichnen.

    Ich mag die benutzerdefinierte Google Suche aus dem Grund nicht, weil man dort auf die Inhalte angewiesen ist, die Google für richtig erachtet. Bei Relevanssi kann man auf sämtliche Daten von WordPress zurückgreifen (Datum, Exerpt, Custom Fields, Artikellogo, etc pp).

    Wie gesagt: ich bin sehr zufrieden mit Relevanssi 🙂

    1. @Patrick,

      sollst mich doch nicht zu ernst nehmen

      keine Sorge, noch bin ich in der Lage die Smileys richtig zu deuten. (-:

  8. Ich persönlich mag die Google-Suche bei Blogs nicht, weil sie die Ergebnisse nicht nach Datum sortiert. Eine nach der Relevanz der Treffer sortierte Ergebnisliste ist zwar auch nicht vollständig unbrauchbar, aber wenn ich in einem Blog suche und erstmal nur Treffer von anno dazumal erscheinen, dann höre ich schnell mit der Suche auf.

    1. @Nico,

      an sich eine gute Idee, aber bei Chrome – ich nehme daher an, bei allen Webkits – verschwindet dann das Branding von Google und afaik ist das gegen die Richtlinien.

  9. Ich hatte Anfangs auch die “Wordpress-Onboard”-Suche auf avameo.de, ehemals sltalk.de (von 2006 bis 2008). Mit zunehmender Artikelanzahl wurde es für mich selbst immer schwerer, ehemalige Artikel wieder zu finden, trotz Kategorisierung und Verschlagwortung. Dann hatte ich damals die Google-Suche in avameo.de integriert und auf erfolgreich-bloggen.de das Advanced-Search-PlugIn von Zirona. Schon bald war auch die Google-Suche auf avameo.de nicht mehr befriedigend, auch das Advanced-Plugin war nicht so der Hammer. Irgendwann stieß ich dann auch SOLR, ein Web-Frontend für die Lucene-Suchmaschine, die im Bauch eines Tomcat läuft. Als ich dann auch noch für die WordPress-Integration ein SOLR-Plugin (von Mattweber) fand, habe ich die Lucene integriert.

    Bisher konnte diese Lösung noch nichts toppen, da es sich bei Lucene um eine echte vollwertige Suchmaschine handelt, die Volltextindexierung wie Google umsetzt. Google kann WordPress-Content allerdings nur unstrukturiert indexieren, während man Lucene auch die WordPress-Struktur beibringen kann. Hier kann man z.B. Titel, Contentbody, Tags usw. gewichten. Die Fuzzy-Logic-Unschärfe-Algorithmen (Levensthein) setzen noch ein Sahnehäubchen oben drauf, ebenso ein Worte-Stemming, Synonyme usw. usf. Hinzu kommt ein Highlighting. Außerdem habe ich noch ein paar Anpassungen vorgenommen, die Suchergebnisse sind u.a. nach Kriterien filterbar, in etwa, ob die Suchergebnisse YouTube-Videos enthalten, ein PDF enthalten oder ob, wie in meinem speziellen Falle einen Teleporter-Link in das 3D-Internet existiert. Zudem habe ich noch meine Rewrite-Rules kombiniert, sodass es eigentlich keine “Not-Found”-Seiten bei mir gibt. Wenn jemand “fehlerhaft” verlinked oder einen beliebigen Link eingibt, z.B. http://www.avameo.de/eyphone erhält der User oder auch die Suchmaschine brauchbares “Material” über die Fuzzy-Suche der Lucene bzw. SOLR.

    Der Nachteil bei der ganzen Kiste ist allerdings der höhere Interationsaufwand, ohne Java-know-How kommt man da leider nicht hin. Ab einen gewissen Content-Volumen lohnt sich meiner Meinung allerdings dieser “Ferrari” !!! Ich betreibe das Tandem WordPress-Lucene/SOLR via Tomcat seit Juli 2009 und möchte es nicht mehr missen. Bei Gelegenheit werde ich es auch auf erfolgreich-bloggen.de einbauen.

  10. Ehrlicherweise bin ich mir gar nicht so sicher, ob der Einbau der Google-Suche so wirklich Sinn macht. Keine Frage: Googles Technologie ist für die normale Suche gut.

    In Blogs, in denen die Google-Suche genutzt wird, habe ich häufiger das Gefühl (Betonung auf Gefühl, genau weiss ich es natürlich auch nicht), dass bestimmte Seiten nicht angezeigt werden. Letztendlich nimmt Google ja auch nur die Ergebnisse aus dem normalen Index. Und wenn ein Artikel dort nicht aufgenommen ist, dann wird er in der internen Suche auch nicht auftauchen. (Und dies wird insbesondere für ganz neue Artikel gelten, einige Stunden/Tage braucht Google ja auch um den Artikel zu finden).

    Hat den schon jemand Erfahrungen mit Plugins wie “Search Everything” gemacht?

  11. Die standart WordPress Suche ist meiner Meinung nach auch eher bescheiden.. Wenn ich in einem größerem Blog einen bestimmten Artikel wiederfinden möchte, komme ich damit in der Regel nicht weiter. Über eine Google Site: Abfage inkl. relevanten Keywords finde ich hingegen schnell was sich suche, und das wie gewoht nach relevanz sortiert und nicht nach datum. Der Nachteil ist eben, das Google die entsprechende Seite auch indexiert haben muss. Alternativ könnte man mal mit entsprechenden Such Plugins experimentieren, welche die interne WordPress Suche verbessern sollen.

  12. Bei mir ist auch das Problem, dass der generierte iframe viel zu klein angezeigt wird und unten abgeschnitten wird, obwohl der umgebende Bereich viel größer ist.
    Zudem scheinen nicht viele Seiten indiziert zu sein, so dass das Ergebnis nur sehr sparsam ist.

    Daher habe ich in der Sidebar erstmal noch die WP-Eigene Suche drin gelassen.

  13. Ahh… wenn man die “Weitere Funktionen der erweiterten Suche” aufruft, bekommt man bei “Aussehen und Verhalten” angezeigt, dass die iframe-Technologie nicht mehr unterstützt wird, und man besser die “Custom Search Engine”-Box verwendet soll.

    Damit ändert sich der Code-Schnipsel für die Suchergebnisse erheblich, funktioniert dann aber richtig.

    Die Suchergebnisse sind nun auch ordentlich.

  14. DAS war dann wohl der Pingback… in dem Artikel hatte ich sowohl diesen Artikel hier als auch den “WP-Newsletter Nr. 20” erwähnt. Als Trackback-Adresse hatte ich beim Beitrag explizit die von diesem Beitrag eingetragen…

  15. Wo findet sich ein gutes Forum auf Deutsch oder Englisch wo man Support beim Einbau der Google CSE finden kann?

    So ganz trivial scheint mir der Einbau nicht. Oder meine technischen Kenntnisse sind zu bescheiden: Bisher konnte ich meinen Blog eigenständig ziemlich umbauen, aber bei CSE beisse ich mir die Zähne aus…

    Ich kann eine Trefferliste produzieren, sie erscheint aber nicht in der gewünschten Seite (Template mit Suchschlitz auf einer Seite und Resultatliste in anderer Seite).

    Irgendwelche Tipps, anyone?

  16. Okay, in der Zwischenzeit habe ich es auch geschafft. Weil ich so lange leiden musste, habe ich auf meinem Blog eine ausführliche Anleitung verfasst.

    Am meisten aktuellen und hilfreichen Support fand ich schlussendlich in einem Google-Forum.

  17. Vielen Dank für die wirklich gute Anleitung. Es hat zwar ein zwei Kniffe gebraucht, bis sie lief, aber jetzt funzt! 😉

    Danke dafür! 😉

    erfolgreiche Woche
    Matthias

  18. Wie baue ich die benutzerdefinierte Suche von Google in meinen Blog ein…

    Genauso wie Vladimir Simovic habe ich in den let­zten Woche öfter bei mir auf der Home­page alte Artikel gesucht und muss sagen, dass ich von den Ergeb­nis­sen der Suche in Word­Press richtig gehend ent­täuscht war. Nichts von dem was ich suchte habe i…

  19. Wie baue ich die benutzerdefinierte Suche von Google in meinen Blog ein…

    Genauso wie Vladimir Simovic habe ich in den let­zten Woche öfter bei mir auf der Home­page alte Artikel gesucht und muss sagen, dass ich von den Ergeb­nis­sen der Suche in Word­Press richtig gehend ent­täuscht war. Nichts von dem was ich suchte habe i…

  20. Hierzu eine kleine Frage: Wie sehr reagiert Google wenn man, wie zB hier auf der Seite, zusätzliche Styles auf ein Element (Senden-Button) anwendet? Immer wieder liest man doch davon, dass Eingriffe unerlaubt sind und durch Google abgestraft werden. Im schlimmsten Fall mit Ausschluss aus dem Adsense-Programm.

    Herzlichen Dank im voraus

    1. Hallo Franz,

      Hierzu eine kleine Frage: Wie sehr reagiert Google wenn man, wie zB hier auf der Seite, zusätzliche Styles auf ein Element (Senden-Button) anwendet?

      Warum sollte es Google stören, wenn man per CSS das Formular in den Header bündig ausrichtet?

      Immer wieder liest man doch davon, dass Eingriffe unerlaubt sind und durch Google abgestraft werden.

      Wo liest man das? Google hat es nicht gerne, wenn du die Funktionalität der Suche manipulierst oder z.B. das Logo entfernst … aber “Eingriff” hat etwas mit der Funktionalität zu tun. Und das man das Formular ausrichtet, hat nichts mit der eigentlichen Funktionalität der Suche zu tun.

  21. Hallo Vladimir,

    Gelesen habe ich dies eben im Zuge meiner Recherche über das Einbinden der Suche. Da ich auch selbst bei Google nicht wirklich fündig geworden bin, dachte ich mir einfach: Frag’ mal den Profi! Und da ist auch schon die Antwort die mir meine Zweifel genommen hat.

    Herzlichen Dank

    P.S.: Leider ist es ja in der heutigen Zeit nicht mehr so einfach einen Webseite zu betreiben und da ist es gut Menschen wie Dich zu haben!

  22. Danke für den Tip … ich steh nur auf dem Schlauch: woher bekomme ich nun nochmal den Code für diese Google benutzerdef. Suche?

  23. Hallo Vladimir!

    Kann es sein, das sich da an der Einbindung gravierend etwas geändert hat?

    Ich hab bei google selbst z. B. gelesen, das iframe nicht mehr unterstützt wird.

    Und mein Versuch, meinen Adsense-Code so einzubinden, wie Du es hier beschreibst, führt absolut nicht zum Erfolg!

    1. @Marcus,

      ich kann dir nicht sagen ob Google zwischenzeitlich etwas geändert hat. Wie man sieht funktioniert der alte Code auf dieser Website immer noch.

Kommentare sind geschlossen.