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!

Ellen

Hi, ich bin Ellen - WordPress-Theme-Entwicklerin und Bloggerin bei Elmastudio. Ich liebe das Internet, Reisen, Vegan-Thaifood, Neuseeland und jede Menge Kaffee grünen Tee.

Kommentare (19) Schreibe einen Kommentar

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

      Viele Grüße
      Ellen

      Antworten

  1. 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.

    Antworten

    • @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

      Antworten

  2. 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

    Antworten

    • @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

      Antworten

  3. 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

    Antworten

    • @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

      Antworten

  4. 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

    Antworten

  5. 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

    Antworten

  6. 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

    Antworten

  7. Pingback: Usability im EXlog: die interne Suche | EXlog

  8. 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>
    

    Antworten

  9. 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

    Antworten

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

    Antworten

  11. 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ß…

    Antworten

Hinterlasse eine Antwort

Pflichtfelder sind mit * markiert.