Bei vielen Tipps zur Suchmaschinenoptimierung für Joomla! findet sich immer wieder der Punkt, dass lesbare URLs ohne index.php im Pfad sinnvoll wären. Google kommt schon mit URLs wie www.meine-url.de/index.php/wichtiger-inhalt zurecht. Nur schön ist das bei weitem nicht und zudem völlig unnötig.
Alles was du dafür brauchst, ist eine Unterstützung von Mod Rewrite auf Seiten deines Servers/Webspaces. Das sollte im Jahr 2024 bei 99 % aller Hosting-Anbieter Standard sein; bei Fragen dazu bitte an den Hoster wenden.
Und du brauchst einen FTP-Zugang, da im 2. Schritt die .htaccess-Datei erstellt bzw. bearbeitet werden muss.
1. Suchmaschinenfreundliche URLs aktivieren
Im Backend unter System » Konfiguration » Suchmaschinenoptimierung (SEO) die beiden Punkte Suchmaschinen-freundliche URL und URL-Rewrite nutzen aktivieren und diese Anpassungen speichern.
2. Die .htaccess-Datei bearbeiten
Verbinde dich nun mit deinem FTP-Programm (z.B. Filezilla oder WinSCP) mit deinem Server. Klick dich zu deinem Joomla! root-Verzeichnis (beispielsweise unter /httpdocs) durch und benenne die htaccess.txt in .htaccess um.
Damit wird die .htaccess umgehend auf deinem Webspace „scharf geschalten“ und alle darin befindlichen Anweisungen beginnen zu greifen.
Alle notwendigen Redirects (Weiterleitungen) sind hier standardmäßig bereits hinterlegt. Du solltest nun auf deiner Webseite testen ob alles funktioniert und dich durchs Menü klicken.
Ist das index.php aus deinen Unterseiten in der Adressleiste verschwunden, war es das vermutlich schon.
Google nach deiner Seite und teste bitte noch folgendes
Ein einfacher Weg alle durch Google indexierten eigenen Unterseiten zu ermitteln ist, eine site-Abfrage durchzuführen. Rufe dazu google.de auf und gib in das Suchfeld
ein. Jetzt bekommst du, falls Google deine Seite bereits kennt, eine Liste aller URLs deiner Website, die sich im Index befinden.
Halte hier Ausschau nach Seiten, bei denen index.php in der URL vor kommt und klicke auf eines dieser Ergebnisse.
Wird diese Seite an die neu eingestellte URL ohne index.php weiter geleitet, dann ist alles gut. Bleibt in der Adressleiste deines Browser dies aber in der URL stehen, musst du noch eine Kleinigkeit deiner .htaccess hinzufügen.
3. Falls die Schritte 1 und 2 noch nicht zum gewünschten Ergebnis geführt haben
Lade dir deine .htaccess von deinem Webspace herunter. Diese lässt sich mit Texteditoren wie Notepad++ oder dem Windows-Editor bearbeiten. Bitte auf keinen Fall hier mit einem Office-Programm wie Word arbeiten, das kann zu Problemen auf dem Server führen.
Füge nun diese beiden Code-Zeilen am Ende hinzu:
RewriteCond %{REQUEST_URI} ^/index.php(/.*) [NC] RewriteRule ^(.*) %1%2 [R=301,L]
Speichere diese Änderungen und lade die .htaccess wieder auf deinen Webspace. Jetzt sollten auch diese Überbleibsel korrekt weiter geleitet werden und das unschöne /index.php verschwunden sein.
Da hier ein 301 Redirect vorgenommen wird, sollten auch nach einiger Zeit diese ungeliebten URLs aus den Google Ergebnisseiten verschwinden und die ästhetischen Adressen aufgeführt werden.
Je nach dem wie du eine ggf. vorhandene sitemap.xml erstellt hast, musst du hier noch die alten URLs abändern.
Hier scheinen mir zwei Dinge nicht (oder nicht mehr) zu stimmen. Die web.config.txt muss noch in web.config umbenannt werden und in der default .htaccess Datei die mit Joomla kommt, muss „Options +FollowSymlinks“ sowie die „Rewritebase /“ auskommentiert werden. Anderenfalls sollte das so nicht funktionieren. Jedenfalls tat das bei mir nicht. Oder habe ich was überlesen?
Adresse index.php konnte ich entfernen, nur alle Farbeinstellungen wurden geändert bzw. auch Größe der Schrift. Habe dann die htaccess.txt Datei neu wieder hochgeladen und in der Joomla Konfiguration alles wieder zurück gestellt. Den Cache geleert und jetzt läuft es wieder. Jetzt habe ich allerdings wieder die index.php in der Adresszeile.