WordPress Multisite erklärt

Es ist erstaunlich, wieviele WordPress Nutzer bis jetzt immer noch nicht wissen, dass dieses CMS einen Modus zum Betrieb mehrerer, voneinander unabhängiger Webseiten bietet.
Eine Installation – soviele WordPress Blogs (mit eigener Domain) wie man will/braucht.
Jedes Plugin/Theme nur einmal installieren und warten müssen – und Tausende Webseiten können damit arbeiten.
Allerdings händelt WordPress gewisse Dinge wieder anders als ein „richtiges“ Content Management System.

Auf der einen Seite trennt WordPress Multisite die Blogs strikt voneinander (Artikel/Seiten, Medien …), auf der anderen Seite werden gewisse Strukturen zentral verwaltet und greifen ineinander (Plugins, Themes, Nutzer). Das Prinzip muss man verstehen, wenn man beurteilen will, ob der Einsatz einer Multisite für das gewünschte Projekt sinnvoll ist.

Benutzer in der Multisite

Vor allem die Benutzerverwaltung sorgt bei vielen Multisite Anfängern für Kopfzerbrechen.
Auch wenn die einzelnen Blogs/Webseiten der MS voneinander unabhängig arbeiten, werden die WordPress Nutzer an einer Stelle im System verwaltet. Es gibt jeden Nutzer nur einmal, egal bei wievielen Blogs er registriert ist.
In den Blogs greift das bekannte WordPress-Rollensystem, nur mit dem Unterschied dass es noch einen zusätzlichen Superadmin gibt, der automatisch auf alle Blogs der Multisite als Administrator Zugriff hat. Alle anderen Benutzer müssen für jeden Blog einzeln hinzugefügt werden, wo sie dann aber unterschiedliche Rollen (bis hin zum lokalen Admin) einnehmen können. Das heisst, der Nutzer ‚xyz‘ kann in Blog A der Administrator sein, während er in Blog B nur ein Mitarbeiter ist und in Blog C überhaupt nicht auftaucht.
Die Logindaten bleiben aber gleich. Der Nutzer ‚xxx‘ kann nicht bei Blog A das Passwort ‚abc‘ und bei Blog B ein Passwort ‚def‘ verwenden.

getrennte Mediendateien

Auch wenn sich das viele Nutzer wünschen – jeder Blog hat seine eigene Mediathek und kann nur mit den dort abgelegten Bildern arbeiten.
Blog A kann also nicht auf Bilder aus der Mediathek von Blog B zugreifen.
Es gibt eine Handvoll Plugins, die das umgehen können – aber das ist von den WordPress-Entwicklern so nicht geplant und kann bei einer der nächsten WP Versionen nicht mehr funktionieren.

Plugins in der Multisite

Jedes Plugin wird in einer WordPress Multisite nur einmal installiert, d.h. alle Blogs greifen auf ein und dieselben Plugins zurück. Damit spart man wirklich Zeit ein.
Sobald man ein Plugin netzwerkweit aktiviert, wird es automatisch bei allen Blogs der Multisite (zwangs)geladen. Der andere Weg wäre, es für jeden Blog separat zu aktivieren/deaktivieren.
Plugins sind unterschiedlich gut für eine Multisite geeignet. Vereinfacht gesagt gibt es 3 Typen von Plugins:

  • Multisite Plugins
    Diese Plugins machen nur in einer MS Sinn (z.B. Multisite Domain Mapping) und müssen netzwerkweit aktiviert werden.
  • Multisite-fähige Plugins
    Das sind Plugins, die ursprünglich aus dem WP Einzelbetrieb stammen, aber ihre Arbeit auch in einer MS verrichten.
  • Single Installation Plugins

Manchmal bekommt man reine Single Plugins in einer MS doch noch zum Arbeiten, wenn man sie nicht netzwerkweit aktiviert sondern einzeln für jedes Blog.

Die Nutzung von Themes in der Multisite

Themes werden (wie Plugins) in einer Multisite an einem Ort verwaltet.

Entweder kann man es für alle Blogs zur Nutzung freigeben (entspricht netzwerkweiter Aktivierung bei Plugins, mit dem Unterschied, dass das Theme dadurch nicht auch gleich als aktives Theme in den Blogs verwendet wird) oder nur für einzelne Blogs anbieten.
Die letzte Option kommt immer dann zum Einsatz, wenn man es den lokalen Blog-Admins gestatten möchte, zwischen einer Auswahl von Themes zu entscheiden.
Wenn alle Blogs Theme A einsetzen, verbleiben zwar die Theme-Einstellungen (je nach Theme-Framework), Widgets und Co. bei den Blogs aber alle Änderungen an den Theme-Dateien selbst (Updates, eigener Code in den Template-Dateien) schlagen automatisch auf alle Blogs durch, die Theme A verwenden.
Manchmal gibt es bei sehr komplexen Themes und Theme-Frameworks zu Inkompatibiltäten im MS Betrieb.

Beiträge und Seiten eines Multisite-Blogs

Es ist wie mit den Inhalten der Mediathek – die Beiträge und Seiten (posts/pages) eines Blogs werden separat von den anderen Blogs abgespeichert. Jeder Blog in der MS hat seine eigene wp_posts Tabelle! Daher ist ein Zugriff auf einen Post ‚abc‘ eines Blogs A aus Blog B heraus nicht möglich.
Häufig taucht diese Frage im Zusammenhang mit immer wiederkehrenden Inhalten wie Impressums- und Kontaktangaben auf. Es bleibt nur die Möglichkeit, diese Seite/Beitrag in jedem Blog einzeln anzulegen. Bei den Plugins, die eine Lösung versprechen ist es wie mit den Mediathek-Plugins: in WordPress ist dieses Blog-übergreifende Publizieren gleichen Inhalts nicht vorgesehen und kann bei neuen WordPress-Versionen zu einem nicht-mehr-Funktionieren dieses Plugins führen.

5 Kommentare:

  1. Moin,

    danke fuer Deine hilfreichen Multisite-Beitraege.

    Meine Frage, die ich leider noch nirgends beantwortet gefunden habe, waere aber, ob (ausser den schon beschriebenen IMG-Urls) die Haupt-Domain versteckt werden kann? Denn ein Blog zum Thema Abnehm-Tips und ein anderes zum Thema MaeckDreck-Sonderangebote (nur Beispiele!) sollten nicht wirklich miteinander verknuepft sichtbar sein…

    Zur Not wuerde ich sonst beides ueber eine neutrale Sammelseite laufen lassen, aber wenn ich die eine schon bestehende sehr komplöizierte Seite mit viiielen Anpassungen beibehalten koennte, waere das auch sehr gut.

    Danke fuer die Tips,

    n.

    • Wenn Du die Multisite um die Domain Mapping Lösung erweiterst, kannst Du für jeden Blog eine eigene Domain verwenden. Die Domain des Primärblogs wird nicht sichtbar, wenn Du in den Netzwerkeinstellungen (Domain Options) der MS kein Remote Login sondern den Permanent Redirect wählst.

  2. Patrick Müller

    Hi,

    ich habe in meiner Multi-Site derzeit vier Webseiten im localhost laufen, die parallel zueinander gebaut werden. Die erste Seite soll nun online gehen, ohne die anderen in ihrer „localhost-funktion“ zu stören.

    Wie kann ich nur für die eine spezielle Seite eine richtige wp-config Datei kreieren und in welchem Ordner muss diese dann abgespeichert sein, ohne die anderen noch nicht ins Netz geladenen Seiten zu stören/zerstören?

    Grüße
    Patrick

    • Finde ich sehr umständlich, diese Vorgehensweise. Besser wäre es gewesen, die Multisite gleich im Netz aufzubauen und die einzelnen Subsites mittels eines Coming Soon Plugins vor der Öffentlichkeit abzuriegeln.
      Bei Deiner Variante muss auf jeden Fall die Primärinstallation vom localhost ins Netz übertragen werden, weil jede Subsite darauf aufbaut. Dann die Tabellen und Daten der gewünschten Subsite, was aber auch wieder zum umständlich ist. Einfach alles rüberbeamen und die noch nicht fertigen Seiten mit Coming Soon abriegeln.

Schreibe einen Kommentar

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