tl;dr: in diesem Beitrag geht es um die interne WordPress-Suche die immer in jeder WordPress-Installation funktioniert, inkl. Erweiterung durch Plugins.
Die interne 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. Bei einer Suche werden einfach jene Beiträge oder Seiten aufgelistet, die dem Suchkriterium entsprechen.
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.
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.
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
einer Suchbox
einer Ergebnisliste
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 gar nicht will, dass diese eine Seite verlassen wird.
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.
https://domain.tld/?s=keyword
Die Trefferseite zeigt die Suchanfrage vorausgefüllt in der Suchbox und eine Trefferliste mit (soferne vorhanden) dem Beitragsbild.
Das Suchformular der WordPress internen Suche
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.
Es muß klar sein, dass es sich um eine Suchfunktion handelt.
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.
Die Suchboxen sind vielfältig aber auch alle gleich: Texteingabe und Icon sind die „normale” Ausführung.
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. Wie man die Trefferliste mit einer Elementor-Seite aufbaut kann man hier lesen.
Blogseiten zeigen maximal ... dieser Wert wird für die Anzahl der Treffer verwendet.The 7 ersetzt die Suchbox nach klick durch das Eingabefeld. Die Trefferliste zeigt Beitragsbilder auch bei Seiten - soferne vorhanden.Beim Theme Enfold war eine Trefferliste mit Vorschaubild enthalten.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 - WordPress interne Suche
Technisch gesehen ist die WordPress-Suche einfach aufgebaut. Sie erfolgt nach folgenden Kriterien:
Passt der Suchbegriff zu dem Titel eines Beitrag oder einer Seite?
Sind alle Worte des Suchbegriffes im Titel enthalten?
Sind einzelne Worte des Suchbegriffs im Titel enthalten?
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. Bei einer Suche wird diese Klasse wie folgt verwendet:
$query = new WP_Query( array( 's' => 'keyword' ) );
wobei das „s“ dafür steht, dass eine Suche nach einem Suchbegriff erfolgen soll. 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.post_title LIKE '%keyword%') AND wp_posts.post_type IN ('post', 'page') ORDER BY 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. Daher kann es sinnvoll sein, statt einer Volltextsuche einen Suchindex anzulegen.
Stellen wir uns vor wir suchen jemanden mit dem Namen keyword. Wir müssen von Haus zu Haus gehen und fragen - 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 kann immer nur von Anwendung zu Anwendung entschieden werden. Um in WordPress einen Suchindex zu verwenden muss man auf ein Plugin zurückgreifen. Relevanssi ist hier ein bewährtes Werkzeug.
Plugins zur Erweiterung der WordPress internen Suche
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.
Mit diesem Plugin kann man einzelne Seiten, Beiträge und andere 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.
Das Plugin hat als „Add Search to Menu“ begonnen und wurde nun zu einem umfassenden Suchplugin weiter entwickelt.
Dieses Freemium-Plugin bietet die Möglichkeit verschiedene Suchformulare zu verwenden, die unterschiedliche Funktionalitäten haben können.
Auch eine Ajax-Suche ist nun integriert, vielfältige Gestaltungsmöglichkeiten, Unterstützung von Multilingual-Plugins etc.
Die vielen Möglichkeiten jedes einzelne Formular zu konfigurieren bieten Chancen und Risken. Die kostenpflichtigen Versionen beginnen bei $20/Jahr für eine einzelne Site.
Relevanssi ersetzt die Standard-Suche durch eine bessere Suchemaschine mit einer Menge Features.
Dieses Plugin liegt in einer kostenlosen Version sowie in einen Premium-Version vor, die Kosten betragen ab etwa € 106,- pro Jahr inkl. Support, ohne Sitelimit.
Nach der Installation muss zuerst der Index erstellt werden. Danach legt man die Details fest wie die Suche abzulaufen hat. Dieses Plugin funktioniert out-of-the-box hervorragend.
Wer tiefer einsteigen will findet in den umfangreichen Einstellungsmöglichkeiten ein großes Betätigungsfeld. Das Plugin liegt in 7 Sprachen vor.
Dieses Plugin bietet eine Live-Suchen-Lösung für deine WordPress Seite.
Der Fokus liegt in der Präsentation der Suchergebnisse, die schon während des Tippens herausgefiltert und in einem Drop-Down-Fenster mit Bildvorschau präsentiert werden.
Die Pro-Version beginnt mit € 35,- im Jahr. Man kann die Standard-Suchbox des Themas ersetzen oder über Widgets und/oder Shortcodes die Suchmaske einbinden.
Das Plugin Search & Filter ermöglicht es die Suche auf Kategorien, Posttypes, Datum, Taxonomien oder eine Kombination einzuschränken.
Search & Filter liegt in einer freien und auch in einer Bezahlversion vor. Es benötigt ein wenig Verständnis für Shortcodes oder PHP.
Mit diesem Plugin kann man benutzerdefinierte Felder durchsuchen, auch Post Meta, Author, Post Types, Post Dates, Taxonomies, Tags, und Categories werden angeboten.
„Sell more with autocomplete Search feature“. Dieses Plugin stellt eine Suche über die Produkte in deinem WooCommerce Shop zur Verfügung.
Wer dieses Plugin installiert bekommt schon in der kostenfreien Version eine Shopsuche die für ein rasches Finden sorgt. Plugin installieren, Shortcode einbinden und fertig.
Ich möchte gern die Suchergebnisse strukturieren. D.h. ich hätte idealerweise gern eine Aufteilung zwischen Blog-Beiträgen und Seiten.
Hast du eine Idee, wie man das hinbekommen kann?
probier es mit 2 verschiedenen Loops auf der Ergebnisseite, das klappt mit Block-Themes genauso wie mit Elementor (Abfrage-Loop oder Loop-Grid): Wenn du beim Abfrage-Loop auf „individuell“ bei Abfragetyp wechselst kannst du den Post-Type auswählen. Bau das 2 x auf der Suchergebnisseite ein, einmal mit Post und einmal mit Beitrag. Genau geht das mit Elementor, du musst beim Loop-Grid bei der Abfrage die Quelle ändern. Viel Erfolg!
Wo kann ich bitte den Einleitungstext der Trefferseite ändern, statt:
„Es konnte nichts gefunden werden.
Entschuldigung, aber zu Ihren Suchbegriffen wurde nichts Passendes gefunden. Bitte versuchen Sie es mit anderen Begriffen nochmal.“
Z. B. in:
„Es wurde nichts Passendes gefunden.
Korrigieren Sie die Schreibweise, beschränken die Suche auf wichtige Begriffe oder versuchen andere Suchbegriffe.“
Was du suchst ist der Block Keine Ergebnisse. Hier kannst du den Text reinschreiben der erscheinen soll, falls die Suche keinen Treffer brachte. Mehr darüber im aktuellen Artikel über die Suche mit Blöcken.
Danke Martin. Den Block finde ich leider nicht. Der Pfad Dashboard > Design > Website-Editor > Templates > Suchergebnisse endet bei mir schon beim Design. Den Eintrag Website-Editor habe ich beim Theme „Sweet little sixteen“ nicht. Schade.
Gibt es einen anderen Weg dahin?
Du bist an die Limitierungen deines Themes gebunden. Das Beispiel ist mit dem aktuellen Theme Twenty Twentyfour. Wenn dein Theme kein Block-Theme hast du nicht die Möglichkeit, dass über das Full-Site.Editing zu lösen. Hier musst du das Template direkt bearbeiten, also in den Code eingreifen. Eventuell kannst du eine alternative Suche (Plugin) statt der default-Suche verwenden, um die gewünschte Funktion zu erreichen.
Die vorgestellten Plugins sind genau das, wonach ich gesucht habe, um die Suchfunktion auf meiner eigenen Website zu verbessern. Vielen Dank für die nützlichen Tipps! Ich freue mich darauf, noch mehr von euren WordPress-Experten-Tipps zu lesen.
Hi, super Artikel. Ich habe gerade nach einer Such-Funktion für diverse WordPress Projekte gesucht. Sehr schön erklärt und vor allem der Aspekt einer besseren Suche, als die Standard-Suche ist sehr hilfreich. Liebe Grüße
Ich finde es großartig, wie ausführlich dieser Beitrag die Funktionsweise der internen WordPress-Suche und verschiedene Plugins zur Verbesserung dieser Funktion erklärt. Es ist sehr hilfreich zu wissen, wie man die Suche auf seiner Website optimieren kann, um den Benutzern ein besseres Erlebnis zu bieten. Vielen Dank für diese informative Übersicht!
Danke für die Übersicht! Was mich bei der WooCommerce suche stört, ist, dass der Begriff immer in allen Worten gesucht wird, und das auch mittig. Suche ich beispielsweise nach „Ring“, so er scheint als Ergebnis auch „bRINGen“. Leider habe ich noch eine vernünftige Möglichkeit gefunden, das abzustellen.
Sie sehen gerade einen Platzhalterinhalt von Google Maps. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Sie sehen gerade einen Platzhalterinhalt von OpenStreetMap. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Sie sehen gerade einen Platzhalterinhalt von Facebook. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Sie sehen gerade einen Platzhalterinhalt von reCAPTCHA. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
13 Kommentare
Michael
Hi!
Schöner Artikel! Danke!
Ich möchte gern die Suchergebnisse strukturieren. D.h. ich hätte idealerweise gern eine Aufteilung zwischen Blog-Beiträgen und Seiten.
Hast du eine Idee, wie man das hinbekommen kann?
Vielen Dank und Grüße aus dem Ruhrgebiet!
Harry Martin
Hallo Michael,
probier es mit 2 verschiedenen Loops auf der Ergebnisseite, das klappt mit Block-Themes genauso wie mit Elementor (Abfrage-Loop oder Loop-Grid): Wenn du beim Abfrage-Loop auf „individuell“ bei Abfragetyp wechselst kannst du den Post-Type auswählen. Bau das 2 x auf der Suchergebnisseite ein, einmal mit Post und einmal mit Beitrag. Genau geht das mit Elementor, du musst beim Loop-Grid bei der Abfrage die Quelle ändern. Viel Erfolg!
Frank Spade
Wo kann ich bitte den Einleitungstext der Trefferseite ändern, statt:
„Es konnte nichts gefunden werden.
Entschuldigung, aber zu Ihren Suchbegriffen wurde nichts Passendes gefunden. Bitte versuchen Sie es mit anderen Begriffen nochmal.“
Z. B. in:
„Es wurde nichts Passendes gefunden.
Korrigieren Sie die Schreibweise, beschränken die Suche auf wichtige Begriffe oder versuchen andere Suchbegriffe.“
Harry Martin
Was du suchst ist der Block Keine Ergebnisse. Hier kannst du den Text reinschreiben der erscheinen soll, falls die Suche keinen Treffer brachte. Mehr darüber im aktuellen Artikel über die Suche mit Blöcken.
Frank Spade
Danke Martin. Den Block finde ich leider nicht. Der Pfad Dashboard > Design > Website-Editor > Templates > Suchergebnisse endet bei mir schon beim Design. Den Eintrag Website-Editor habe ich beim Theme „Sweet little sixteen“ nicht. Schade.
Gibt es einen anderen Weg dahin?
Harry Martin
Du bist an die Limitierungen deines Themes gebunden. Das Beispiel ist mit dem aktuellen Theme Twenty Twentyfour. Wenn dein Theme kein Block-Theme hast du nicht die Möglichkeit, dass über das Full-Site.Editing zu lösen. Hier musst du das Template direkt bearbeiten, also in den Code eingreifen. Eventuell kannst du eine alternative Suche (Plugin) statt der default-Suche verwenden, um die gewünschte Funktion zu erreichen.
Marcel Richter
Die vorgestellten Plugins sind genau das, wonach ich gesucht habe, um die Suchfunktion auf meiner eigenen Website zu verbessern. Vielen Dank für die nützlichen Tipps! Ich freue mich darauf, noch mehr von euren WordPress-Experten-Tipps zu lesen.
Beste Grüße,
Marcel
Bennet Arp
Hi, super Artikel. Ich habe gerade nach einer Such-Funktion für diverse WordPress Projekte gesucht. Sehr schön erklärt und vor allem der Aspekt einer besseren Suche, als die Standard-Suche ist sehr hilfreich. Liebe Grüße
Sabine K., beitragsblocker.de
Ich finde es großartig, wie ausführlich dieser Beitrag die Funktionsweise der internen WordPress-Suche und verschiedene Plugins zur Verbesserung dieser Funktion erklärt. Es ist sehr hilfreich zu wissen, wie man die Suche auf seiner Website optimieren kann, um den Benutzern ein besseres Erlebnis zu bieten. Vielen Dank für diese informative Übersicht!
LG, Sabine K. von beitragsblocker.de
Harry Martin
Danke für die Blümchem :-). Der Artikel ist ja schon etwas älter, hoffentlich schaffe ich es ihn wieder einmal zu aktualisieren.
Sandra
Danke für die Übersicht! Was mich bei der WooCommerce suche stört, ist, dass der Begriff immer in allen Worten gesucht wird, und das auch mittig. Suche ich beispielsweise nach „Ring“, so er scheint als Ergebnis auch „bRINGen“. Leider habe ich noch eine vernünftige Möglichkeit gefunden, das abzustellen.
Gerd Brünig
Danke für die tolle Übersicht – genau das habe ich gerade gesucht – und gefunden.
Harry Martin
Hinweis: Kommentare ohne Namen und gültiger E-Mail-Adresse werden nicht veröffentlicht.