Dieses Tutorial ist VALID.

Bitte lies Dir den Disclaimer durch, bevor Du eine Anleitung umsetzt...

Haftungsausschluss / Disclaimer

Viele WordPress Instanzen parallel betreiben

Und damit wären wir am Ende der langen Reise angekommen… In diesem Kapitel werden wir sehen, wie einfach und schnell wir jetzt produktive WordPress Instanzen auf unserem Server hochjagen können :)

Nachdem wir in den vergangenen Tutorials das Rüstzeug und die Voraussetzungen dafür geschaffen haben, ist das Anlegen von weiteren WordPress Containern jetzt eine Sache von wenigen Minuten. Und so geht’s:

In dem Tutorial gehe ich jetzt ein wenig schneller und ohne viel Erklärung vor, da wir ja in den vergangenen Kapiteln die ganzen Segmente recht ausführlich gesehen haben…

Voraussetzungen

Vorbereitungen

Szenario: Wir möchten für folgende Domains neue WordPress Instanzen anlegen:

  • „raser.de“: Die Instanz läuft auf „raser.de“
  • „gametrader.de“: Die Instanz läuft auf „www.gametrader.de“
  • „xp-server.de“ (mit Bindestrich) UND „xpserver.de“ (ohne Bindestrich): Beide Domains sollen auf „wordpress.xp-server.de“ zeigen

Die diversen Weiterleitungen

Was gibt es denn für Möglichkeiten, auf die wir aufpassen müssen?

  • In jedem Fall: Die „http“ auf „https“ Weiterleitungen macht Traefik gleich ganz am Anfang für uns…
  • Eine Subdomain: „wordpress.xp-server.de“ – keine Weiterleitung, nur eine URL.
  • Eine Domain und eine Subdomain: „raser.de“ und „www.raser.de“ – zwei URLs, Weiterleitung erfolgt durch WordPress (www auf „non-www“ und umgekehrt).
  • Zwei oder mehr Domains mit und ohne Subdomain: „xp-server.de“, „www.xp-server.de“, „xpserver.de“ und „www.xpserver.de“. Vier URLs. Alle Weiterleitungen der „nicht-Hauptdomains“ auf die Hauptdomain und „www zu non-www (bzw. anders rum)“ macht Traefik mit der „redirectregex“ Middleware.

Kurzer Ausflug: To „www“ or „not to www“ – that’s the question…

„www.domain.de“ und „domain.de“ sind für den DNS, unsere Maschine und Dienste wie Google oder Bing zwei komplett eigenständige Adressen, die für sie nichts miteinander zu tun haben. Im Normalfall zeigen beide Adressen auf den selben Server, der sich dann intern um die weitere Verschaltung kümmert, damit nach „außen“ nur eine einzige Variante der Domains sichtbar ist. Das ist besonders für unser Google-Ranking wichtig, denn würden beide Varianten (einmal mit und einmal ohne „www“) gleichzeitig abrufbar sein, straft uns Google das als „doppelten Inhalt“ ab. Noch schlimmer: Wenn „domain-A“ und „domain-B“ dann die gleiche Seite ausliefern, wie zum Beispiel oben die „einmal mit“ und „einmal ohne Bindestrich“ Domains. Google geht generell immer davon aus, dass etwas fischig ist, wenn der gleiche Seiteninhalt unter verschiedenen Adressen im Internet abrufbar ist!

Unabhängig davon muss Traefik aber alle Adressen kennen, unter denen eine Seite erreichbar sein soll, da er nur so für alle den Weg zum WordPress Container frei macht und auch nur für die ihm bekannte Adressen von Let’s Encrypt ein Zertifikat beantragen kann.

Alle Varianten können dann noch über „http“ und „https“ abgerufen werden, womit wir dann insgesamt noch mal doppelt so viele Möglichkeiten hätten. Aber da kümmert sich Traefik zum Glück gleich am Anfang darum, dass alle „http“ Zugriffe sofort auf „https“ umgebogen werden.

„www“ auf „non-www“ bzw. „non-www“ auf „www“ Weiterleitungen macht WordPress für uns, da brauchen wir Traefik nicht bemühen.

Kommen wir zu dem einen Spezialfall, bei dem wir die interne Weiterleitung in Traefik brauchen: Mehrere Domains auf den selben Container schalten…

Eine oder mehrere „Nebendomains“ auf eine „Hauptdomain“ umleiten

Haben wir zwei oder mehr Domains für die selbe Seite, müssen wir entscheiden, welche Domain die „Hauptdomain“ unserer Seite werden soll. Danach brauchen wir Umleitungen von allen Nebendomains zur Hauptdomain. In diesem Fall nehm ich die beiden Domains „xp-server.de“ und „xpserver.de“. Die „Bindestrich-Domain“ soll die Haupt-Domain werden…

Wir könnten einfach alle Domains in die „Host“-Zeile des Traefik Labels eintragen und nichts weiter unternehmen. Dann wäre unsere Seite aus dem Internet auf allen Domains erreichbar. Aber leider mit der jeweiligen URL der Domain. Tippe ich „xpserver.de“ wird mir die Seite im Browser auch unter „xpserver.de“ (ohne Bindestrich!) angezeigt. Das wäre der klassiche „duplicate Content“ (weil ich sie auch unter xp-server.de erreichen kann) und Google straft uns dafür ab. Für Google sind das einfach zwei total verschiedene Seiten im Internet, die exakt den gleichen Inhalt aufweisen. Das ist suspekt und wird bestraft.

Das Dilemma lösen wir durch einen „Redirect“ in Traefik. Dieser sorgt dafür, dass die Nebendomains sofort nach der Eingabe ihrer URL auf die Hauptdomain „umgeschrieben“ werden. Tippe ich mit eingerichtetem Redirect „xpserver.de“ (ohne Bindestrich) in den Browser, ändert sich die URL-Zeile dann sofort auf „wordpress.xp-server.de“ (mit Bindestrich!). Es existiert im Internet also nur eine einzige Variante der Seite unter „wordpress.xp-server.de“, auch, wenn wir verschiedene Nebendomains eintippen. Das mag Google und unser Ranking wird durch die Nebendomains dann nicht negativ beeinflusst.

Dieses Thema hat mir einige schlaflose Nächte und viel Kopfweh verursacht, da der Redirect in Traefik über Regex-Regeln abgewickelt wird. Jeder, der sich schon mal mit den „Regular Expressions“ auseinandergesetzt hat weiß, dass man das nur in kleinen Dosen machen sollte. Ansonsten läuft man Gefahr, seinen Verstand zu verlieren.
Leider bin ich hier wieder bei einem alten Dilemma angekommen: Ich hab Regex nicht wirklich durchblickt. Es gibt eine ganze Latte an Beispielen, wie das funktionieren *könnte*. Ich hab „die eine“ Config nicht gefunden. Also gab es tagelang (!) Trial & Error und ich hab was gefunden, das funktioniert. Aber ob das gut ist…? Keine Ahnung!
Sollte jemand unter den geneigten Lesern ein Regex-Experte sein, bitte erleuchtet mich

Wenn ich hier die ganze Regex-Thematik ausbreite, würde das auch den Rahmen der eh schon wieder viel zu langen Anleitung vollends sprengen. Daher hab ich das Regex-Thema in diesen Artikel ausgelagert und beziehe mich unten in der Config auf die entsprechenden Zeilen…

Danke an dieser Stelle auch noch mal für den Hinweis von Eike zum Nextcloud-Container, der gleichzeitig mein Problem mit der Weiterleitung gelöst hat. Ohne ihn und diesen wertvollen Tipp wäre das hier nicht möglich gewesen!

Anzeige *

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Verwendung
von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung.

Scroll to Top