Weblog

Mehrere Weblogs mit einer WordPress-Installation

Seitdem ich meine Website auf die beliebte Weblog-Software umgestellt habe, bin ich überzeugter WordPress-Fan. Noch etwas mühsam war der Betrieb mehrerer WordPress-Blogs, die parallel gepflegt werden mussten. Dank eines Tipps von Sebastian konnte ich nun einfach Abhilfe schaffen.

Dazu habe ich eine aktuelle Version auf dem Webserver abgelegt und die Konfigurationsdatei „wp-config.php“ modifiziert. Hier wird unter anderem der Präfix für die Datenbanktabellen definiert. Um mehrere Blogs mit einer Installation zu betreiben, muss hier lediglich eine einfache Fallunterscheidung anstelle der statischen Definition „$table_prefix = ‚wp_‘;“ integriert werden, die abhängig von der Domain die entsprechenden Tabellen wählt:

$table_prefix = ereg_replace(‚^(www\.)‘, “, $_SERVER[‚HTTP_HOST‘]);
$table_prefix = ereg_replace(‚\.‘, “, $table_prefix);
switch($table_prefix) {
  case ‚cbschmidtde‘:
    $table_prefix = ‚wp_‘;
    break;
  default:
    $table_prefix = $table_prefix . ‚_‘;
}

Hierdurch werden beim Aufruf der Domain cbschmidt.de automatisch die Tabellen abgefragt, in deren Namen „wp_“ vorangestellt ist. Bei allen anderen Blogs wird automatisch die Domain ohne Punkt mit einem Unterstrich getrennt, also z.B. „domainde_“, vorangestellt.

Dann muss nach einem Update nur noch der Pfad „/wp-admin/upgrade.php“ unter den jeweiligen Domains aufgerufen und den Anweisungen gefolgt werden. Vor dem Upgrade sollte man alle Plugins in den Blogs deaktivieren, um Fehler zu vermeiden. Diese kann man dann danach wieder jeweils aktivieren. Ein weiterer Vorteil des Betriebs aller Blogs mit einer Installation ist, dass auch Plugins nur noch einmal hochgeladen und aktualisiert werden müssen. Außerdem spart man einigen Speicherplatz durch die zentrale Dateiverwaltung.

Auch das Installieren neuer Blogs ist nun mit noch weniger Aufwand verbunden. Es muss lediglich die entsprechende Domain auf den allgemeinen WordPress-Ordner eingerichtet werden. Dann folgt der letzte Schritt der ohnehin schon einfachen Installation bei Aufruf des Pfads „/wp-admin/install.php“. Und schon kann es mit dem Bloggen losgehen… viel Erfolg!

Update (Bindestrichdomains)
Offenbar scheint es doch noch Probleme mit Bindestrichdomains zu geben. WordPress gibt einen Fehler aus und weist darauf hin, dass in der Datei wp-config.php nur Nummern, Buchstaben und Unterstriche enthalten sein dürfen. Man kann das Script aber relativ einfach anpassen, indem man folgender Zeile vor „switch“ einfügt:

$table_prefix = ereg_replace(‚\-‚, “, $table_prefix);

So werden Bindestriche entfernt. Wer einen Domainnamen mit und ohne Bindestrich besitzt, sollte eine der beiden Domains per HTTP-Weiterleitung auf die andere umlenken, damit Suchmaschinen nicht die selben inhalte unter zwei verschiedenen Domains indexieren. Wer unter dem Domainnamen mit bzw. ohne Bindestrich unterschiedliche Inhalte veröffentlichen will, kann auch anstelle des leer Ersetzens einen Platzhalter oder Unterstrich zwischen den zweiten Hochkommas einfügen:

$table_prefix = ereg_replace(‚\-‚, ‚\_‘, $table_prefix);

10 thoughts on “Mehrere Weblogs mit einer WordPress-Installation

  1. Code sieht gut aus. Aber ich benutze einen anderen Code! Frage: Klappt das bei die mit diesem Code auch bei Sublevel Domains und oder mit Bindestrich getrennte Domain-Namen?

  2. CBS

    Soweit ich das sehe, sollten auch Subdomains (sinnvollerweise bis auf www) berücksichtig werden und auch Bindestriche kein Problem darstellen, wenn man nicht eine Seite mit und ohne Bindestrich in der Domain ausliefert (wovon eh wegen doppelten Inhalten in Suchmaschinen abzuraten ist).

  3. Problematisch hieran ist, dass die upload-verzeichnisse einzeln verschieden gesetzt werden müssten oder aber man lebt damit, dass alle uploads in ein und demselben Verzeichnis liegen..

    was spricht denn gegen wordpress-mu?

  4. Aus Sicherheitsgründen rate ich dringend davon ab, mehrere Systeme über die selbe WordPress-Installation abzubilden. WordPress selbst und insbesondere die vielen externen Plugins liefern potentiellen Angreifern diverse Einstiegspunkte.

    Statt dessen sollte die Aktualisierung und Verwaltung von Plugins über Shell-Skripte erfolgen. Damit dauert die Aktualisierung der WordPress-Version bzw. der Plugins auf 100 Blogs nur ein paar Sekunden.

  5. Pingback: Affiliate Tracking Blog

  6. Pingback: Bloglinks am 16. M

  7. Pingback: Bissinger’s Blog» Blogarchiv » Mehrere WordPress-Blogs auf unterschiedlichen Subdomains

  8. Pingback: Lösung: Unterschiedliches Favicon bei mehreren WordPress-Blogs in einem Verzeichnis - Nico Hagenburger

  9. Pingback: Mehrere Subdomains mit einer WP-Installation betreiben | funkygog Blog

Comments are closed.