Circa un anno fa, ho avuto un disastro di hosting. Il server del mio hosting provider è stato violato e ci sono voluti più di una settimana per identificare il problema e correggerlo.
Nel frattempo, i siti dei miei clienti stavano tutti reindirizzando verso un sito di appuntamenti e stavo ricevendo telefonate che chiedevano di sistemare le cose subito.
Ho dovuto agire in fretta. Ma invece di spostare semplicemente tutti i siti come fossero su un nuovo server (e un nuovo provider di hosting, potrei aggiungere), ho deciso di spostare i siti in un modo che mi avrebbe reso più facile spostarli tutti di nuovo se Avevo bisogno di. Così ho spostato una serie di siti con la propria installazione di WordPress nella mia rete Multisite esistente, che avevo già spostato sul nuovo server.
Spostare singoli siti in una rete Multisite è più complicato del semplice spostamento in una nuova installazione di un singolo sito, ma non è impossibile. In questo tutorial ti mostrerò due metodi per farlo: usando i plugin e manualmente.
Per seguire questo tutorial, avrai bisogno di:
Se il tuo sito non dispone di molte configurazioni configurate tramite schermate di plug-in, tema o impostazioni del sito, potresti essere in grado di spostarlo con successo utilizzando il plug-in di importazione di WordPress. Se il sito dispone di widget, è possibile copiare le proprie impostazioni utilizzando il plug-in Importer / Exporter Impostazioni widget.
Tuttavia, se hai aggiunto molte configurazioni su misura utilizzando le impostazioni o le schermate delle opzioni o il customizer del tema, nessuna di queste verrà copiata. In questo caso dovrai fare una mossa manuale.
Per i dettagli completi su come utilizzare questi plugin per spostare il tuo sito, consulta la mia precedente esercitazione sull'uso dei plugin per spostare un sito WordPress. Il processo è esattamente lo stesso per lo spostamento di un sito in una rete multisito come lo è per un singolo sito.
Il sito in cui ti stai spostando in Multisite avrà tre componenti che dovrai copiare dal vecchio sito:
wp-content / uploads
nel tuo vecchio sito, mentre nell'installazione Multisite devono essere inseriti wp-content / uploads / siti / xx
, dove XX
è il tuo nuovo ID del sito nella rete (di cui più a breve)Nota: se la rete multisito in cui stai spostando il tuo sito è stata creata prima di WordPress 3.5, non avrà a siti
cartella. Invece avrai un blogs.dir
cartella in wp-content
con tutti i file di upload per i siti secondari. Questo avrà una cartella numerata per il sito che stai creando, in cui invece copierai i tuoi file. Tratterò questo in maggior dettaglio qui sotto.
Prima di fare qualcosa di simile, è una buona idea eseguire il backup del sito che stai spostando e la tua installazione Multisito Utilizza il tuo plug-in di backup preferito o una combinazione di FTP e phpMyAdmin se preferisci lavorare manualmente.
Utilizzerai questo backup per copiare i file pertinenti sul tuo nuovo sito e ti darà anche un po 'di tranquillità nel caso in cui tu abbia qualche problema.
Prima di poter migrare il vecchio sito in Multisite, è necessario creare un nuovo sito vuoto nella rete. Successivamente importerai tutto dal tuo vecchio sito in questo nuovo sito.
Crea il sito nel modo normale, andando a Amministratore di rete> Siti, clic Aggiungere nuova, e inserendo i dettagli del tuo nuovo sito.
Ogni sito in una rete Multisito ha il proprio ID numerico univoco. Questo è usato per identificare la sua cartella nel wp-content / uploads / Siti
directory (o wp-content / blogs.dir
se la tua rete multisito è più vecchia, vedi sopra) e anche per identificare le tabelle del database per quel sito.
Trova questo andando a Amministratore di rete> Siti e quindi selezionando il modificare opzione per il sito che hai appena creato. L'URL che WordPress ti porta a fornirti l'ID del sito. L'URL dovrebbe essere nel modulo http://mynetwork.com/wp-admin/network/site-info.php?id=XX
.
XX
è l'ID del tuo sito, e sarà il nome della cartella contenente i suoi file, così come il prefisso per i suoi nomi delle tabelle del database.
Identifica i plug-in usati dal tuo vecchio sito e installali (se non sono già installati) nella tua rete WordPress tramite il plugin schermo o caricarli su wp-content / plugins
dal backup che hai preso del tuo vecchio sito.
Fai lo stesso con qualsiasi tema utilizzato dal tuo sito: copialo dal backup fino al wp-content / themes
directory della tua rete, o semplicemente reinstallarli.
Nota: Temi e plug-in vengono archiviati in un'unica posizione per tutti i siti di una rete multisito, non è necessario memorizzarli in un luogo specifico per il nuovo sito.
Copia i caricamenti dal tuo vecchio sito a quello nuovo. I file che dovrai copiare sono dentro wp-content / uploads
nel tuo vecchio sito. Dove li carichi dipende da quanti anni ha la rete:
siti
cartella in wp-content / uploads
. Trova la sottocartella con l'ID del tuo sito e carica il contenuto del file wp-content / uploads
cartella dal tuo vecchio sito a quello.blogs.dir
cartella, che conterrà anche una cartella con l'ID del tuo sito. Avrà quindi una sottocartella chiamata File
. Copia il contenuto del wp-content / uploads
cartella dal tuo vecchio sito al File
cartella.Nota: potrebbe essere necessario eliminare tutte le cartelle create da WordPress per il tuo nuovo sito nel siti
o blogs.dir
cartella per evitare eventuali scontri.
Una volta che hai fatto tutto questo, attiva eventuali temi e plugin nel tuo nuovo sito.
WordPress Multisite utilizza tabelle di database separate per ogni sito nella rete. Invece di memorizzare i post per il tuo sito in wp_posts
, per esempio, lo memorizza wp_XX_posts
, dove XX
è l'ID del tuo sito.
Tuttavia non usa tabelle separate per i dati utente, questo è memorizzato in uno wp_users
e wp_usermeta
tabella per l'intera rete.
Ciò significa che dovrai copiare tutte le tabelle dal tuo vecchio sito, eccetto le due tabelle utente, e dovrai modificare i nomi dei file che stai copiando. Purtroppo dovrai creare manualmente gli utenti nel nuovo sito utilizzando le schermate di amministrazione di WordPress.
Per ulteriori informazioni su tabelle Multisite e database, consultare questo tutorial sul database di WordPress e Multisite.
Nel PhpMyAdmin per il tuo vecchio sito, clicca su Struttura scheda. Quindi selezionare tutte le tabelle tranne wp_users
e wp_usermeta
. Un esempio è mostrato sotto.
Clicca sul Con selezionato: casella a discesa, selezionare Esportare e poi Partire. Questo scaricherà a sql
file sulla macchina con il contenuto di tali tabelle.
Come ho detto sopra, non è possibile copiare il file wp_users
e wp_usermeta
tabelle in quanto saranno duplicate nella rete Multisito.
Prima di iniziare a importare le tabelle che hai appena scaricato, configura gli stessi utenti nel tuo nuovo sito come nel tuo vecchio. Si noti che avranno ID diversi nel database della rete Multisite di quanto non abbiano fatto nel vecchio sito, il che potrebbe causare alcune inesattezze nell'assegnare messaggi agli autori. Dovrai correggere questo alla fine, che tratterò più tardi.
Crea una copia di sql
file che è stato scaricato sulla tua macchina e dargli un nome che ti dice di cosa si tratta (per esempio aggiungendo copia
al suo nome). Aprilo in un editor di codice.
Cambia tutte le istanze del dominio del sito nella rete Multisito nel suo nuovo dominio Multisito. Ad esempio se il tuo sito era a http://mysite.com
, cambiarlo in http://network.com/mysite
. Se la tua rete utilizza sottodomini, dovrai cambiarla http://mysite.network.com
. Salva il tuo file.
Le tabelle del database nel tuo nuovo sito Multisito avranno bisogno di prefissi per l'ID del sito. Nel tuo sql
file, sostituire tutte le istanze di wp_
con wp_XX_
, dove XX
è il tuo ID del sito.
Ora salva il sql
file.
Ora che hai installato temi e plugin e hai esportato i tuoi dati, devi importare le tabelle del database nella rete Multisito.
Prima di caricare le tabelle dal tuo vecchio sito, dovrai eliminare quelli duplicati che WordPress ha aggiunto al tuo nuovo sito.
In phpMyAdmin, trascina qualsiasi tabella con prefisso wp_XX_
, dove XX
è il tuo ID del sito. Questi includeranno quanto segue, ma potrebbero anche includere tabelle create dai plugin:
wp_XX_commentmeta
wp_XX_comments
wp_XX_links
wp_XXoptions
wp_postmeta
wp_posts
wp_terms
wp_term_relationships
wp_term_taxonomy
Seleziona quelle tabelle (più qualsiasi wp_XX_
tabelle create dai plugin), fare clic su Con selezionato: menu a discesa, selezionare Far cadere e poi sì.
L'esempio seguente include una tabella aggiuntiva che è stata creata da un plugin:
Importante: se il tuo vecchio sito aveva tabelle di database create da plugin, è necessario installare gli stessi plug-in sulla rete prima di importare il nuovo database. L'importazione includerà queste tabelle, che non funzioneranno se il plugin non è stato installato.
Successivamente carica il database che hai modificato:
Cancella la cache del browser. Questo evita qualsiasi problema tu possa avere se il browser ha contenuto nella cache dal vecchio sito.
Ora accedi all'amministratore di WordPress per il sito remoto. Se hai spostato le tabelle degli utenti, i tuoi dati di accesso saranno uguali a quelli del tuo vecchio sito, ma se non lo facessi, saranno quelli che hai specificato quando hai installato WordPress nella nuova posizione.
Visitare il permalink schermo per il tuo nuovo sito e attiva nuovamente i permalink.
Guarda il tuo principale Messaggi schermo e controllare quali autori sono stati assegnati a loro-c'è una buona possibilità che questo sia sbagliato. Puoi cambiarlo alla rinfusa:
Il riquadro di modifica è mostrato nello screenshot:
Se il tuo sito ha pagine e tipi di post personalizzati, ripeti il precedente per quelli.
Verifica che tutti i tuoi collegamenti funzionino correttamente e che i widget e i plugin si comportino come dovrebbero. In caso contrario, è possibile tornare indietro nel processo, utilizzare i backup in cui è necessario o semplicemente impostare plug-in e widget dal nuovo sito.
Se si desidera mantenere lo stesso nome di dominio che si stava utilizzando per il sito quando si trovava in una singola installazione del sito, è possibile utilizzare il plug-in di mappatura del dominio per farlo. Installa il plug-in, attivalo per la tua rete, quindi segui le istruzioni fornite dal plug-in per configurarlo. Ciò comporterà modifiche alle impostazioni DNS del tuo dominio.
Spostare un sito in una rete Multisite WordPress dalla propria installazione non è qualcosa che si può fare rapidamente o senza essere molto accurati, ma è possibile e l'ho fatto alcune volte. Segui semplicemente i passaggi indicati qui e assicurati di disporre di backup in caso di problemi e dovresti trovare che funzioni senza problemi.