Jede Menge Tipps & Tricks, um die WordPress-Suche zu verbessern

Die Standard-Suche von WordPress kann natürlich nicht mit den Suchergebnissen bei Google & Co mithalten. Mit ein paar Anpassungen im Code und den passenden Plugins kannst du deine WordPress-Suche aber leicht um etliche Funktionen erweitern. Hier findest du eine kleine Zusammenstellung praktischer Optionen.

1. Praktische Code-Schnipsel

1.1. Die Suchbegriffe im Suchergebnis anzeigen

WordPress Suche verbessern

Sehr hilfreich finde ich die Möglichkeit die Suchbegriffe auf der Ergebnis-Seite mit anzugeben. Dazu musst du deine search.php Datei einfach um folgenden Code-Schnipsel erweitern.

<p>F&uuml;r die Sucherbegriffe " <?php the_search_query() ?> " gibt es folgende Suchergenisse:</p>

Weiter Infos: WordPress-Codex: Function Reference/the search query

1.2. Den vorherigen Suchbegriff in Suchfeld anzeigen

WordPress Suche verbessern

Möchtest du, dass die jeweils letzte Suchanfrage im Suchfeld angezeigt wird, kannst du den value-Wert des Text-Inputfeldes in deinem Suchformular (in der searchform.php Datei) folgendermaßen anpassen.

<input type="text" value="<?php the_search_query(); ?>" name="s" id="s" />

Weiter Infos: WordPress-Codex: Function Reference/the search query

Falls dein Theme noch keine eigene searchform.php Datei hat, kannst du diese ganz einfach selbst anlegen, indem du in deinem Text-Editor eine PHP-Datei mit dem Namen searchform erstellst, und diesen Code einfügst.

<!-- start search form -->
<div class="search-form">
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/">
  <div>
    <input type="text" value="<?php the_search_query(); ?>" name="s" id="s" />
    <input type="submit" id="searchsubmit" value="Search" />
  </div>
</form>
</div>
<!-- end search form -->
1.3. Die Anzahl der Suchergebnisse anzeigen

WordPress Suche verbessern

Standardmäßig wird die Anzahl der gefundenen Suchbegriffe auf der Ergebniss-Seite von WordPress nicht mit angezeigt. Das kannst du ganz leicht ändern, indem du deine search.php Datei folgendermaßen anpasst.

Suche nach der Code-Zeile:

<h2>Search Results</h2>

und ersetzte die Zeile mit folgendem Code:

<h2><span><?php echo $wp_query->found_posts; ?> Suchergebnisse f&uuml;r</span><br/><?php the_search_query(); ?></h2>

Weiter Infos: »Suchergebnis erweitern« von Frank Bültge.

1.4. Einen Suchtext im Textfeld anzeigen

WordPress Suche verbessern

Möchtest du in deinem Suchfeld einen Text wie »Suchbegriff hier eingeben« oder »Suche…« anzeigen, musst du in deiner searchform.php Datei einfach nur den Value-Wert im input-Textfeld entsprechend anpassen (den im Punkt 1.2. beschriebenen Code kannst du dann natürlich nicht mehr nutzen).

<input type="text" value="Suche..." name="s" id="s" />

Damit dieser Standard-Suchtext bei Mausklick ins Suchfeld verschwindet und beim Weiterklicken auf eine Unterseite wieder auftaucht, musst du jetzt noch wie im folgenden Code-Beispiel onfocus und onblur in das input-Feld einfügen.

<input type="text" value="Suche..." onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" name="s" id="s" />

2. Nützliche Plugins für die Optimierung deiner WordPress-Suche

2.1. Search Everything

WordPress Suche verbessern

»Search Everything« ist eines der umfangreichsten Plugins, um deine WordPress-Suche zu erweitern. Du kannst die Suchergebnisse farbig highlighten, und genau bestimmen welche Bereiche deiner WordPress-Seite du in der Suche mit aufnehmen oder ausschließen möchtest.

2.2. Search Unleashed

WordPress Suche verbessern

Ähnlich wie das »Search Everything Plugin« kannst du bei »Search Unleashed« genau definieren, welche Bereiche von WordPress du in die Suche integrieren möchtest. Auch das Hervorheben der Suchbegriffe in den Ergebnissen ist im diesem Plugin möglich.

2.3. Relevanssi

WordPress Suche verbessern

Die Standard Suchergebnisse werden bei der WordPress-Suche nach dem Datum der Veröffentlichung sortiert. Das »Relevanssi-Plugin« sortiert die Ergebnisse stattdessen nach der Relevanz der Ergebnisse (je nach Anzahl der beinhalteten Suchbegriffe).

2.4. Search By Category

WordPress Suche verbessern

Das Plugin erlaubt den Blog-Besuchern die die Suche nur auf bestimmte Blog-Kategorien zu beschränken. Die Styles kannst du mit CSS an dein eigenes Design anpassen.

2.5. Seitenzahlen mit WP Page-Navi Plugin

WordPress Suche verbessern

Um bei mehreren Seiten von Suchergebnissen eine praktische Seiten-Navigation zu integrieren kannst du das WP Page-Navi Plugin verwenden. Dazu fügst du

<?php wp_pagenavi(); ?>

in deine search.php Datei ein, nachdem du das Plugin installiert und aktiviert hast.

3. Die benutzerdefinierte Google-Suchmaschine verwenden

WordPress Suche verbessern

Falls du mit den Ergebnissen der WordPress-Suche einfach nicht ganz zufrieden bist, kannst du als Alternative auch eine benutzerdefinierte Google-Suchmaschine auf deiner WordPress-Seite integrieren. Deine individuelle Google-Suche kannst du auf dieser Google-Webseite einrichten (dazu benötigst du ein Google-Konto).
Als Optionen kannst du festlegen, welche Webseiten deine Suchmaschine in die Suche integrieren soll. Erlaubst du Google-Ads in den Suchergebnissen anzuzeigen, ist die benutzerdefinierte Google-Suchmaschine kostenlos. Möchtest du wissen, wie eine benutzerdefinierte Google-Suchmaschine im Einsatz aussieht, schau doch mal auf unserem Blog Gertis PC Tipps vorbei.

Was hältst du von der WordPress-Suche? Kennst du weitere, hilfreiche Möglichkeiten die Such-Funktion von WordPress zu optimieren? Ich freue mich sehr über dein Feedback und deine Tipps!

26 Kommentare

  1. Einige Tipps finde ich klasse und werde ich bei mir gleich mal umsetzen. Guter Artikel und sehr hilfreich, danke.

    • @Martin: Vielen Dank für dein Feedback. Es freut mich sehr, dass du die Tipps hilfreich findest :-)

      Viele Grüße
      Ellen

  2. Zu 1.4.: Wenn man schon HTML 5 einsetzen möchte, kann man den Text auch mittels placeholder=”Suche…” anzeigen lassen. Dann ist auch kein JavaScript notwendig. Das Attribut wird momentan von WebKit-Browsern (Google Chrome und Safari) unterstützt.

    • @Francesco: Vielen Dank für deinen Kommentar und den Tipp zu HTML 5 :-)

      Ich denke, wenn man den Text als nicht unbedingt notwendig empfindet (z.B. wenn man zusätzlich noch ein Lupen-Image verwendet) kann man diese Methode auch schon nutzen.

      Viele Grüße
      Ellen

  3. Auch zu 1.4: Wenn man nicht html5 benutzt, wäre es dann nicht besser den Wert auch per Javascript zu setzen, damit Nutzer ohne Javascript nicht immer manuell das Feld leeren müssen?

    MfG

    • @5in4: Vielen Dank für dein Feedback :-)

      Mhhh, ich habe bisher eigentlich immer diese Methode verwendet. Es wäre aber sicher eine Möglichkeit, um das Suchfeld zu optimieren, falls jemand JavaScript deaktiviert hat. Zumindest solange der Suchtext nicht unbedingt notwendig ist.

      Viele Grüße
      Ellen

  4. Hallo Ellen,

    zu 1.2:
    Im Grunde brauchst du kein eigenes searchform.php-Template. Die Funktion get_search_form() gibt ein Suchformular zurück in dem alle deine beschriebenen Goodies schon enthalten sind (inkl. Translation), falls kein Template existiert.

    zu 1.3:
    Verwende doch einfach $wp_query->found_posts!

    Beste Grüße

    • @Konstantin: Vielen Dank für deinen Kommentar und deine hilfreichen Tipps :-)

      zu 1.2:
      Ja, da hast du Recht! Eine eigene searchform.php Datei braucht man eigentlich nur, wenn man noch eigene Anpassungen / Extras in das Suchformular einbauen möchte. Ansonsten kann man natürlich auch die von dir beschriebene get_search_form() Function nutzen.

      zu 1.3:
      Vielen herzlichen Dank für diesen Tipp! Klar, so geht das natürlich viel einfacher :-) Ich habe den Code-Schnipsel im Artikel gleich angepasst und auch noch einen schönen Artikel von Frank Bültge zum Nachlesen gefunden :-)

      Viele Grüße
      Ellen

  5. hi ellen,

    ich schau mit schon lange euren blog an und habe schon viel nützliches gefunden.

    und heute bin ich über diesen artikel gestolpert weil ich auch gerade eine webseite mit wordpress mache. ich wollte meine suche im header haben. aber leider funktioniert da anscheinend die funktion “einen suchtext im suchfeld anzeigen”. wenn ich das suchfeld z.b in die sidebar mache, dann gehts.
    nun meine frage. geht das denn generell im header nicht oder muss man da noch was spezielles in den code schreiben.

    so sieht der code aus meiner searchform.php aus

  6. Hallo Ellen, hast du vielleicht auch schon einmal ein Plug-In oder eine Adaption gefunden wie die Sortierung der Suchergebnisse für die Leser meiner Seite geändert werden kann? Ich habe nämlich folgendes Problem: Ich möchte die Suchergebnisse nicht chronologisch, sondern nach Titel sortiert angezeigt bekommen, nur habe ich dafür noch nichts gefunden und keine Ahnung wie ich das ändern kann :-( Wäre toll wenn du da eine Idee hättest, oder eine Seite kennst wo man was findet! Liebe Grüße Stefan

  7. Guter Beitrag, ich konnte einige Anregungen gut gebrauchen und hab sie schon eingebaut. Auch den Hinweis auf die Anzahl der Beiträge fand ich sehr informativ.
    Gruß
    elotse

  8. Hi Ellen,

    danke für die Tipps. Ich habe den Hinweis über die Anzahl der Suchergebnisse direkt umgesetzt.

    Weiter so!

  9. Ein kleiner Code-Schnipsel zum Thema, welcher 1.2 & 1.4 kombiniert, wobei die letzte Suche nur auf der Ergebnisseite angezeigt wird.

    <form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>"> 
      <?php if ( is_search() ) { ?> 
      <input id="s" name="s" value="<?php the_search_query() ?>" onfocus="if(this.value=='<?php the_search_query() ?>')this.value=''" onblur="if(this.value=='')this.value='<?php the_search_query() ?>'"> 
      <?php } else { ?> 
      <input id="s" name="s" value="Suche nach Artikel.." onfocus="if(this.value=='Suche nach Artikel..')this.value=''" onblur="if(this.value=='')this.value='Suche nach Artikel..'">               
      <?php } ?> 
      <input id="submit" type="image" src="<?php bloginfo('template_directory'); ?>/images/lupe.png" alt="Suchen">
    </form>
    
  10. Hallo Ellen,
    interessante Tipps. Danke.
    Beim Googeln bin ich auf der Suche eines bestimmten Anliegens auf deine Seite gekommen.
    Deine Tipps sind leider nicht mein Anliegen, doch vielleicht weißt du einen Rat.
    Wenn ich im Backend unter Artikel die Suche benutze und z.B. nach dem Wort Zeit suche, bekomme ich auch solche Treffer die das Wort Zeit enthalten wie z.B. Zeitalter.
    Gibt es in WP Backend eine Möglichkeit die Suche exakt auf das gesuchte Wort einzuschränken?
    Ausrufezeichen wie bei Google helfen da leider nicht.

    MfG
    Frank

  11. Super Danke! Die Suchergebnisse habe ich immer etwas bescheiden gefunden. Eine bessere Übersicht in Kombi mit Page Navi finde ich perfekt. Danke dir nochmals.

  12. Hallo Ellen,

    ich mache hier zwar ein ziemlich altes Thema wieder auf, habe aber eine Frage, welche sich auf die Suche bezieht:

    Kennst du eine Möglichkeit nach Usern, bzw. deren Attributen zu suchen?

    Konkret geht es darum, dass mit Hilfe von WP eine Datenbank aufgebaut werden soll, in die sich der User selbst – nach erfolgter Registrierung – mit verschiedenen Attributen eintragen kann. Die Attribute werden in benutzerdefinierten Feldern im User-Profil gespeichert (Quelle: http://bueltge.de/eigene-felder-im-user-profil-von-wordpress/1245/).

    Nun soll für registrierte Mitglieder im Front-End der Seite eine Übersichtsseite aller User ausgegeben werden, die auch durchsucht werden können soll.

    Bin für Links und Tipps zum Thema sehr dankbar, da ich (noch) nichts vernünftiges gefunden habe.

    Besten Dank und Gruß…

  13. Christoph 26. Januar 2014

    Search By Category funktioniert bei mir leider nicht. Das Plugin sucht auf der gesamten Webseite.

  14. Hallo Ellen,

    kannst du evtl. ein Theme empfehlen, dass hauptsächlich aus einer Suche besteht? Es soll keinen Blogcharakter haben. Der Besucher kommt auf die Webseite, gibt seine Stadt ein und bekommt eine Liste von Personen ausgespuckt. Ähnlich wie hier: pfandgeben.de

    Ich weiß noch nicht ganz, wie ich das mit WP umsetzen kann.

    VG
    Ali

  15. Hallo Ellen,

    Du scheinst ja eine richtige Expertin in Sachen “Suche” zu sein.Vielleicht kannst Du mir helfen…

    Ich bräuchte eine einfache Suchfunktion, die direkt in eine Unterseite eingebunden wird und auch nur diese durchsucht (z. B. nach einem Begriff aus einer Liste oder Tabelle), nicht jedoch die ganze Website. Die Besucher sollen durch die Suche also nicht auf eine anderer Unterseit, einen Blogartikel, etc. gelotst werden.

    Wäre Super, wenn Du mir einen Tipp geben könntest!

  16. Hallo,

    wieder mal Danke für die tollen Tipps.

    Ich habe auf einer Seite ein anderes Problem, ich habe eine Seite auf der Bestandteile der URL auch Artikel sind. Wenn ich nun nach so einem Artikel suche, werden im Prinzip alle anderen mit angezeigt.

    Ich würde deshlab gerne die URL aus der Suche ausschliessen. Ist das auch möglich?

  17. Hallo Ellen,

    Mit den Tipps kannman schon mal einiges anfangen. Danke dafür.

    Ich suche allerdings noch nach einer Lösung, damit meine Suchfunktion überhaupft erstmal gesehen und wahrgenommen wird ;-)

    Das Problem:
    Ich nutze das Twenty Thirteen Thme und möchte dort mein Lupensymbol gerne von Schwarz auf Weiß ändern, da meine Navigationsleiste in der sich das Lupensymbol befindet ebenfalls schwarz ist.

    Hast du da evtl. einenTipp oder Css Code dafür ?

  18. Hallo Ellen
    als Laie ohne jegliche “php”, etc. Kentnisse, suche ich ein “Such-Plugin” mit einfacher 1-Feld Suchabfrage. Jedoch möchte ich das Suchfeld und dessen Beschreibung in eine Seite bei meinem Text einbauen. Wichtig ist für mich die Gestaltungsmöglichkeit der Schrift, Grösse, Farbe, etc., evt. auch bei der Gestaltung der Resultate. Hast Du einen Tipp? Vielen Dank!

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *