Was genau eine WordPress Multisite ist, wie du das Netzwerk aktivierst sowie Vor- und Nachteile findest du hier: Der ultimative WordPress Multisite Netzwerk Guide.
1. Schritt: Backup anlegen
Bevor du dich um die Deinstallation bzw. Deaktivierung der Multisite kümmerst, kann ich dir empfehlen ein komplettes Backup anzulegen. Also alle Dateien, sowie die ganze Datenbank noch einmal zu sichern und auch zu überprüfen, ob das Backup komplett ist.
Stelle auch sicher, dass du alle weiteren Websites in deinem Netzwerk wirklich nicht mehr benötigst. Du hast nach der Deinstallation von WordPress Multisite nur mehr Zugriff auf die Hauptseite deines Netzwerkes!
2. Schritt: wp-config.php bereinigen
Öffne die Datei wp-config.php, das ist die zentrale Konfigurations-Datei von WordPress, per FTP oder SSH. Du kannst auch das WebFTP-Programm deines Hosters verwenden, falls dieser es anbietet. Ansonsten empfehle ich dir FileZilla (für alle Plattformen verfügbar).
Suche nach der Aktivierung der Multisite und lösche diese Zeile:
define( 'WP_ALLOW_MULTISITE', true );
Ebenso musst du die weiteren Multisite-Einträge entfernen:
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'deine-domain.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
Und zu guter Letzt – wenn du dich an meine Anleitung zum Thema WordPress Multisite gehalten hast, musst du auch diese Zeile entfernen:
define('COOKIE_DOMAIN', $_SERVER[ 'HTTP_HOST' ] );
Hinweis: ist deine ursprüngliche WordPress-Installation sehr alt und basiert noch auf “WordPress MU” (also vor WordPress Version 3.0 vom Juni 2010!), dann kann es sein, dass es den “WP_ALLOW_MULTISITE”-Eintrag nicht gibt. Lösche stattdessen diese Zeile, falls vorhanden:
define( 'SUNRISE', 'on' );
Es ist in diesem Fall eventuell auch notwendig, dass du die Variable “$table_prefix” anpasst, mehr dazu weiter unten.
$table_prefix = 'wp_1_';
3. Schritt: .htaccess bereinigen
Die .htaccess-Datei ist die Konfiguration für den Webserver und ist im Root-Verzeichnis der WordPress-Installation zu finden.
Falls die Datei für dich nicht sichtbar ist, musst du im FTP-Programm die Option “Versteckte Dateien anzeigen” aktivieren.
Folgende Einträge müssen gelöscht werden:
RewriteEngine On
RewriteBase /wordpress-installation/
RewriteRule ^index.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(..php)$ $2 [L]
RewriteRule . index.php [L]
Üblicherweise beginnen alle relevanten Regeln mit # BEGIN WordPress und enden mit # END WordPress. Falls weitere Regeln enthalten sind, kannst du diese auch löschen – bei meiner alten, auf WordPress MU basierenden Version, war das der Fall.
Zwischenschritt: Testen :-)
Deine WordPress Multisite-Installation ist jetzt Geschichte und deine (Haupt-)Website läuft ohne Netzwerk.
Theoretisch.
Denn praktisch kann es zu einigen Fehlern kommen, die wir jetzt gemeinsam Schritt für Schritt lösen.
Du kannst schon einmal probieren, deine Website oder auch das Backend zu laden. Mit etwas Glück (und bei neueren WordPress-Versionen als Basis) sollte das schon funktionieren. Du kannst den Schritt 4 dann überspringen und gleich bei Punkt 5 weitermachen.
4. Schritt: Datenbank-Tabellen anpassen
Logge dich dazu in die Datenbank ein – am einfachsten geht dies mittels PHPMyAdmin, das dir von deinem Hoster zur Verfügung gestellt wird.
Sollte dein Hoster dieses Tool nicht zur Verfügung stellen, dann würde ich wechseln ;-)
Alternativ kannst du natürlich auch eine Desktop-Software zum Zugriff auf die Datenbank verwenden, zum Beispiel Sequel Pro (Mac) oder HeidiSQL (Windows).
Benenne die Tabelle wp_options um in wp_1_options.
Der Grund ist der, dass dein Datenbank-Prefix ja auf wp_1_ gesetzt ist (siehe Schritt 2), die ganzen Optionen aber in der Tabelle wp_options stehen, die von WordPress jetzt nicht mehr gefunden wird …
Wasserdichte Angebote schreiben in nur 10 Minuten?
Hol dir die ultimative Angebotsvorlage für Webdesigner, Web-Programmierer und Online-Marketer.
5. Schritt: WordPress-Standard-Regeln in die .htaccess-Datei einfügen
Hast du alle Datenbank-Probleme gelöst und kannst dich wieder in WordPress einloggen, dann müssen noch die neue Standard-Regeln in die .htaccess-Datei eingefügt werden.
Am einfachsten gehst du im WordPress-Backend zu Einstellungen > Permalinks und klickst am Ende der Seite auf “Speichern”.
Dadurch schreibt WordPress die Permalink-Regeln wieder in die .htaccess-Datei.
6. Schritt: Medien-Ordner umbenennen
Lade das Frontend deiner Website.
Werden alle Bilder korrekt angezeigt? Dann ist alles in Ordnung und du kannst zu Schritt 7 wechseln.
In meinem Fall (altes WordPress MU und so ;-) ) kam es zu fehlenden Bildern, weil diese in einem Unterordner abgelegt wurden. Ich musste daher alle Bilder von wp-content/uploads/1/ in den Ordner wp-content/uploads/ verschieben.
Am schnellsten geht das mit SSH:
cd wp-content/uploads
mv 1/* .
Verwendest du FTP dann markiere alle Dateien und Ordner, die du unter wp-content/uploads/1/ findest und verschiebe diese nach wp-content/uploads/.
Eventuell musst du auch noch mit Better Search Replace einige Bild-Pfade anpassen.
7. Schritt: Netzwerkweit aktivierte Plugins wieder aktivieren
Hattest du Plugins in deinem Netzwerk für das gesamte Netzwerk aktiviert, dann sind diese jetzt deaktiviert (und nicht mehr aktiv).
Gehe daher im WordPress-Backend alle inaktiven Plugins durch und aktiviere diese gegebenenfalls wieder.
Wichtig: Bevor du zum Löschen und Bereinigen der Datenbank und Medien gehst überprüfe noch als nicht angemeldeter Benutzer, ob die Website funktioniert.
Jetzt ist auch ein guter Zeitpunkt um nochmals ein Backup deiner Website anzulegen, sicher ist sicher.
8. Schritt: Datenbank-Tabellen löschen
WordPress Multisite benötigt einige zusätzliche Datenbank-Tabellen um zu funktionieren. Diese werden jetzt nicht mehr benötigt und können gelöscht werden.
Logge dich daher wieder in die Datenbank ein (siehe Schritt 4 für Details) und lösche die folgenden Tabellen:
- wp_blogs
- wp_blog_versions
- wp_registration_log
- wp_signups
- wp_site
- wp_sitemeta
Weiters kannst du alle Tabellen von anderen WordPress-Instanzen in deinem Netzwerk löschen. Du erkennst diese Tabellen an einem anderen Prefix, z.B. wp_2_…, wp_3_… usw.
9. Schritt: Dateien und Medien löschen
Im letzten Schritt räumen wir noch weiter auf.
Lösche zuerst die Medien-Dateien von den anderen Blogs in deinem Netzwerk. Diese findest du in Unterordnern von wp-content/uploads/sites/ , du kannst den ganzen Ordner daher via SSH oder FTP löschen.
In meinem Fall waren die einzelnen Dateien direkt in wp-content/uploads/ enthalten, ich habe hier einfach die entsprechenden Ordner (2, 3, 4 usw.) gelöscht. Es könnte aber auch sein, dass deine Dateien in wp-content/blogs.dir/ liegen, schau also auch nach, ob du diesen Ordner hast.
Zu guter Letzt überprüfe noch alle installierten Themes und Plugins – vermutlich kannst du einige nicht mehr verwendete Themes und Plugins löschen, da diese nur auf einer Unterseite im WordPress Netzwerk verwendet wurden.
WordPress Multisite ist jetzt deinstalliert!
Bist du dieser Anleitung Schritt für Schritt gefolgt, läuft deine Haupt-Website jetzt ohne den Multisite-Ballast. Du hast auch alle überflüssigen Datenbank-Tabellen und Dateien gelöscht.
Mir kommt ja vor, dass meine Website seit der Trennung vom WordPress Netzwerk etwas schneller läuft, aber das kann auch nur Einbildung sein, gemessen habe das (leider) nicht.
Wie ist deine Erfahrung? Läuft deine Website jetzt schneller? Ich freue mich auf deinen Kommentar!
Michael
WordPress-Seite aus Multisite herauslösen, so geht’s!
Um nicht die Hauptseite, sondern eine beliebige Seite des WordPress-Netzwerkes aus dem Netzwerk herauszulösen, gehe wie folgt vor. Die Anleitung ist kurz und knapp, die Details findest du oben.
- Kopie der Dateien und Datenbanken anlegen (komplett, also alle Daten)
- wp-config.php anpassen – Multisite Info’s löschen, neue Datebank-Zugangsdaten, das Tabellen-Prefix nicht vergessen
- .htaccess anpassen
- Tabellen anpassen: wp_options -> wp_X_options, wp_users -> wp_X_users, wp_user_meta -> wp_X_user_meta
- Tabellen der anderen WordPresse können gelöscht werden
- Login sollte schon funktionieren!
- Permalinks anpassen
- Ggf. Dateien von blogs.dir/X/files nach uploads/ kopieren
- Ggf. mit Better Search Replace oder der WP CLI die Pfade (blogs.dir/X/files -> uploads) anpassen
- Netzwerkweit aktivierte Plugins wieder aktivieren
- Unnötige Plugins löschen
- Unnötige Themes löschen
- Dateien anderer WordPresse in blogs.dir/ löschen
- Unter Einstellungen > Allgemein sicherstellen, dass die Einstellung für die Benutzerregistrierung richtig gesetzt ist.
2 Antworten
Top Beitrag. Vielen Dank.
Ob die Seite schneller läuft? Vielleicht. Definitiv schneller ist das Backend, was sehr hilfreich ist für den Arbeitsfortschritt.
Absolut – die Geschwindigkeit am Frontend (aka Pagespeed) ist nicht alles :-)