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.

Google Webmaster-Tools-Hilfe

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 on aktiviert die URL-Umschreibungsfunktion.
  • RewriteCond prüft die aktuelle Domain.
  • RewriteRule führt die Weiterleitung durch.
  • In Contao ist es wichtig, die .htaccess im Stammverzeichnis der Installation anzupassen.
  • example.com durch 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"
done

Zwei 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.

Zurück zur Blog-Übersicht