Créer le blog sur l'administration du réseau pour accueillir la migration et noter l'ID du blog (%BLOG_ID%
ci-après)
On part du principe que les fichiers se trouvent sur le même serveur. Sinon, se rapporter à la documentation RSync ou transférer les fichiers en FTP.
Créer le répertoire pour l'hébergement des fichiers liés du blog (attachments) :
mkdir -p new_network/wp-content/uploads/sites/%BLOG_ID%/
Copier les fichiers existants :
cp -r old_blog/wp-content/uploads/* new_network/wp-content/uploads/sites/%BLOG_ID%/
Copier les thèmes :
cp -r old_blog/wp-content/themes/* new_network/wp-content/themes/
Copier les extensions:
cp -r old_blog/wp-content/plugins/* new_network/wp-content/plugins/
Activer thèmes et extensions nécessaires pour le blog en cours de migration via l'administration du réseau.
Exporter la BDD avec l'option "Vider la table avant l'insertion des données" (ou toute autre option qui fait ce job). Remplacer les noms de tables :
oldprefix_
devient newprefix_%BLOGID%_
Attention à l'option oldprefix_user_roles
qui doit également être modifiée de la même façon (dans la table options
de WP).
Importer les données modifiées dans la nouvelle BDD.
Remplacer les urls de fichier via la commande search-replace
de la WP-CLI :
wp search-replace "/uploads/" "/uploads/sites/%BLOG_ID%/" --url="%BLOG_URL%" --dry-run
--dry-run
permet de voir l'étendue des modifications avant de modifier les données.
Mettre à jour les permaliens sur le blog migré en visitant la page wp-admin/options-permalink.php
du nouveau blog.