WordPress interne Suche

WordPress interne Suche

tl;dr
in diesem Beitrag geht es um die interne WordPress-Suche die immer in jeder WordPress-Installation funktioniert, inkl. Erweiterung durch Plugins.

Die Suche

[…] Die WordPress-Suche ist eine tief im System eingebundene Funktion. Im Wesentlichen erfolgt eine Auflistung von Beiträgen und Seiten. Wenn WordPress als Blog verwendet wird erfolgt oft eine Auflistung der zB. 10 aktuellsten Blogposts auf der Startseite. Eine Kategorieselektion ist nicht viel anders, nur dass eben eine bestimmte Anzahl von Posts die einer bestimmten Kategorie zugeordnet wurden angezeigt werden. Bei einer Suche werden einfach jene Beiträge oder Seiten aufgelistet, die dem Suchkriterium entsprechen.

https://domain.tld/?s=keyword

Der Suchbegriff wird mittels String in der Adresszeile an WordPress übergeben, also eine sog. HTTP-GET Abfrage. Das bedeutet, der User fragt den Server https://domain.tld nach dem Begriff, der nach dem Trennzeichen ? eingegeben wird. In unserem Fall s=keyword. s  ist der Name der Variablen und keyword ist eben der zu suchende Begriff.

Dies funktioniert unabhängig davon, ob die Webseite eine Suchfenster enthält oder nicht. Im Normalfall gibt der Besucher natürlich nicht den Suchbegriff in der Adresszeile ein sondern verwendet eine Suchbox, also ein kleines Formular das im Regelfall nur aus einer Texteingabemöglichkeit besteht und oft mittels Zeilenschaltung, also nicht einmal einen “Absenden” oder “Suchen”-Knopf ausgelöst wird.

In Hintergrund geschieht aber nichts anderes, als dass der eingegebene Suchbegriff an WordPress übergeben wird wie über die Adresszeile auch. Der User erhält im Regelfall eine Liste mit gefundenen Einträgen. Eine Suche besteht also aus

  1. einer Suchbox
  2. einer Ergebnisliste
  3. und etwas Magischem zwischen den beiden Dingen

Benötigt nun jede Seite eine interne Suche? Nein, es gibt durchaus Fälle, wo eine Suche nicht gewünscht wird. ZB. sind Onepage-Designs Anwendungen wo der Designer (aus welchem Grund auch immer) gar nicht will, dass diese eine Seite verlassen wird. Oft kommen solche Designs bei Micropages oder Landingpages zum Einsatz und sollen entweder in einer Conversion münden oder zum vom Anbieter eigentlich bevorzugten Ziel weiterleiten.

Wenn man keine Suche will muss man diese aktiv verhindern! Nur keine Suchmaske anzubieten ist zu wenig. Das Plugin Disable Search erledigt diese kleine Aufgabe zuverlässig.

Einzelne Seiten, Beiträge, Beitragsarten etc. lassen sich durch den Einsatz von Ivory Search oder Search Exclude von der Suche ausnehmen.

WordPress interne Suche
Die Trefferseite zeigt die Suchanfrage vorausgefüllt in der Suchbox und eine Trefferliste mit (soferne vorhanden) das Beitragsbild.

Das Suchformular

Auf der Seite von Yoast findet man zum Thema Suchformular unter anderem:

  • Es sollte gut sichtbar sein. Wenn Du willst, dass deine Besucher die Suchfunktion verwenden verstecke diese nicht im Fußbereich der Seite. Diese im Sidebar oder dem Titelbereich unterzubringen ist die bessere Option.
  • Es muß klar sein, dass es sich um eine Suchfunktion handelt. Das ist sehr wichtig. Nur ein Input-Feld ohne Titel, Abschick-Button oder Wasserzeichen welches die Suchfunktion erklärt wird nicht ausreichen.

Die Benutzung der Suchfunktion ist der zweite Versuch die besuchte Webseite zu benutzen. Die User wollen nicht suchen, sie wollen eigentlich auf der Seite landen wo sie die Information finden zu der sie unterwegs sind. Deshalb muss eine Suche auch einfach, eindeutig und klar sein – und funktionieren.

WordPress Searchboxes
Die Suchboxen sind vielfältig aber auch alle gleich: Texteingabe und Icon sind die „normale” Ausführung.

Beispiele für unterschiedliche Benutzerführung bei Suchen

Die Trefferliste

Für die Ergebnisseite empfiehlt der oben zitierte Artikel von Yoast:

  • Der Suchbegriff sollte auf der Suchergebnisseite hervorgehoben sein.
  • Die Ergebnisseite sollte einen Textausschnitt mit dem Suchbegriff enthalten
  • Die Suchergebnisse sollten nach Relevanz gereiht sein
  • Suchseiten werden nicht von Google indiziert.
Meist gibt das Theme das Erscheinungsbild der Trefferliste vor. Wenn in dessen Settings keine Option für die “Anzahl der Treffer pro Seite” zu finden sind muss man nicht verzweifeln: für WordPress ist eine Trefferliste wie eine Archiv-Seite von Beiträgen. Wer also die Anzahl der gefundenen Beiträge und Seiten einstellen will muss im Dashboard in den Einstellungen die Anzahl der maximal gezeigten Blogseiten ändern.
Einstellungen: Beiträge pro Seite
„Blogseiten zeigen maximal" hat auch Auswirkung auf die Anzahl der gezeigten Treffer für eine Suche. (Im Beispiel hier 5).
The 7 ersetzt die Suchbox nach klick durch das Eingabefeld. Die Trefferliste zeigt Beitragsbilder auch bei Seiten - soferne vorhanden.
The 7 ersetzt die Suchbox nach Klick durch das Eingabefeld. Die Trefferliste zeigt Beitragsbilder auch bei Seiten - soferne vorhanden.
Enfold zeigt schon während der Sucheingabe Treffer an (in diesem Beispiel Produkte aus einem WooCommerce Shop).
Trefferliste mit Produkten und Seiten
Dieser Trefferliste wurde so programmiert, dass eine Suche zuerst über die Custom Fields "Produkte" geführt wird und dann über die Seiten und Beiträge. Der Suchbegriff wird bei den Beiträgen im Abstract durch Farbhinterlegung hervorgehoben.

Das Magische dazwischen

Technisch gesehen ist die WordPress-Suche einfach aufgebaut. Sie erfolgt nach folgenden Kriterien:

  1. Passt der Suchbegriff  zu dem Titel eines Beitrag oder einer Seite?
  2. Sind alle Worte des Suchbegriffes im Titel enthalten?
  3. Sind einzelne Worte des Suchbegriffs im Titel enthalten?
  4. Passt der Suchbegriff zum Inhalt eines Beitrages oder einer Seite?

Man sieht also, dass man sein besonderes Augenmerk auf den Titel lenken sollte. Auch aus SEO-Sicht ist das ein wesentliches Merkmal für einen gelungenen Webauftritt.

Technischer Hintergrund der Suche

Wenn WordPress Beiträge auflistet nutzt es eine Klasse die „WP Query” heisst. Diese wird auf sehr unterschiedliche Weise eingesetzt, im einfachsten Fall um zB. die neuesten 10 Beiträge zu zeigen, die Beiträge einer bestimmten Kategorie zu zeigen oder ähnliches. Bei einer Suche wird diese Klasse wir folgt verwendet:

$query = new WP_Query( array( 's' => 'keyword' ) );

wobei das „s” dafür steht, dass eine Suche nach einem Suchbegriff erfolgen soll und „keyword” eben der Suchbegriff ist, der in der Suchmaske eingegeben wurde.  Eine fertige SQL-Anfrage an die Datenbank kann dann zB. so aussehen:

SELECT SQL_CALC_FOUND_ROWS  wp_posts.ID FROM wp_posts  WHERE 1=1  AND wp_posts.ID NOT IN (51) AND (((wp_posts.post_title LIKE '%keyword%') OR (wp_posts.post_excerpt LIKE '%keyword%') OR (wp_posts.post_content LIKE '%keyword%')))  AND wp_posts.post_type IN ('post', 'page', 'attachment') AND (wp_posts.post_status = 'publish' OR wp_posts.post_author = 1 AND wp_posts.post_status = 'private')  ORDER BY wp_posts.post_title LIKE '%keyword%' DESC, wp_posts.post_date DESC LIMIT 0, 10
Die gute Nachricht ist wie immer bei WordPress: man muß das nicht verstehen um die Funktion nutzen oder auch in einem Theme einbauen zu können.
Man kann anhand dieses Suchstrings schon ganz gut verstehen, dass eine Suche für den Webserver etwas Aufwand bedeutet - also Zeit kostet. Daher kann es vielleicht sinnvoll sein, statt einer Volltextsuche einen Suchindex anzulegen und nur diesen zu durchsuchen. Den Unterschied zwischen den beiden Möglichkeiten illustrieren folgende Grafiken:
Volltextsuche

Stellen wir uns vor wir suchen jemanden (oder alle) mit dem Namen keyword. Wir müssen von Haus zu Haus gehen und fragen, ob dort jemanden mit diesem Namen wohnt – eine klassische Volltextsuche.

Wenn wir ein Telefonbuch haben springen wir gleich zum Buchstaben K und werden die Familie keyword vermutlich schnell finden. Dieses Telefonbuch muss jedoch zuvor angelegt und regelmässig aktualisiert werden .

Ob wir einen Index benötigen und sich der Mehraufwand eines solchen Tools lohnt kann immer nur von Anwendung zu Anwendung entschieden werden. Wer wenige, lange Artikel hat wird vermutlich keinen Index benötigen, wer hingegen zB. eine Post-Type mit Produkten hat (mit mehreren hundert Produkten) kann mit einem Suchindex die UX (User Experience) deutlich verbessern und die Suche beschleunigen (und die Serverlast mindern). Um in WordPress einen Suchindex zu verwenden muss man auf ein Plugin zurückgreifen. Relevanssi ist hier ein bewährtes Werkzeug, es gibt aber auch andere.

Plugins zur Erweiterung der WordPress-Suche

Disable Search WordPress Plugin

Disable Search

Dieses Plugin verhindert, dass die im Theme normalerweise implementierten Suchfunktionen ausgeführt werden können.

Bei diesem Plugin gibt es keine weiteren Konfigurationsmöglichkeiten. Einfach installieren und aktivieren, um die interne Suche einer WordPress-Seite zu deaktivieren. 
Die Suche innerhalb des Dashboards ist davon ausgenommen, auch beeinflusst das Plugin in keiner Weise die Indizierung der Seite durch Suchmaschinen.

Serach Exclude

Search Exclude

Mit diesem Plugin kann man einzelne Seiten, Beiträge und ander Inhalte davon ausschliessen, bei einer Suche gefunden zu werden.

Wer nicht unbedingt die gesamte Suche verhindern will sondern nur einzelne Beiträge oder Seiten bei einer Suche verstecken will kann das Plugin Search Exclude verwenden. Durch einfaches Anklicken einer Checkbox kann man sehr einfach das Auffinden über die Suchfunktion verhindern.

Ivory Search

Das Plugin hat als "Add Search to Menu" begonnen und wurde nun zu einem umfassenden Suchplugin weiter entwickelt. Mit diesem Plugin kann man mehrere Suchformulare mit unterschiedlicher Funktionalität anlegen.

Dieses Freemium-Plugin bietet die Möglichkiet verschiedene Suchformulare zu verwenden, die unterschiedliche Funktionalitäten haben können. So lassen sich zB. Suchen auf WooCommerce, nur Blogbeiträge, nur Medienanhänge (kostenpflichtig) etc. einschränken. 

Auch eine Ajax-Suche ist nun integriert, vielfältige Gestaltungsmöglichkeiten, Unterstützung von Multilingual-Plugins etc. Die „alte” Funktion das Suchform im Menü zu platzieren gibt es natürlich auch noch. Auch eine Möglichkeit die Suche für die gesamte Site auszuschalten wurde inplementiert.

Die vielen Möglichkeiten jedes einzelne Formular zu konfigurieren bieten Chancen und Risken, eine gründliche Einarbeitung in dieses Plugin ist vor der Verwendung empfohlen. 
Die kostenpflichtigen Versionen beginnen bei $20/Jahr für eine einzelne Site, genaues studieren lohnt sich (das Geschäftsmodell wirkt im Augenblick ein wenig ambitioniert…)

Relevanssi

Relevanssi

Relevanssi ersetzt die Standard-Suche durch eine bessere Suchemaschine mit einer Menge Features und einer großen Anzahl an konfigurierbaren Optionen. Du bekommst bessere Ergebnisse und eine bessere Präsentation der Ergebnisse.

Damit wirbt der Autor dieses bewährten Plugins für seine Search-Engine. Dieses Plugin liegt in einer kostenlosen Version sowie in einen Premium-Version vor, die Kosten dafür betragen (Stand Juni 2019) ab etwa € 106,- pro Jahr inkl. Support, ohne Sitelimit.

Nach der gewohnten Installation und Aktivierung des Tools muss zuerst der Index erstellt werden. Das geht auf Knopfdruck und dauert natürlich je nach Größe der Seite unterschiedlich lange. Danach legt man die Details fest wie den die Suche abzulaufen hat – ob eine UND oder einer ODER-Verknüpfung erfolgen soll, in welcher Reihung die Ergebnisse präsentiert werden sollen, ob bestimmte Kategorien ausgespart werden sollen und so weiter. Im letzten Schritt kann man noch Details für die Ergebnisseite festlegen. Das wars auch schon – wer mag ist fertig, dieses Plugin funktioniert out-of-the-box hervorragend.

Wer aber tiefer einsteigen will findet in den umfangreichen Einstellungsmöglichkeiten ein großes Betätigungsfeld. Logfunktion um die Suchen der User zu verstehen gehören ebenso zum Umfang wie ein Verzeichnis von Synonymen, das man anlegen kann. Schon in der freien Version bietet das Plugin WPML-Support, der Premium-Variante sind Multisite-Support sowie die Indizierung von PDF-Attachemenst vorbehalten.  Wer seine Seite mit benutzerdefinierten Felden und Post-Types ausgestattet hat kann hier wunderbar bestimmen was gefunden werden soll und was besser nicht. Das Plugin liegt in 7 Sprachen vor.

Ajax Search Lite

Dieses Plugin bietet die beste Live-Suchen-Lösung die deine WordPress Seite haben kann.

Der Fokus dieser Lösung liegt in der Präsentation der Suchergebnisse, die schon während des Tippens herausgefiltert und unter der Suchmaske in einem Drop-Down-Fenster mit Bildvorschau präsentiert werden. Diese Lösung bedarf natürlich eines ordentlichen technischen Hintergrundes, aber diesen sollte man ohnehin haben. Sprich: Server und Leitungsgeschwindigkeit müssen passen.

Auch dieses Plugin bietet alle nur erdenklichen Konfigurationsmöglichkeiten. Die Erstellung eines Index, Statistiken und mehrere Instanzen sind der Pro-Version vorbehalten, die mit € 35,- im Jahr beginnt. Optisch kann man einiges Einstellen, die Integration in die eigene Seite sollte kein Problem sein. Man kann die Standard-Suchbox des Themas ersetzen oder aber über Widgets und/oder Shortcodes die Suchmaske einbinden.

Wenn es also die Suche selbst schon eine Erfahrung sein soll kann dieses Tool die richtige Wahl sein.

Search & Filter

Search & Filter

Das Plugin Search & Filter ist eine Erweiterung der WordPress Searchbox. Es ermöglicht es die Suche auf Kategorien, Posttypes, Datum, Taxonomien oder eine Kombination aus diesen Kriterien einzuschränken und so ein genaueres Suchergebnis zu erzielen.

Search & Filter liegt in einer freien und auch in einer Bezahlversion vor. Es benötigt ein wenig Verständnis für die Anwendung von Shortcodes oder  PHP. Die Handhabung ist aber dennoch denkbar einfach, die Optionen klar.

Mit diesem Plugin kann man benutzerdefinierte Felder durchsuchen, auch die Felder Post Meta, Author, Post Types, Post Dates, Taxonomies, Tags, und Categories werden angeboten. Die Suche verwendet Ajax zur Ergebnisanzeige. Das Plugin unterstützt WooCommerce, Advanced Custom Fields und WPML. 

Die häufigste Anwendung wird wohl die Einschränkung der Suchoptionen nach Kategorie sein, um besonders bei großen Blogs bessere Treffer zu erzielen.

 

Plugins die in diesem Referat verwendet oder demonstriert wurden:

  • Disable Search – um die Suche auszuschalten
  • Search Exclude  – um einzelne Elemente von der Suche auszuschliessen
  • Add Search To Menuergänzt die Menüleiste um eine konfigurierbare Suchbox Update: das Plugin heisst jetzt Ivory Search und bietet einen stark erweiterten Funktionsumfang
  • Relevanssi – ersetzt die interne Suche und erstellt einen Index
  • Ajax Search Lite – bietet eine live-Suche mittels Ajax-Technik und verändert die Benutzeroberfläche
  • Search & Filter – erweitert die Suchbox um Optionen wie zB Kategorieauswahl

Datum der Veröffentlichung: 14. Juni 2018
Letztes Update: 8.August 2019

Share on facebook
Facebook
Share on twitter
Twitter
Share on whatsapp
WhatsApp
Share on linkedin
LinkedIn
Share on email
Email

Noch kein Kommentar, Füge deine Stimme unten hinzu!


Kommentar hinzufügen

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.