Spostamento di WordPress spostamento di un sito in una rete multisito

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.

Cosa ti serve

Per seguire questo tutorial, avrai bisogno di:

  • Un'installazione di WordPress con un sito esistente in esecuzione su di esso.
  • Una rete multisito di cui sei l'amministratore di rete.
  • Per le mosse manuali, avrai bisogno di un client FTP, un editor di codice e l'accesso a phpMyAdmin.

Utilizzo di un plugin per spostare un sito in un multisito

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.

Migrazione manuale di un sito in multisito

Il sito in cui ti stai spostando in Multisite avrà tre componenti che dovrai copiare dal vecchio sito:

  • temi e file plugin: è possibile copiarli o installarli nella rete se non sono già installati
  • caricamenti: troverai questi in 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)
  • tabelle del database

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.

Primo backup

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.

Creazione di un nuovo sito nella rete

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.

Trovare l'ID del tuo nuovo sito nella rete multisito

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.

Caricamento di file sul nuovo sito

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:

  • Se la rete è stata creata dopo WordPress 3.5, avrà a 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.
  • Se la rete è più vecchia e ha un 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.

Esportare le tabelle del vecchio 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.

Aggiunta di utenti

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.

Modifica delle tabelle del database

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.

Modifica dei collegamenti

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.

Modifica dei riferimenti alle tabelle

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.

Importazione di tabelle nel nuovo database

Ora che hai installato temi e plugin e hai esportato i tuoi dati, devi importare le tabelle del database nella rete Multisito.

Eliminazione delle tabelle esistenti

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 .

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.

Caricamento delle tabelle del database

Successivamente carica il database che hai modificato:

  • Clicca il Importare linguetta.
  • Clicca il Scegli il file pulsante.
  • Seleziona il file sql che hai modificato e fai clic Scegliere o ok.
  • Clicca il Partire pulsante.
  • Dopo un po '(a seconda della dimensione del tuo database), vedrai un messaggio che ti informa che il caricamento è terminato.

Passaggi finali

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:

  1. Seleziona tutti i post che dovrebbero essere assegnati ad un determinato autore.
  2. Clic Azioni in blocco e modificare.
  3. Clic Applicare.
  4. Nel riquadro visualizzato, seleziona l'autore corretto dalla casella a discesa.
  5. Clic Aggiornare.

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.

Impostazione del mapping del dominio

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.

Sommario

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.