Joomla URLs optimieren - IDs entfernen

Da ich meine URLs optimieren/verschönern wollte, habe ich nach einer Möglichkeit gesucht, um die ID von Beiträgen oder Kategorien in Joomla-Links zu entfernen.

Eine Anleitung habe ich hier gefunden, diese wollte ich nach meinen Bedürfnissen etwas angepasst. Somit soll eine einfache und leicht verständliche Anleitung erzeugt werden, zur Optimierung von URLs in Joomla.

Das große Hauptproblem bei der Sache ist, dass dies ein Hack von Joomla Core-Datein ist. Solche Modifizierungen sind prinzipiell tunlichst zu vermeiden, um sich seine Joomla-Installation nicht zu zerstören oder evtl. Sicherheitslücken zu integrieren.
Zuästzlich werden Änderungen an Core-Files bei einem Update/Upgrade von den original-Dateien überschrieben und sind somit verloren, bzw. müssen wiederholt werden.

Bevor etwas geändert wird, sollte ein Backup der Dateien oder auch der gesamten Installation erfolgen!

Um die IDs zu entfernen müssen zwei Dateien der Joomla-Installation manipuliert werden:

  • /administrator/components/com_content/config.xml
  • /components/com_content/router.php

 

In der config.xml fügen wir ein weiteres "Feld" ein, hier wird zwischen

COM_CONTENT_CONFIG_ARTICLE_SETTINGS_DESC

Und

field name="article_layout" type="componentlayout"


Dieses Feld eingefügt

<field name="sef_advanced_link" type="radio" default="0" label="SEF Advanced Mode" description="Remove ItemID from Content URL?"> <option value="0">JNO <option value="1">JYES
</field>

 

Die zweite Änderung wird an der router.php vollzogen, welche sich im Ordner /components/com_content/ befindet.

Hier wird die Zeile 226 ergänzt, der alte Code entspricht folgendem:

if ($count == 1) {

Dieser wird erweitert zu folgendem:

if ( $count == 1 && ! $advanced ) {

Nun finden wir im Joomla Backend in der Beitragsübersicht in den Optionen eine neue Einstellung "SEF Advanced Mode", wenn dieser aktiviert wird, dann werden die IDs im Frontend nicht mehr in den URLs erscheinen.