Comment migrer un multisite WordPress vers un site unique avec WooCommerce ?

Passer ou migrer WordPress Multisite vers un site unique est une tâche délicate. Ajouter WooCommerce dans le mélange et c’est un plus grand exploit. C’est aussi exactement ce que j’avais besoin de faire.

 

Les étapes

 

Etape #1 : Télécharger la base de données du site

La configuration de WooCommerce Multisite (Multi-Store) duplique un ensemble de tables pour chaque site. Puisque notre objectif est d’extraire un seul des sites parmi ceux qui existent, nous devons exporter les tables qui sont associées à ce site.

Dans mon cas, l’ID du site 2, plus les tables des utilisateurs.

En utilisant phpMyAdmin, cliquez sur la base de données de votre site et cliquez sur Export.

Puis, vous devez garder toutes les tables cochées. Cela inclut l’ID de votre site.

Dans mon cas, c’est l’ID du site 2, qui a ceci dans son nom listé : _2_.

Puis, désélectionnez toutes les autres tables excluant « wp_users » et « wp_usermeta » comme dans l’image ci-dessous.

Maintenez tous les autres paramètres tels quels, faites défiler jusqu’au bas de la page et cliquez sur Go.

Votre base de données devrait se télécharger localement, ce qui pourrait prendre jusqu’à une minute selon la taille de la base de données.

 

Étape #2 : Modifier les noms des tables de la base de données

Dans cette étape, vous devez renommer les tables de la base de données de wp_2_ à wp_ puisqu’elles vont être les tables principales du site. Ceci par opposition aux tables secondaires pour un site supplémentaire.

Une fois que la base de données a été entièrement téléchargée, ouvrez le fichier SQL dans un éditeur de texte et faites une recherche et un remplacement de wp_2_ à wp_.

Cela devrait remplacer les noms des tables de la base de données uniquement et rien d’autre dans le texte du fichier.

Enregistrez le fichier et fermez l’éditeur de texte.

 

Étape #3 : Importer la base de données modifiée

Maintenant que vous avez la « nouvelle » base de données modifiée pour le site unique, créez une nouvelle base de données dans laquelle importer les tables.

Créez une nouvelle base de données dans cPanel, ou le panneau d’administration de votre hébergeur, et importez les tables via phpMyAdmin en sélectionnant la nouvelle table. Ensuite, cliquez sur Import.

Veuillez noter : si vous utilisez une structure de sous-domaine ou de sous-dossier Multisite, alors vous voudrez changer les valeurs d’URL dans les rangées de la base de données « siteurl » et « home » dans la table « wp_options, » pour la nouvelle URL de site unique.

 

Étape #4 : supprimer la configuration Multisite de WooCommerce dans wp-config.php

Dans cette étape, nous allons supprimer les définitions Multisite et changer la configuration de la base de données pour la nouvelle que nous venons d’importer à l’étape précédente.

Trouver votre fichier wp-config.php à la racine du site web et l’ouvrir dans un éditeur de texte.

D’abord, basculer la table de la base de données vers la nouvelle table et le nouvel utilisateur qui a été créé pour cette table :

 

Step #5 : Editez

 Ouvrez-le dans un éditeur de texte et supprimez le code suivant :

# BEGIN WordPress. RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ – [L] # ajouter une barre oblique à /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d Règle de réécriture ^ – [L] RewriteRule ^([_0-9a-zA-Z-]+/) ?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/) ?(.*\\.php)$ $2 [L] RewriteRule . index.php [L] # END WordPress

Ajouter maintenant le code suivant à la place:

# BEGIN WordPress <IfModule mod_rewrite.c> ; RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f Réécrire le critère %{REQUEST_FILENAME} !-f !-d RewriteRule . /index.php [L] </IfModule> ; # END WordPress

 

Enregistrer et fermer le fichier .htaccess.

Étape n°6 : Copier les images du multisite sur le site unique

Pour cette étape, vous avez besoin d’une copie du dossier  » uploads  » complet du multisite qui se trouve à l’adresse /wp-content/uploads/.

Dans ce dossier, vous trouverez un autre dossier appelé  » sites  » et là, vous trouverez un numéro correspondant à l’ID du site, et un dossier  » uploads  » à l’intérieur, comme dans cet exemple : /wp-content/uploads/sites/2/uploads/.

Maintenant, déplacez le dossier uploads du site spécifique pour qu’il soit le dossier uploads principal puisque vous allez supprimer tous les autres sites et leurs images.

Je vous suggère de télécharger une copie locale du dossier /wp-content/uploads/ à partir d’une sauvegarde de site que vous avez. Ensuite, via FTP, copiez simplement le dossier /wp-content/uploads/sites/2/uploads/ vers /wp-content/uploads/, en remplaçant tout son contenu et en supprimant le dossier « sites » dans le processus.

 

Étape n°7 : Rechercher et remplacer les liens d’image dans la base de données

À ce stade, vous devriez pouvoir vous connecter à votre  » nouveau  » site unique sans aucun problème.

Vous remarquerez que vous n’avez maintenant qu’une installation de site unique et que le réseau multisite a été supprimé.

Une fois connecté, je suggère d’installer le plugin Search and Replace afin que vous puissiez remplacer tous les liens d’image qui sont cassés en raison de l’étape six.

Activer le plugin, puis allez dans Tools > ; Search & ; Replace et cliquez sur l’onglet Search & ; Replace.

Vous voulez rechercher toutes les instances de « /uploads/sites/2/ » et les remplacer par « /uploads/ », et n’oubliez pas de remplacer « 2 » par l’ID du site réel pour votre cas.

C’est aussi une bonne idée de sélectionner Dry Run la première fois que vous recherchez et remplacez. De cette façon, vous pouvez vous assurer que le processus a été effectué correctement.

Une fois que vous êtes certain que tous les champs sont définis correctement, décochez Dry Run et sélectionnez Save changes to Database.

Il peut également être important de noter qu’il y a une autre étape que vous pouvez vouloir prendre si vous voyez des images cassées ou si votre site Web ne se charge pas correctement. Vous pouvez rechercher et remplacer l’ancien domaine principal sur le Multisite par le nouveau domaine unique.

 

Etape n°8 : Enregistrer les permaliens

La dernière étape, qui est simple mais cruciale, est d’aller dans Settings > ; Permalinks et de cliquer sur Save.

Cela garantit que tous vos liens fonctionneront correctement sur votre site.