Eine WordPress-Datenbank für Zwei

Zwei WordPress, eine Datenbank

Wofür könnte man zwei WordPress-Installationen brauchen, die beide auf dieselbe Datenbank zugreifen? z.B. für eine App, die nicht auf dasselbe Template zugreift, sondern ein eigenes Template bekommt.

Das zweite WordPress wird in einem gesonderten Verzeichnis mobile installiert. Der Inhalt der config.php dieser zweiten WordPress-Installation ist identisch mit der ursprünglichen. Damit die zweite Installation auch tatsächlich das neue Verzeichnis mobile nutzt, wird die wp_options-Tabelle der Datenbank kopiert.

Am einfachsten geht das in PHPMyAdmin: Eine Sicherung der Datenbank durchführen, aber keine vollständige Sicherung, sondern nur die Tabelle wp_options sichern.

phpmyadmin

Beim Import muss die SQL-Datei die Tabelle mobile_options für die App anlegen. Also mit einem Programmeditor die SQL-Einträge wp_options an allen Stellen zu mobile_options ändern, um eine zweite options-Tabelle in der Datenbank anzulegen.

--
-- Tabellenstruktur für Tabelle `wp_options`
--

CREATE TABLE IF NOT EXISTS `mobile_options` (
…

Darüber hinaus müssen die Einträge in der Tabelle mobile_options.sql an das neue Verzeichnis angepasst werden:

--
-- Daten für Tabelle `mobile_options`
--

INSERT INTO `mobile_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES
(1, 'siteurl', 'http://lisotop.de/mobile', 'yes'),
(2, 'blogname', 'Der Pool', 'yes'),

Änderungen in wp_settings.php

Die Datei wp_config.php des zweiten Installation ist identisch mit der Original-Datei, aber die Datei wp_settings im neuen Verzeichnis mobile muss angepasst werden.

// Set the database table prefix and the format specifiers for database table columns.
$GLOBALS['table_prefix'] = $table_prefix;
wp_set_wpdb_vars();

 // Table names
$wpdb->posts = $table_prefix . 'posts';
$wpdb->users = $table_prefix . 'users';
$wpdb->categories = $table_prefix . 'categories';
$wpdb->post2cat = $table_prefix . 'post2cat';
$wpdb->comments = $table_prefix . 'comments';
$wpdb->links = $table_prefix . 'links';
$wpdb->linkcategories = $table_prefix . 'linkcategories';
$wpdb->options = 'mobile_options';
$wpdb->postmeta = $table_prefix . 'postmeta';
$wpdb->usermeta = $table_prefix . 'usermeta';

$wpdb->prefix = $table_prefix;

Jetzt gibt es also zwei WordPress-Installationen in einem eigenen Verzeichnis. Im Theme noch dafür sorgen, dass die Robots hier nichts zu suchen haben (noindex in den Seitenkopf) und am besten den Suchmaschinen das Stöbern auch noch in einer Datei robots.txt verbieten.

Die zweite WordPress-Installation niemals aus der Original-Seite ansteuern, damit keine Links zu den Doppeltes Lottchen-Seiten entstehen und kein Verdacht auf Duplicated Content entstehen kann.

WordPress Datenbank