Joomla
Eine einfache Methode, die Suchfunktion von Joomla zu verbessern | Eine einfache Methode, die Suchfunktion von Joomla zu verbessern |
| 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 vordefiniertNehmen 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.
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 WebmasterBesser 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
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 gefundenKommentare (5)
![]() Kommentar schreiben
|
Mfg Marko Master