Wordpress Suche verbessern
31. Januar 2010Wer sich mit der integrierten Suche des Blogsystems Wordpress beschäftigt merkt schnell: Opimierung tut Not. Es fängt bereits damit an, dass die Suchergebnisse immer chronologisch sortiert werden und nicht nach Relevanz angezeigt werden können. Auch die darüber hinaus werden die Suchergebnisse eher unpraktisch aufbereitet. Mit einigen wenigen Handgriffen und der Installation einiger Plugins läßt sich dies aber weitestgehend ändern.
Verbesserungen am Template
Ausgab der Suchbegriffe und der Anzahl der Suchtreffer in den Suchergebnissen
Zunächst ist es eine gute Idee den User noch einmal daran “zu erinnern” nach was er eigentlich gesucht hat. Ich mache das am liebsten direkt oben im Titel des Template für die Suchergebnisse (search.php). Dabei lässt sich auch prima die Anzahl der Suchtreffer ausgeben:
<h2>Es gibt <?php echo $wp_query->found_posts; ?> Suchergebnisse für "<?php the_search_query() ?>"</h2>
Mit dem search_query kann man auch schön nochmal ein bereits vorgefülltes Suchfeld anbieten:
<form id="bigsearchform" method="get" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
<input class="searchfield" type="text" value="<?php the_search_query(); ?>" name="s" id="q" />
<input class="submit" type="submit" value="Suchen" title="Suchen" />
</form>
Navigation der Suchtrefferseiten ändern
In vielen Templates wird bei der Navigation zwischen den Suchtrefferseiten leider der Text “Ältere Beiträge” bzw. “Neuere Beiträge” angezeigt. Mit diesem Code kann den Text verändern:
< ?php previous_posts_link('<< Seite') ?>
< ?php next_posts_link('Seite >>') ?>
Durchgängige Nummerierung der Suchtreffer
Wenn man die Suchtreffer durchgängig nummerieren möchte ist es am einfachsten dies über eine geordnete Liste zu erledigen. Dummerweise fängt Wordpress bei jeder Seite wieder an von vorne mit 1 zu zählen. Mit dem folgenden Code-Snippet läßt sich dies wunderbar anpassen.
<?php
if( isset($paged) && ( intval($paged) > 1 ) ) {
echo '<ol start="' . ( ($paged - 1) * $posts_per_page + 1 ) . '">';
} else {
echo '</ol><ol>';
} ?>
<?php while (have_posts()) : the_post(); ?>
<li class="search-result">
<h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
<!-- der Relevanssi Textauszug (s.u.) -->
<?php if (function_exists('relevanssi_the_excerpt')) { relevanssi_the_excerpt(); }; ?>
</li>
<?php endwhile; ?>
</ol>
Diese und einige andere Anregungen stammen aus dem Blog von Daniel Jäger.
Plugins
Search Suggest (Vorschläge für alternative Suchbegriffe)
Das Plugin Search Suggest von Joost de Valk ermöglicht es alternative Suchbegriffe vorzuschlagen. Dieses Feature kennt man unter anderem von Google und anderen Suchmaschinen. So lassen sich Tippfehler oder ähnliche Begriffe abfangen. Angezeigt wird in den Suchergebnissen dann “Meinten Sie vielleicht:” gefolgt von alternativen Suchbegriffen.
Die Vorschläge werden über die Yahoo-API generiert. Ebenfalls möglich wird so übrigens ähnliche Suchbegriffe in die Suchtreffer einzublenden!
Relevanssi (Verbesserung der Suchtreffer und der Relevanz)
Die Suchergebnisse der Wordpresssuche sind mit verlaub etwas dürftig. Verbessern lasseh Sie sich z.B. mit dem Plugin Relevanssi. Unter anderem lassen sich die Treffer so nach Relevanz ausgeben (mit Relevanzboost für Überschriften oder Tags) und die Suche auf bestimmte Kategorien oder Tags beschränken. Außerdem läßt sich zu jedem Treffer ein Textauszug anzeigen, in dem die Suchbegriffe hervorgehoben werden können.
Außerdem bietet das Plugin die Möglichkeit bestimmte “Blockwörter” aus dem Suchindex zu nehmen. Indexiert werden dabei auf Wunsch übrigens auch Kommentare und Pingbacks. Falls man möchte kann man durch den Index auch eine fuzzy-Logik-Suche aktivieren, wahlweise auch nur falls keine Treffer gefunden werden.
Als Schmakerl kann man sich auch ein Log der Suchanfragen an die Seite ausgeben lassen, um beispielsweise die eigenen Inhalte an die Besucher anzupassen.
Kau-Boy’s AutoCompleter
Das Plugin AutoCompleter von Bernhard Kau ermöglicht eine Live-Search wie man sie auch von Google kennt. Im Gegensatz zu anderen Plugins, die “nur” vergebene Tags oder Kategorien vorschlagen sucht Kau-Boy’s AutoCompleter im Hintergrund die Inhalte des Wordpress Blogs ab und bietet sofort reale Suchtreffer an!
Angezeigt wird auf Wunsch sogar ein kurzer Textauszug rund um den Suchtreffer. Auch wenn es sicherlich noch einige Verbesserungsmöglichkeiten gibt (z.B. ist es nicht umbedingt sinnvoll sofort den ersten Treffer zu selektieren) ist es ein spitzen Plugin. Außerdem sollte noch der tolle Einsatz des Autoren betont werden und dessen schnelle Support!
Popularity: 29% [?]









