Vor ungefähr einem Jahr hatte ich eine Hosting-Katastrophe. Der Server meines Hosting-Providers wurde gehackt, und es dauerte über eine Woche, bis das Problem erkannt und behoben war.
In der Zwischenzeit wurden die Websites meiner Kunden auf eine Dating-Website umgeleitet, und ich erhielt Telefonanrufe, in denen ich aufgefordert wurde, die Dinge sofort zu beheben.
Ich musste schnell handeln. Aber anstatt einfach alle Sites auf einen neuen Server zu verschieben (und einen neuen Hosting-Provider, könnte ich hinzufügen), entschied ich mich, die Sites so zu verschieben, dass ich sie leichter wieder verschieben könnte, falls Ich musste Daher habe ich eine Reihe von Websites mit einer eigenen WordPress-Installation in mein vorhandenes Multisite-Netzwerk verschoben, das ich bereits auf den neuen Server verschoben hatte.
Das Verschieben einzelner Standorte in ein Multisite-Netzwerk ist komplizierter als nur eine Neuinstallation an einem einzelnen Standort. Dies ist jedoch nicht unmöglich. In diesem Tutorial zeige ich Ihnen zwei Methoden: Plugins verwenden und manuell.
Um diesem Tutorial zu folgen, benötigen Sie:
Wenn für Ihre Site nicht viel Konfiguration über die Plugin-, Design- oder Site-Einstellungsbildschirme eingerichtet ist, können Sie sie möglicherweise mit dem WordPress Importer-Plugin erfolgreich verschieben. Wenn die Site über Widgets verfügt, können Sie ihre Einstellungen mithilfe des Plugin Widget-Importer / Exporter kopieren.
Wenn Sie jedoch viele maßgeschneiderte Konfigurationen mithilfe von Einstellungen oder Optionsbildschirmen oder des Designanpassers hinzugefügt haben, wird keine davon kopiert. In diesem Fall müssen Sie eine manuelle Bewegung ausführen.
Ausführliche Informationen zur Verwendung dieser Plugins zum Verschieben Ihrer Site finden Sie in meinem früheren Tutorial zur Verwendung von Plugins zum Verschieben einer WordPress-Site. Der Vorgang für das Verschieben eines Standorts in ein Multisite-Netzwerk ist genau der gleiche wie für einen einzelnen Standort.
Die Site, die Sie in Multisite umziehen, enthält drei Komponenten, die Sie von der alten Site kopieren müssen:
WP-Inhalt / Uploads
In Ihrer alten Site müssen Sie sich in der Multisite-Installation befinden wp-content / uploads / sites / XX
, woher XX
ist die ID Ihrer neuen Site im Netzwerk (mehr davon in Kürze)Hinweis: Wenn das Multisite-Netzwerk, in das Sie Ihre Site verschieben, vor WordPress 3.5 erstellt wurde, ist es nicht mit einem Websites
Mappe. Stattdessen hast du eine blogs.dir
Ordner in WP-Inhalt
mit allen Upload-Dateien für die Unterwebsites. Dieser Ordner enthält einen nummerierten Ordner für die von Ihnen erstellte Site, in die Sie stattdessen Ihre Dateien kopieren. Ich werde das unten ausführlicher behandeln.
Bevor Sie so etwas tun, ist es eine gute Idee, die von Ihnen bewegte Site zu sichern und Ihre Multisite-Installation. Verwenden Sie Ihr bevorzugtes Backup-Plugin oder eine Kombination aus FTP und phpMyAdmin, wenn Sie es vorziehen, manuell zu arbeiten.
Sie verwenden diese Sicherungskopie, um die relevanten Dateien auf Ihre neue Site zu kopieren, und Sie können sich auch beruhigt fühlen, falls Sie Probleme haben.
Bevor Sie Ihre alte Site in Multisite migrieren können, müssen Sie eine neue leere Site im Netzwerk erstellen. Später importieren Sie alles von Ihrer alten Site in diese neue Site.
Erstellen Sie die Site auf normale Weise, indem Sie zu gehen Netzwerkadministrator> Sites, Klicken Neue hinzufügen, und geben Sie die Details Ihrer neuen Site ein.
Jeder Standort in einem Netzwerk mit mehreren Standorten verfügt über eine eindeutige numerische ID. Dies wird verwendet, um den Ordner in zu identifizieren WP-Inhalt / Uploads / Websites
Verzeichnis (oder wp-content / blogs.dir
Wenn Ihr Multisite-Netzwerk älter ist (siehe oben), und zum Identifizieren der Datenbanktabellen für diesen Standort.
Finden Sie dies, indem Sie zu gehen Netzwerkadministrator> Sites und dann das auswählen Bearbeiten Option für die gerade erstellte Site. Die URL, zu der WordPress führt, gibt Ihnen die ID der Website. Die URL sollte in dem Formular sein http://mynetwork.com/wp-admin/network/site-info.php?id=XX
.
XX
ist die ID Ihrer Site und der Name des Ordners, der seine Dateien enthält, sowie das Präfix für die Namen der Datenbanktabellen.
Identifizieren Sie die Plugins, die von Ihrer alten Site verwendet werden, und installieren Sie sie (sofern noch nicht installiert) in Ihrem WordPress-Netzwerk über das Plugins Bildschirm oder laden Sie sie hoch WP-Inhalt / Plugins
von der Sicherung, die Sie von Ihrer alten Site erstellt haben.
Machen Sie dasselbe für alle Designs, die Ihre Site verwendet, und kopieren Sie sie von Ihrer Sicherung in die WP-Inhalt / Themen
Verzeichnis Ihres Netzwerks oder installieren Sie sie einfach neu.
Hinweis: Designs und Plugins werden an einem Ort für alle Standorte in einem Multisite-Netzwerk gespeichert. Sie müssen sie nicht an einem für den neuen Standort spezifischen Ort speichern.
Kopieren Sie die Uploads von Ihrer alten Website zur neuen. Die Dateien, die Sie kopieren müssen, befinden sich in WP-Inhalt / Uploads
in deiner alten Seite. Wo Sie sie hochladen, hängt davon ab, wie alt das Netzwerk ist:
Websites
Ordner in WP-Inhalt / Uploads
. Suchen Sie den Unterordner mit der ID Ihrer Site und laden Sie den Inhalt der Website hoch WP-Inhalt / Uploads
Ordner von Ihrer alten Site zu diesem.blogs.dir
Ordner, der auch einen Ordner mit der ID Ihrer Site enthält. Dann wird ein Unterordner aufgerufen Dateien
. Kopieren Sie den Inhalt der WP-Inhalt / Uploads
Ordner von Ihrer alten Site zur Dateien
Mappe.Hinweis: Möglicherweise müssen Sie alle Ordner löschen, die WordPress für Ihre neue Site in erstellt hat Websites
oder blogs.dir
Ordner, um Kollisionen zu vermeiden.
Wenn Sie all dies getan haben, aktivieren Sie alle Designs und Plugins auf Ihrer neuen Site.
WordPress Multisite verwendet separate Datenbanktabellen für jeden Standort im Netzwerk. Anstatt die Posts für Ihre Site in zu speichern wp_posts
, es speichert es zum Beispiel in wp_XX_posts
, woher XX
ist die ID Ihrer Site.
Es werden jedoch keine separaten Tabellen für Benutzerdaten verwendet. Diese werden in einer Tabelle gespeichert wp_users
und wp_usermeta
Tabelle für das gesamte Netzwerk.
Das bedeutet, dass Sie alle Tabellen mit Ausnahme der beiden Benutzertabellen von Ihrer alten Site kopieren müssen und die Namen der Dateien, die Sie kopieren, ändern müssen. Leider müssen Sie die Benutzer manuell auf der neuen Site mithilfe der WordPress-Verwaltungsbildschirme erstellen.
Weitere Informationen zu Multisite- und Datenbanktabellen finden Sie in diesem Tutorial zur WordPress-Datenbank und zu Multisite.
Im PhpMyAdmin Klicken Sie für Ihre alte Site auf die Schaltfläche Struktur Tab. Wählen Sie dann alle Tabellen außer aus wp_users
und wp_usermeta
. Ein Beispiel ist unten gezeigt.
Klicke auf das Mit Ausgewählten: Dropdown-Box auswählen Export und dann Gehen. Dies wird einen Download durchführen sql
Datei auf Ihrem Rechner mit dem Inhalt dieser Tabellen.
Wie ich oben erwähnt habe, kann man das nicht kopieren wp_users
und wp_usermeta
Tabellen, da diese im Multisite-Netzwerk dupliziert werden.
Bevor Sie mit dem Importieren der Tabellen beginnen, die Sie gerade heruntergeladen haben, richten Sie in Ihrer neuen Site dieselben Benutzer ein wie in Ihrer alten. Beachten Sie, dass sie in der Datenbank des Multisite-Netzwerks andere IDs haben als an der alten Site. Dies kann zu Ungenauigkeiten beim Zuweisen von Beiträgen zu Autoren führen. Sie müssen dies am Ende korrigieren, was ich später besprechen werde.
Machen Sie eine Kopie der sql
Datei, die auf Ihren Computer heruntergeladen wurde, und geben Sie einen Namen, der Sie darüber informiert, was es ist (z. B. durch Hinzufügen) Kopieren
zu seinem Namen). Öffnen Sie es in einem Code-Editor.
Ändern Sie alle Instanzen der Domäne des Standorts im Multisite-Netzwerk in ihre neue Multisite-Domäne. Zum Beispiel, wenn Ihre Site sich auf http://mysite.com
, Ändern Sie es in http://network.com/mysite
. Wenn Ihr Netzwerk Subdomains verwendet, müssen Sie es in ändern http://mysite.network.com
. Speichern Sie Ihre Datei.
Die Datenbanktabellen Ihrer neuen Multisite-Site benötigen Präfixe für die Site-ID. In deiner sql
Datei, ersetzen Sie alle Instanzen von wp_
mit wp_XX_
, woher XX
ist Ihre Site-ID.
Speichern Sie jetzt die sql
Datei.
Nachdem Sie Ihre Designs und Plugins installiert und Ihre Daten exportiert haben, müssen Sie die Datenbanktabellen in das Multisite-Netzwerk importieren.
Bevor Sie die Tabellen von Ihrer alten Site hochladen, müssen Sie die doppelten löschen, die WordPress Ihrer neuen Site hinzugefügt hat.
Löschen Sie in phpMyAdmin alle Tabellen, denen das Präfix vorangestellt ist wp_XX_
, woher XX
ist Ihre Site-ID. Dazu gehören die folgenden, aber möglicherweise auch Tabellen, die von Plugins erstellt werden:
wp_XX_commentmeta
wp_XX_kommentare
wp_XX_links
wp_XXoptions
wp_postmeta
wp_posts
wp_terms
wp_term_relationships
wp_term_taxonomy
Wählen Sie diese Tabellen aus (plus beliebige wp_XX_
Tabellen, die mit Plugins erstellt wurden), klicken Sie auf Mit Ausgewählten: Dropdown-Menü auswählen Fallen und dann Ja.
Das folgende Beispiel enthält eine zusätzliche Tabelle, die von einem Plugin erstellt wurde:
Wichtig: Wenn Ihre alte Site über von Plugins erstellte Datenbanktabellen verfügte, müssen Sie dieselben Plugins im Netzwerk installieren, bevor Sie die neue Datenbank importieren. Der Import enthält diese Tabellen, die erst funktionieren, wenn das Plugin installiert wurde.
Laden Sie als Nächstes die von Ihnen bearbeitete Datenbank hoch:
Leeren Sie den Cache Ihres Browsers. Dadurch werden Probleme vermieden, die möglicherweise auftreten, wenn der Browser Inhalte von der alten Site zwischengespeichert hat.
Melden Sie sich jetzt beim WordPress-Administrator für die Remote-Site an. Wenn Sie die Benutzertabellen verschoben haben, sind Ihre Anmeldedaten die gleichen wie für Ihre alte Site. Wenn Sie dies nicht getan haben, handelt es sich um das, was Sie bei der Installation von WordPress am neuen Speicherort angegeben haben.
Besuche den Permalinks Bildschirm für Ihre neue Site und schalten Sie die Permalinks wieder ein.
Schau dir deine Hauptsache an Beiträge und überprüfen, welche Autoren ihnen zugewiesen wurden - es besteht eine gute Chance, dass dies falsch ist. Sie können dies in der Masse ändern:
Der Bearbeitungsbereich wird im Screenshot angezeigt:
Wenn Ihre Site über Seiten und benutzerdefinierte Beitragstypen verfügt, wiederholen Sie die obigen Schritte für diese.
Stellen Sie sicher, dass alle Links in Ordnung sind und sich Widgets und Plugins wie gewünscht verhalten. Wenn dies nicht der Fall ist, können Sie entweder schrittweise durch den Vorgang zurückgreifen und Ihre Backups dort verwenden, wo Sie dies benötigen, oder einfach die Plugins und Widgets von Ihrem neuen Standort aus einrichten.
Wenn Sie bei der Installation eines einzelnen Standorts den gleichen Domänennamen beibehalten möchten, den Sie für den Standort verwendet haben, können Sie dazu das Plug-in für Domänenzuordnung verwenden. Installieren Sie das Plugin, aktivieren Sie es für Ihr Netzwerk und befolgen Sie dann die Anweisungen des Plugins, um es einzurichten. Dazu müssen Sie die DNS-Einstellungen Ihrer Domäne ändern.
Das Verschieben einer Site in ein WordPress Multisite-Netzwerk von einer eigenen Installation aus kann nicht schnell oder ohne sehr gründlich durchgeführt werden, aber es ist möglich, und ich habe es einige Male gemacht. Folgen Sie einfach den hier angegebenen Schritten und stellen Sie sicher, dass Sie im Falle von Problemen Sicherungskopien haben, und es sollte für Sie reibungslos funktionieren.