Wie Craft CMS mehrere Websites und Sprachen in einer Installation führt

Mit Craft CMS lassen sich mehrere Websites in einer Installation betreiben. Ein zusätzliches Modul ist dafür nicht nötig. Das kann eine mehrsprachige Website sein, aber auch mehrere eigenständige Auftritte. In unseren Projekten laufen zum Beispiel eine Hauptwebsite und mehrere Landingpages gemeinsam in einer Installation. Jede davon kann eine eigene Domain und Sprache haben.

Wie groß solche Installationen werden können, zeigt unser bisher größtes Projekt. Dort betreiben wir 20 Sites für sieben Marken in vier Sprachen: Deutsch, Englisch, Tschechisch und Polnisch.

Im Internet findet man immer wieder Hinweise darauf, dass große Craft-Multisites problematisch werden können. Das entspricht nicht unserer Erfahrung. Entscheidend ist, wie das System geplant und vor allem wie das Inhaltsmodell aufgebaut wird. Wenn diese Grundlagen stimmen, lassen sich auch größere Installationen gut betreiben.

Das Caching ist bei solchen Projekten ein eigenes Thema. Darauf gehen wir im Beitrag über Blitz Cache bei komplexen Multisites ein.


Wie eine Site in Craft CMS aufgebaut ist

Jede Site hat einen Namen, einen Handle, eine Sprache und eine Basis-URL. Die Sprache beeinflusst unter anderem die Darstellung von Datum und Zahlen. Die Basis-URL bestimmt, unter welcher Adresse die Site erreichbar ist. Das kann ein Sprachpfad wie /en/ sein oder eine eigene Domain. Bei eigenständigen Auftritten verwenden wir eigene Domains.

Auch die einzelnen Bereiche einer Installation können pro Site unterschiedlich konfiguriert werden. Dabei wird festgelegt, wo ein Eintrag erscheint, welche URI er bekommt und welches Template ihn ausgibt. Ein Bereich muss also nicht auf allen Sites vorhanden sein. Eine Landingpage kann beispielsweise nur ihre eigenen Bereiche haben.

Die Verteilungsmethode regelt, was beim Speichern eines Eintrags passiert. Ein Eintrag kann auf die aktuelle Site beschränkt bleiben oder gezielt auf weiteren Sites verfügbar gemacht werden.


Übersetzungen werden für jedes Feld festgelegt

Bei einem Eintrag, der auf mehreren Sites existiert, kann für jedes Feld entschieden werden, ob der Wert gemeinsam genutzt oder getrennt gepflegt wird. Craft CMS bietet dafür fünf Übersetzungsmethoden.

Diese Entscheidung sollte früh fallen, weil sie den späteren Pflegeaufwand deutlich beeinflusst. Eine Artikelnummer oder ein Preis muss in der Regel nicht für jede Sprache separat gepflegt werden. Bei einer Überschrift, einem Fließtext oder einer Bildunterschrift sieht es anders aus.

Alle Felder pauschal als übersetzbar zu definieren, klingt zunächst flexibel, schafft aber oft unnötige Arbeit. Deshalb legen wir bereits bei der Konzeption fest, welche Felder tatsächlich eigene Sprachversionen brauchen.

Eine solche Einstellung kann später noch geändert werden. Wir haben das bereits bei bestehenden Projekten gemacht, ohne Inhalte zu verlieren. Ganz ohne Aufwand geht es allerdings nicht. Die betroffenen Inhalte müssen anschließend kontrolliert und teilweise von Hand nachgepflegt werden.


Was die Redaktion davon merkt

Im Control Panel kann über den Site-Umschalter zwischen den verschiedenen Fassungen gewechselt werden. Übersetzbare Felder sind entsprechend gekennzeichnet. Dadurch ist direkt erkennbar, ob eine Änderung nur diese Site betrifft oder auch andere.

Eine wichtige Rolle spielen die Benutzerrechte. Für jede Site können eigene Bearbeitungsrechte vergeben werden. Diese lassen sich mit den Rechten für einzelne Bereiche und Inhalte kombinieren. Wer beispielsweise nur eine Landingpage betreut, sieht auch nur diese Site.

Mediendateien können dagegen von mehreren Sites gemeinsam genutzt werden. Ein Bild muss deshalb nicht mehrfach hochgeladen und gepflegt werden.

Für die Redaktion fühlt sich eine solche Installation im Alltag trotzdem wie mehrere getrennte Websites an. Wer nur eine Site betreut, bekommt von den anderen wenig mit. Das ist gerade bei Unternehmen mit voneinander unabhängigen Abteilungen praktisch.


Wann mehrere Sites besser getrennt werden

Eine gemeinsame Installation hat vor allem im Betrieb Vorteile. Datenbank, Deployment, Craft-Lizenz und Templates können gemeinsam genutzt werden. Auch Updates werden zentral durchgeführt. Inhalte, die auf mehreren Sites gebraucht werden, müssen nur einmal gepflegt werden.

Es gibt aber gute Gründe für eine Trennung. Wenn Sites unterschiedliche Freigabeprozesse oder Wartungszeiten benötigen, kann ein gemeinsames System unpraktisch werden, weil ein Update immer die gesamte Installation betrifft.

Auch wenn zwei Auftritte überhaupt keine Inhalte gemeinsam haben, ist eine gemeinsame Installation nicht automatisch sinnvoll. Und wenn schon bei der Planung absehbar ist, dass eine Site später ausgegliedert oder von einer anderen Agentur übernommen werden soll, sollte man das ebenfalls berücksichtigen.

Die Entscheidung für oder gegen eine gemeinsame Craft-Multisite hängt deshalb weniger davon ab, ob Websites thematisch zusammengehören. Wichtiger ist, wie sie später betrieben und gepflegt werden.


Templates und individuelle Designs

Craft CMS kann mehrere Websites mit gemeinsamen Templates verwalten. Bei der Suche nach einem Template prüft Craft zunächst den Ordner der jeweiligen Site. Gibt es dort keine eigene Version, wird das allgemeine Template verwendet.

Damit lässt sich das Design einzelner Sites anpassen, ohne jedes Template kopieren zu müssen. Wir trennen Templates deshalb erst dann, wenn sich Layout oder Konzept tatsächlich unterscheiden. Eine Kopie bedeutet schließlich auch zusätzlichen Pflegeaufwand.

Für mehrsprachige Sites gehören außerdem hreflang-Verweise, korrekte Canonical URLs und eine eigene Sitemap zur technischen Umsetzung. Bei eigenständigen Websites mit eigenen Domains gibt es in der Regel keine entsprechenden Sprachversionen. Dort wird daher auch kein hreflang benötigt.

Wer vor der Entscheidung für ein CMS steht, kann sich außerdem unsere Vergleiche von Craft CMS mit Drupal und WordPress ansehen.