Contao: Website mit oder ohne „www“ erreichbar machen
Anleitung für Contao
Es ist eine der ersten Entscheidungen in jedem Website-Projekt – und eine, die erstaunlich oft gar nicht bewusst getroffen wird: Läuft die Domain mit oder ohne „www“?
Technisch funktionieren beide Varianten. Problematisch wird es, wenn beide gleichzeitig erreichbar sind: Google behandelt sie als zwei verschiedene Websites mit identischem Inhalt – Duplicate Content, der die Sichtbarkeit beider Varianten schwächt, weil sich Rankingsignale auf zwei Adressen verteilen. Die Lösung ist seit Jahren dieselbe und dauert fünf Minuten: eine Variante festlegen, die andere dauerhaft weiterleiten.
301-Weiterleitung als Lösung
Das Mittel der Wahl ist eine permanente 301-Weiterleitung. Sie sagt Suchmaschinen unmissverständlich: Diese Adresse ist umgezogen, und zwar für immer. Der aufgebaute „Link Juice“ – also die Wirkung aller eingehenden Links – wandert dabei mit, es entsteht kein SEO-Nachteil.
Bei Contao lässt sich die Weiterleitung direkt in der .htaccess-Datei hinterlegen; die Standard-Installation bringt die passenden Zeilen sogar schon auskommentiert mit.
Duplicate Content, also duplizierter Inhalt sind umfangreiche Contentblöcke (also Textabschnitte), die anderem Content auf derselben - dies ist der Fall bei mit/ohne www - oder einer anderen Domain entsprechen oder auffällig ähneln.
Variante 1: „www“ erzwingen
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Variante 2: „www“ entfernen
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]
Hinweise:
RewriteEngine onaktiviert die URL-Umschreibungsfunktion.RewriteCondprüft die aktuelle Domain.RewriteRuleführt die Weiterleitung durch.- In Contao ist es wichtig, die
.htaccessim Stammverzeichnis der Installation anzupassen. example.comdurch die eigene Domain ersetzen.
Contao-Beispiel: Standard .htaccess
##
# Uncomment the following lines to add "www." to the domain:
#
# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# RewriteRule (.*) http://www.example.com/$1 [R=301,L]
#
# Uncomment the following lines to remove "www." from the domain:
#
# RewriteCond %{HTTP_HOST} ^www\.example.com$ [NC]
# RewriteRule (.*) http://example.com/$1 [R=301,L]
#
# Make sure to replace "example.com" with your domain name.
##
Durch das Aktivieren der entsprechenden Zeilen und Ersetzen der Domain wird die gewünschte Variante erzwingt und Duplicate Content vermieden.
Update 2026: Weiterleitung, Canonical und HSTS zusammenbringen
Update 2026: An der Grundlage hat sich nichts geändert – zwei Punkte sind heute aber wichtiger: die Weiterleitung auf Serverebene statt in der Anwendung, und die Absicherung per HSTS.
Kurz gesagt: Entscheidend ist nicht, ob mit oder ohne „www" – sondern dass genau eine Variante existiert. Vier Adressen sind im Spiel: mit und ohne „www", jeweils mit und ohne HTTPS. Drei davon müssen dauerhaft (301) auf die eine kanonische Adresse zeigen.
# nginx: alle Varianten auf https://www.beispiel.de
server {
listen 80;
server_name beispiel.de www.beispiel.de;
return 301 https://www.beispiel.de$request_uri;
}
server {
listen 443 ssl;
server_name beispiel.de;
return 301 https://www.beispiel.de$request_uri;
}
server {
listen 443 ssl;
server_name www.beispiel.de;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
root /var/www/beispiel/public;
}Die Contao-Seite der Sache
- In den Seiteneinstellungen des Startpunkts gehört die kanonische Domain samt Protokoll hinterlegt – sonst erzeugt Contao interne Links auf die falsche Variante.
- Die kanonische URL (
<link rel="canonical">) muss dieselbe Variante nennen; Widersprüche zwischen Weiterleitung und Canonical sind ein häufiger Fehler. - Sitemap, Search Console und interne Verlinkungen folgen derselben Schreibweise.
Prüfen statt hoffen
# Alle vier Varianten testen – erwartet: dreimal 301, einmal 200
for u in http://beispiel.de https://beispiel.de \
http://www.beispiel.de https://www.beispiel.de; do
echo -n "$u -> "
curl -o /dev/null -s -w "%{http_code} %{redirect_url}\n" -I "$u"
doneZwei Fallstricke: Weiterleitungsketten (http → https → www statt direkt) kosten bei jedem Aufruf eine zusätzliche Runde. Und ein zu früh aktiviertes HSTS sperrt Besucher aus, wenn HTTPS einmal ausfällt – erst prüfen, dann aktivieren.
Fazit
Mit oder ohne „www“ ist am Ende Geschmackssache – nicht verhandelbar ist, dass es genau eine Adresse gibt. Eine kanonische Variante, drei saubere 301-Weiterleitungen, Canonical und Seiteneinstellungen im Einklang: Das ist der ganze Zauber, und er kostet weniger Zeit als die Diskussion darüber.
Wer es einmal richtig einrichtet, muss nie wieder daran denken. Wer es nicht tut, wundert sich irgendwann über verwässerte Rankings – und sucht die Ursache meist überall, nur nicht in vier Zeilen Serverkonfiguration.