Startseite arrow Joomla arrow Eine einfache Methode, die Suchfunktion von Joomla zu verbessern
Eine einfache Methode, die Suchfunktion von Joomla zu verbessern
Artikel bookmarken:
Delicious
Technorati
Mister Wong
10.09.2007

Joomla bringt - wie sich das für ein CMS gehört - eine eingebaute Suchfunktion mit. Diese kann jedoch bei Suchbegriffen, die aus mehreren Wörtern bestehen, nicht überzeugen.

In diesem Fall sucht Joomla nämlich separat nach jedem Begriff einzeln und wirft alle Ergebnisse aus, die es dabei findet. Und das ist in 99% der Fälle nicht das erwünschte Ergebnis.

Es bedarf nur eines kleinen Eingriffs, um die Suchfunktion zu verbessern - allerdings geht das ein wenig auf Kosten der Wartbarkeit, denn es handelt sich dabei um einen Core-Hack, den man nach künftigen Updates erneut einspielen muss. Da es sich jedoch nur um eine kleine Veränderung handelt, ist das verschmerzbar.

Die Suchlogik ist falsch vordefiniert

Nehmen wir einmal an, wir hätten auf unserer Website einen Artikel, in dem die Begriffe "Joomla" und "SEO" vorkommen. Dieser Artikel befasst sich mit den Möglichkeiten, suchmaschinenoptimierte Seiten mit Joomla zu erstellen.

Darüber hinaus haben wir auf unserer Website noch etliche weitere Artikel, in denen lediglich der Name "Joomla" in verschiedenen Zusammenhängen auftaucht, da wir uns mit diesem System schon eine Weile beschäftigt haben.

Benutzt nun ein Besucher unsere Suchfunktion mit den Begriffen "Joomla SEO", so passiert folgendes: Joomla durchsucht in seiner Datenbank alle Content-Items auf das Vorkommen dieser beiden Begriffe - und zwar nicht in Kombination, sondern einzeln. (Für Mathematiker und Entwickler: Die Verknüpfung der beiden Suchbegriffe findet nicht mit einem logischen UND, sondern mit einem logischen ODER statt.) Das führt zu folgendem Ergebnis:

Neben dem Artikel, in dem es um "Joomla" UND "SEO" geht, werden auch alle anderen Artikel gefunden, die den Begriff "Joomla" beinhalten. Der eigentlich gesuchte Artikel kann dabei durchaus in der Masse irrelevanter Treffer untergehen.

Abhilfe einmal manuell durch den Benutzer ...

Die Such-Komponente von Joomla ermöglicht es zwar, durch das Setzen von Optionen ("Jedes Wort" / "Alle Wörter" / "Exakter Ausdruck") die Suchlogik zu verändern. Vorbelegt ist jedoch die Option "Jedes Wort", die wie oben beschrieben mit dem logischen ODER funktioniert. Und diese Vorbelegung ist wenig sinnvoll.

joomla-search-options Denn seien wir einmal ehrlich: Der durchschnittliche Besucher schreibt seine Suchbegriffe ins Feld und schickt die Anfrage sofort ab, ohne sich um irgendwelche Zusatzoptionen zu kümmern. Er erwartet einfach von vornherein ein ähnliches Verhalten wie bei Google, Yahoo oder anderen bekannten Suchmaschinen. (Die suchen mittels logischem UND.)

Abgesehen davon ist auf den meisten Sites die Suchfunktion mittels des standardmäßigen mod_search-Moduls von Joomla im Template eingebunden, und das bietet diese Optionsauswahl gar nicht, sondern sucht ebenfalls einfach mit logischem ODER. Leider liefert Joomla dem Anwender dann in der Regel viele irrelevante Suchergebnisse zurück, durch die man sich mehr oder weniger mühsam durchwühlen muss.

... und einmal (besser) durch den Webmaster

Besser ist es da, den Erwartungen seiner Besucher entgegenzukommen und selbst Hand anzulegen. Was in der Regel gewünscht ist, ist das Verhalten der Option "Alle Wörter", das entspricht dem logischen UND. Joomla kann durchaus mit dieser Methode suchen - man muss es ihm nur sagen.

Die verblüffend einfache Lösung besteht für Joomla 1.0.x darin, in drei Dateien eine kleine Änderung vorzunehmen und Joomla damit ein neues Default-Verhalten vorzuschreiben. Es handelt sich dabei um die Dateien

  • /components/com_search/search.html.php
  • /components/com_search/search.php
  • /modules/mod_search.php.

Welche Änderungen das im einzelnen sind, habe ich in dem Artikel Die Suchfunktion liefert zu viele bzw. unerwünschte Ergebnisse auf Troubleshooting Joomla beschrieben. Natürlich gilt: Vor dem Ändern Backups der betroffenen Dateien machen - und die Änderungen dokumentieren, damit man sie bei späteren Updates wieder nachziehen kann.

Übrigens: In den bisher erschienenen Versionen von Joomla 1.5 ist das Verhalten der Suchfunktion genauso wenig praxisgerecht wie in 1.0.x.

Update: Ich habe die modifizierten Dateien zusammengepackt und für die letzten drei Joomla-1.0.x-Versionen hier hinterlegt.

Verwandte Artikel:

Keine verwandten Artikel gefunden
Kommentare (6)Add Comment
Frage
geschrieben von Marko Master, 11.09.2007
Könntest du nicht einfach die Datein bereitstellen? Das wäre feinsmilies/smiley.gif Wie ich gelesen habe könnte einfach jeder Datein für das neue Joomla 1.5 einreichen, und somit könntest du die Änderung mit der Suche doch einreichen... Oder meinst du etwa nicht?

Mfg Marko Master
Yup.
geschrieben von Admin, 12.09.2007
Könntest du nicht einfach die Datein bereitstellen?

Mal schauen ... ist vielleicht eine Idee.

Wie ich gelesen habe könnte einfach jeder Datein für das neue Joomla 1.5 einreichen, und somit könntest du die Änderung mit der Suche doch einreichen...

Ich hatte vor Urzeiten diesen Vorschlag schon mal im Feature-Request-Tracker eingereicht, ich weiß gar nicht, ob das noch zu Zeiten von Mambo oder schon Joomla war. Hat irgendwie keinen interessiert.

Viele Grüße,
Klaus
...
geschrieben von Admin, 12.09.2007
Könntest du nicht einfach die Datein bereitstellen?

Ist soeben geschehen.
...
geschrieben von Holzturm, 13.09.2007
Danke für den Tip!. Umbedingt nochmal einsenden, das wäre absolut wünschenswert, dass diese Änderung in den Core übernommen wird!
Gesagt, getan
geschrieben von Admin, 09.02.2008
Ich hatte Andrew Eddie nochmal direkt darauf angesprochen, und siehe da ... in Joomla 1.5 ist das endlich entsprechend geändert worden. Dort braucht man nun keinen Core-Hack mehr, um eine vernünftige Suchfunktion zu haben.
DANKE !
geschrieben von Loco, 15.01.2009
Super, besten Dank! smilies/grin.gif

Kommentar schreiben
Dieser Inhalt wurde gesperrt. Sie können keine Kommentare abgeben.

busy
 
Artikel bookmarken:
Delicious
Technorati
Mister Wong

Kommentare

RocketTheme bald mit Wordpress-Themes
Ich kann ebenfalls RT-Templates empfehlen. Im Forum wurde mir immer se...

Joomlashack mit neuem Template-Club-Modell
Mit Artisteer kann man halt auch nicht alles machen.

Joomlashack mit neuem Template-Club-Modell
Seit Artisteer sind solche Clubs sicher nicht mehr so gefragt.

Joomlas Caching-System funktioniert nicht richtig
allerdings funzt der Cache bei mir sowieso nicht - werden für Umlaute...

Joomlashack mit neuem Template-Club-Modell
Gibts die Seite noch? Komm gerade nicht drauf. Gibts Alternativen? lg

RocketTheme bald mit Wordpress-Themes
Ist immer noch großartig. Ich bin selber recht aktiv im Forum dort. F...

Joomlashack mit neuem Template-Club-Modell
Modell. Meist ist man ja nur für ein paar Wochen/Monate Mitglied und ...

Die besten Joomla-Templates