Die Situation des SEF unter Joomla 2.5

Während das SEF unter Joomla 1.5.x noch etwas unausgereift war, weshalb es dort auch Sinn machte externe Komponenten wie z.B. sh404SEF einzusetzen, um das SEF korrekt nutzen zu können, sieht das unter J!2.5 schon anders aus. Das SEF von Joomla 2.5 ist nun erheblich besser, so dass Zusatzkomponenten nicht mehr in jedem Fall - speziell hierfür - notwendig sind. Ein großer Vorteil ist, dass das SEF auch für Komponenten unter J!2.5 sauber funktioniert, ohne dass man dafür spezielle SEF-Plugins benötigt.

Trotzdem sind ein paar Nachteile geblieben, weshalb mitunter der Einsatz von zusätzlichen SEF von Drittanbietern notwendig sind. Das kann z.B. folgende Situation oder Aufgabenstellung betreffen:

Wenn Sie ein Projekt von vorher J!1.5 migrieren auf J!2.5, haben Sie im alten Projekt sehr wahrscheinlich schon SEF betrieben. Das könnte z.B. über die Komponente Sh404SEF galaufen sein. Die hier noch generierten SEF-URi sind in den Suchmaschinen bekannt und sollten auch unter dem migrierten Projekt auffindbar sein.



Werden jetzt die SEF-URi im neuen Projekt anderes generiert, und meine Beobachtungen haben das so gezeigt, dann greifen die Suchmaschinen mit den alten Adressen ins Leere. Dieses Manko könnte man durch zwei Maßnahmen korrigieren:

 

  1. Man hat eine Entsprechungstrabelle wo alte SEF-URi gelisten sind mit ihren neuen Real-URi im neuen Projekt, so dass auf diese gemappt wird. Dazu bräuchte man eine Tabelle in die diese Informationen eingepflegt werden könnten.
  2. Man hätte bessere und vor allem umfangreichere Konfigurationsmöglichkeiten um das SEF unter Joomla fein abzustimmen. Mit den derzeit vier Optionen ist da kein Blumentopf zu gewinnen.

Joomla selbst bringt für die Variante unter a) schon eine Lösung mit. Im Menü unter dem Menüeintrag "Komponenten" finden wir eine Eintrag "Menuicon Umleitungen Umleitungen". Hier können Einträge erzeugt eingepflegt werden, die so nicht automatisch durch das J!-SEF erzeugt werden, also z.B. historische Adressen.

Alternativ unter J!2.5 SEF-Komponenten einzusetzen, gestaltet sich schwierig. Einige Anbieter von SEF-Komponenten entwickeln Ihre Komponenten für J!2.5 nicht weiter. Ein Grund mag sein, dass Joomla selbst ein Großteil deren früheren Jobs erledigt und damit diesen Komponenten etwas den Wind aus den Segeln nimmt. Allerding gibt es schon kostenpflichtige SEF-Komponenten für J!2.5, die meines Erachtens aber heftige Preise vorlegen - eine Praxis die unter Joomla 2.5. extrem zugenommen hat. Dazu gehört z.B. SEF Advance - Joomla SEF URLs mit immerhin 39€ pro Projekt/lifetime (reine Script-Logik-SEF-Engine, weshalb recht schnell) oder oben genanntes sh404SEF mit 39€ pro Jahr (selbstgenannte 80% Marktanteil, datenbankbasiert und damit auch historische Adressen abbildbar).

Weitere verfügbare 3rd-Party-SEF-Lösungen sind:

  • JoomSEF (von frei bis 49€ je nach Supportstufe pro J!-Projekt; schon mit vielen Extensions auch für Komponenten unter J!2.5 wie z.B. VirtueMart f. 10€ extra)
  • AceSEF (von frei bis 39€ je nach Umfang und Supportstufe)

Erwähnt werden sollte, dass es auch für das J!-Core-SEF Plugins gibt, die dem J!-SEF dort unter die Arme geifen, wo es Komponenten nicht korrekt umsetzt oder das mitgebrachte Komponten-Routing nicht sauber und unzureichend funktioniert. Eine Komponente, die auch unter J!2.5 wieder rumzickt, ist VirtueMart. Hier gibt es z.B. bis einschließlich Version 2.0.6 noch das Problem, dass bei eingeschaltetem SEF Produkt-Detailseiten nicht aufrufbar sind. Ein Plugin, welches speziell nur für VirtueMart das SEF umsetzt ist z.B. Virtuemart SEO/SEF Links Plugin PRO von YAGENDOO (Achtung noch nicht für J!2.5/VM2.x verfügbar!).

 

Welche Vorteile können Fremd-SEF-Komponenten haben

Da Joomla schon die Basis-Funktionen des SEF mitliefert, verlegen sich viele Komponenten auf Mehrwert-Funktionen und eine elegantere Bedienbarkeit. Hier eine kleine Auflistung, was diese Komponenten an Funktionsumfang liefern können:

  • weitere SEO-Funktionen wie das automatische Generieren von Meta-Tags (Seitenbeschreibung, Keywords)
  • Abfangen und Loggen von unerwünschten Zugriffen auf die Projektseiten (Hack-Versuche)
  • Erzeugung von Sitemaps
  • korrekte und intelligente 404-Fehler-Seitenbehandlung sowie deren Logging, z.B. zum Zweck der nachträglichen Pflege durch Zuordnung von Fehlerseiten zu möglichen Ersatzseiten.
  • Die Sicherung der Adresstabellen, z.B. um diese später wieder einspielen zu können. Hiermit können dann z.B. historische Adressen in Projekte eingepflegt werden ohne diese manuell eintragen zu müssen.
  • Dort wo das J!-SEF nur begrenzte Einstellmöglichkeiten hat um auf die Art und Weise Einfluss zu nehmen, wie eine SEF-Adresse aufgebaut werden soll, bieten diese weit mehr Feintuning-Optionen an - zum einen für die J!-Contentseiten aber i.d.R. auch für diverse Komponenten.
  • Diese Komponenten sind meist auch abwärtskompatibel zu früheren Versionen auch unter früheren J!-Generationen und bieten häufig auch eine Migration für die Portierung auf einen Versionssprung zw. den J!-Generationen an.
  • Suchmaschinen-Analyse-Tools wie z.B. für Google-Analytics
  • Statistische Auswertungs- und Marketingtools
  • 301 Weiterleitung von Non-SEO zu SEO-Links
  • Einfügen und Pflege von Canonical-Tags



 

Das Zusammenspiel von J!-SEF und Komponenten

Prinzipiell bringt Joomla die Funktionalität für das SEF mit. Dazu gibt es für die Script-Logik-Variante eine Class-Script router.php unter ~/includes/. Hier gibt es Methoden wie parse() und build() die die Adressauflösung und -SEF-Umsetzung vornehmen.

Wie oben schon genannt, biete J! auch eine datenbankbasierte Adress-Verwaltung an, worüber fest hinterlegte Umleitungen gepflegt werden können, entweder z.B. für Kurz-Adressen oder für in Suchmaschninen gelistete historische Adressen. Leider ist die Pflege über die Komponente "Umleitungen" nicht sonderlich komfortabel. Die Adressen muss man sich über die Zwischenablage z.B. aus den Seiten die im Browser angezeigt werden kopieren. Will man dann auch noch die Real-Adresse als Umleitungsadresse eintragen, dann muss man für das Projekt auch noch das SEF abschalten um überhaupt an diese Adressen heranzukommen. Fremdkomponenten sind gerade hier eleganter.

Zusätzlich sollte es für jede vernünftig programmierte Komponente ebenfalls eine router.php geben, die dafür verantwortlich ist, die komponentenspezifischen URi-Bestandteile zu parsen und SEF-adresskonform zu behandeln. Für VirtueMart finden wir diese beispielsweise unter ~/components/com_virtuemart/.

 

Wenn Ihnen dieser Beitrag geholfen und viel Zeit gespart hat, zeigen Sie sich erkenntlich: Über eine Klick auf Google+1 oder Rückmeldungen freue ich mich, zeigt es mir doch, dass sich die Mühe für die Beitragerstellung gelohnt hat. Schenken Sie auch den Produktwerbungen Ihre Beachtung.