Längst nicht mehr weiterentwickelt, ist die kostenfreie Sitemap-Komponente XMap noch immer in vielen Joomla-Installationen im Einsatz. Meist verrichtet XMap weiterhin einen zufriedenstellenden Job. Zu Problemen kann es kommen, wenn eine Webpräsenz mit Joomla auf sichere SSL-Verschlüsselung umstellt. In der generierten XML-Datei für Google und Co., werden die Adressen fälschlicherweise immer mit HTTP angeführt, wenn nicht die letzte Xmap-Version installiert ist. Das lässt sich aber auch ohne Neuinstallation ändern.
Kostenlose Sitemap-Komponente für Joomla anpassen!
XMap war eine der am meist verbreiteten Erweiterungen für eine Sitemap in Joomla der Versionen 1, 2.5 und 3.x. Mit der Komponente ist es möglich, Sitemaps für Suchmaschinen zu generieren, welche automatisch immer aktuell gehalten werden. Neben mehreren Sitemaps können auch diverse Plugins für die Unterstützung weiterer Komponenten genutzt werden und eine HTML-Ausgabe für die Joomla-Frontpage gibt es auch. Nach der Installation und Konfiguration werden einfach nur die in Xmap angezeigten Links zu den Sitemaps für Inhalte, News und Bilder z.B. in der Google Search Console eingetragen. Danach muss man sich um nichts mehr kümmern.
Der Entwickler Guillermo Vargas stellte die Extension bereits seit dem Jahre 2007 völlig kostenfrei zur Verfügung. In all den Jahren wurde die Extension kaum verändert. Leider wurde die Entwicklung Anfang 2015 komplett eingestellt und es gibt auch keine Downloadseite und kein Forum zur Unterstützung mehr.
An anderer Stelle wurde die Entwicklung dann unter dem Namen mapX fortgeführt und inzwischen ebenfalls eingestellt. Darauf folgte OSMap, was ebenfalls auf XMap basiert. Kostenfrei ist OSMap leider nur noch in abgespeckter Form erhältlich. Für die Pro-Varianten muss jährlich bezahlt werden. Trotzdem ist OSMap sicher noch eine gute Möglichkeit ab Joomla 3.x.
Es ist also kein großes Wunder, wenn Xmap noch immer bei zahlreichen Joomla-Anwendern seinen Dienst tut. Sicher gab es schon immer einige Bugs. In den meisten Fällen war dies aber kein Problem. Aufgrund der fehlenden Weiterentwicklung könnten sich bei manchen Maßnahmen wie eben der SSL-Verschlüsselung, Hürden auftun, sofern man nicht die letzte Version installiert hat. Eine offizielle Downloadseite für Xmap gibt es ja nicht mehr.
So wird die generierte XML-Datei immer mit der Bezeichnung HTTP gefüllt, auch wenn die Joomla-Site komplett SSL-verschlüsselt läuft. Das ist natürlich schlecht für die bei Suchmaschinen eingereichten Sitemaps. Die HTML-Ausgabe für die Joomla-Frontpage dagegen wird korrekt angezeigt. Hier wird nun die Lösung bei Version 2.3.2 unter Joomla 2.5 gezeigt.
Wer also kein aktuelles Joomla verwendet oder auch unter einem aktuellen Joomla 3.x eine gute und kostenfreie Sitemap betreiben will, kann Xmap beim Anbieter herunterladen. Dort steht die letzte und sehr gut funktionierende, nur nicht mehr weiterentwickelte Version 2.3.4 von 2014 natürlich kostenfrei zum Download bereit. Diese Version behebt bereits den beschriebenen Fehler bei SSL-Verschlüsselung. Mit nachfolgender Lösung kann man sich die Installation der letzten Version aber auch ersparen.
Es geht also darum, die Ausgabe der Links für die XML-Datei anzupassen, welche dann bei der Suchmaschine eingereicht wird. Dazu loggt man sich z.B. via FTP auf dem Server bzw. Webspace ein und navigiert an folgende Stelle:
/components/com_xmap/views/xml/tmpl
Dort wird dann mit einem Editor die Datei "default_class.php" geöffnet. Ab Zeile 85 sind folgende Einträge zu finden:
//Get the item's URL
$link = JRoute::_($node->link, true, @$node->secure==0? -1: $node->secure);
Jetzt könnte man einfach die -1 entfernen und schon wäre das Problem gelöst. Das Fragezeichen kann dann natürlich auch weg. Eleganter wurde es in der letzten Version 2.3.4 umgesetzt. Dort sieht die Zeile jetzt so aus:
$link = JRoute::_($node->link, true, @$node->secure == 0 ? (JFactory::getURI()->isSSL() ? 1 : -1) : $node->secure);
Wer also nicht die letzte Version von Xmap installiert hat, lädt sie hier herunter oder ändert entsprechend selbst den Code. In beiden Fällen werden die Adressen dann korrekt wiedergegeben.
Natürlich würde man diese Änderungen als Override durchführen, um vor unbeabsichtigten Änderungen bei einem Update der Komponente sicher zu sein. Da es keine Updates mehr für Xmap gibt, kann man sich das hier aber sparen. Trotzdem ist das Thema sehr spannend und kann in dem Tutorial "Joomla Template Override" gut nachvollzogen werden.