Tipps zur WordPress Suche

Die Suchfunktion in vor allem größeren Blogs ist eigentlich unverzichtbar, hilft sie dem Besucher doch schnell an sein Ziel zu kommen. Vorausgesetzt, dass die Suche gut konfiguriert ist und die Ergebnisseite übersichtlich ist. Dazu möchte ich euch hier ein paar Tipps geben.

Update vom 19. September 2016: Vor Kurzem habe ich zwei neue Artikel zum Thema WordPress-Suche geschrieben: Bessere Suche und „Related Posts“-Anzeige in WordPress mit ElasticPress und ElasticPress: Nur Suchergebnisse anzeigen, die alle Begriffe der Suchanfrage enthalten. Relevanssi setze ich damit nicht mehr ein, und die Anpassung des Excerpts ist schon lange nicht mehr im Einsatz.

Sortierung

Standardmäßig werden die Ergebnisse nach dem Datum der Veröffentlichung sortiert, was natürlich nicht immer im Sinn des Suchenden ist. Praktischer wäre, wenn die Suche nach Relevanz sortiert würde, was mit Hilfe des Plugins Relevanssi schnell umgesetzt ist.

Relevanssi

Nach der Installation können die Einstellungen wie gewohnt unter "Einstellungen>Relevanssi" verändert werden. Größtenteils sind die Einstellungen selbst erklärend. Beispielsweise lässt sich hier einstellen, wie das Plugin den Titel, Kommentartexte, Kategorien und Tags gewichten soll. Auch die Darstellung der Suchergebnisse lässt sich hier ein wenig steuern, wie die Hervorhebung der Suchbegriffe oder die Länge des Auszugs. Diese Einstellungen habe ich direkt in der functions.php getätigt, dazu gleich mehr.
Nun ist die Sortierung der Suchergebnisse schon recht zufriedenstellend, weiter geht's mit der Darstellung.

Darstellung der Suchergebnisse

Hier gibt es zwei Möglichkeiten: Entweder man nutzt die Funktion the_content(), um den Inhalt bis zum <!--more--> Tag anzuzeigen, oder — meine hier favorisierte Vorgehensweise — man setzt den Tag the_excerpt() ein, um eine bestimmte Anzahl Wörter anzuzeigen.

the_excerpt erweitern

Für die umfangreiche Erweiterung habe ich in dem Blog "Boutros AbiChedid" ein schönes Beispiel gefunden, welches ich für mich nur ein wenig anpassen musste (Erläuterung unten):

/****************************************************************************** * @Author: Boutros AbiChedid * @Date: June 20, 2011 * @Websites: http://bacsoftwareconsulting.com/ ; http://blueoliveonline.com/ * @Description: Preserves HTML formating to the automatically generated Excerpt. * Also Code modifies the default excerpt_length and excerpt_more filters. * @Tested: Up to WordPress version 3.1.3 *******************************************************************************/ function custom_wp_trim_excerpt($text) { $raw_excerpt = $text; if ( '' == $text ) { //Retrieve the post content. $text = get_the_content(''); //Delete all shortcode tags from the content. $text = strip_shortcodes( $text ); $text = apply_filters('the_content', $text); $text = str_replace(']]>', ']]>', $text); $allowed_tags = '<img>, <a>, <strong>'; /*** MODIFY THIS. Add the allowed HTML tags separated by a comma.***/ $text = strip_tags($text, $allowed_tags); $excerpt_word_count = 30; /*** MODIFY THIS. change the excerpt word count to any integer you like.***/ $excerpt_length = apply_filters('excerpt_length', $excerpt_word_count); $excerpt_end = '[...] <a href="'. get_permalink($post->ID) . '">' . 'Weiterlesen ...' . '</a>'; /*** MODIFY THIS. change the excerpt endind to something else.***/ $excerpt_more = apply_filters('excerpt_more', ' ' . $excerpt_end); $words = preg_split("/[nrt ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY); if ( count($words) > $excerpt_length ) { array_pop($words); $text = implode(' ', $words); $text = $text . $excerpt_more; } else { $text = implode(' ', $words); } } return apply_filters('wp_trim_excerpt', $text, $raw_excerpt); } remove_filter('get_the_excerpt', 'wp_trim_excerpt'); add_filter('get_the_excerpt', 'custom_wp_trim_excerpt');
Code-Sprache: PHP (php)

Durch die letzten Zwei Zeilen wird die WordPress Funktion für die Anzeige der Auszüge durch die in der functions.php ersetzt. Folgende Änderungen werden an der Anzeige vorgenommen:

  • Z.21: Die Tags a, img, und strong werden nicht mehr gelöscht (hier können natürlich noch weitere hinzugefügt werden)
  • Z.24: Die Wortanzahl wird von dem Standard 55 auf 30 gesetzt.
  • Z.27: An das Ende des Auszugs wird "[...]" sowie ein Weiterlesen-Link angehängt.

Ergebnis

So wie unten auf dem Screenshot gezeigt, sieht das Ergebnis einer Suche nach "WordPress" aus.

Darstellung der Suchergebnisse
Darstellung der Suchergebnisse

1 Reaktion zu »Tipps zur WordPress Suche«

  1. Hi Florian,
    vielen Dank für die Plugin-Empfehlung Relevanssi. Habe ich eben installiert und funktioniert super. Ich hätte zwar gern auf ein weiteres Plugin verzichtet, aber vorher war unsere Suche unbrauchbar.
    Viele Grüße aus Asien,
    Francis

Schreibe einen Kommentar

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