Contao 4 ohne .html Suffix - SEO optimiert

Wie man in Contao 4 die Url ohne .html Endung (Suffix) darstellen kann, wurde ja schon so einige Male erklärt.
Wie im Video unterhalb des Artikels beschrieben, muss in die config.yml in dem Ordner app/config/ folgender Eintrag hinzugefügt werden:

contao:
  url_suffix: ''

.html mittels htaccess-Umschreibung entfernen

Doch was ist eigentlich, wenn deine Website schon länger online ist und Google & Co. deine Seiten mit der .html Endung indexiert haben?

Keine Panik, alles ganz easy.

Füge einfach den nachfolgenden Code oberhalb der Zeile RewriteRule ^ %{ENV:BASE}/app.php [L] in die Datei /web/.htaccess ein.

# Rewrite old .html URLs (app/config/config.yml -> contao: url_suffix: '')
RewriteRule ^(.*)\.html$ /$1 [L,R=301]

Nun wird jede Anfrage mit .html entsprechend umgeschrieben und du behältst dein Ranking bei den Suchmaschinen.
Das wars auch schon.

Video: Contao 4 URL suffix anpassen

YouTube: Contao 4 URL suffix anpassen (Contao Academy)

Einen Kommentar schreiben

Kommentar von Jürgen Palmer |

Hallo Christian, danke – die Zeile hatte ich schon drin. Aber ich glaube, meine Frage, ob man beides braucht, die yml-Datei UND die Änderung an der htaccess-Datei, ist entscheidend. Ich vermute, die Antwort muss JA lauten. HG Jürgen

Kommentar von Jürgen Palmer |

Schöner Hinweis, danke! Frage: Braucht es BEIDE Schritte? Ich hatte mit der Ergänzung in der .htaccess allein kein Glück. Die Seiten hatten zwar kein html mehr, wurden aber auch nicht mehr gefunden – trotz Löschen des Anwendungs-Caches.

Antwort von Christian Barkowsky

Hallo Jürgen, du musst in deiner .htaccess noch eine weitere Regel hinzufügen. Die nachfolgende Regel leitet die alte .html Seite erfolgreich auf die gleiche Seite ohne Endung.

RewriteRule ^(.*)\.html$ /$1 [L,R=301].

Kommentar von Martin |

Super, genau das was ich gesucht habe! Vielen Dank!

Kommentar von zonky |

Add:

Der Cache muss zum Aktivieren gelöscht werden - entweder auf Konsole oder über den Contao-Manager (Systemwartung > Anwendungs-Cache).

Bitte addieren Sie 2 und 3.