Déplacement de WordPress Déplacement d'un site dans un réseau multisite

Il y a environ un an, j'ai eu une catastrophe d'hébergement. Le serveur de mon fournisseur d'hébergement a été piraté et il leur a fallu plus d'une semaine pour identifier le problème et le résoudre..

Pendant ce temps, les sites de mes clients étaient tous redirigés vers un site de rencontre et je recevais des appels téléphoniques me demandant de réparer tout de suite..

Je devais agir vite. Mais au lieu de simplement déplacer tous les sites tels qu’ils étaient sur un nouveau serveur (et un nouveau fournisseur d’hébergement, pourrais-je ajouter), j’ai décidé de déplacer les sites de manière à ce qu’il me soit plus facile de tous les déplacer si J'avais besoin de. J'ai donc déplacé un certain nombre de sites avec leur propre installation WordPress dans mon réseau multisite existant, que j'avais déjà déplacé vers le nouveau serveur..

Déplacer des sites uniques vers un réseau multisite est plus compliqué que de le déplacer vers une nouvelle installation à site unique, mais ce n'est pas impossible. Dans ce tutoriel, je vais vous montrer deux méthodes pour le faire: utiliser des plugins et manuellement.

Ce dont vous aurez besoin

Pour suivre ce tutoriel, vous aurez besoin de:

  • Une installation de WordPress avec un site existant en cours d'exécution.
  • Un réseau multisite dont vous êtes l'administrateur réseau.
  • Pour les déplacements manuels, vous aurez besoin d'un client FTP, d'un éditeur de code et d'un accès à phpMyAdmin..

Utiliser un plugin pour déplacer un site dans un multisite

Si la configuration de votre site n'est pas très complexe via des écrans de plug-in, de thème ou de paramètres de site, vous pourrez peut-être le déplacer avec succès à l'aide du plug-in WordPress Importer. Si le site dispose de widgets, vous pouvez copier leurs paramètres à l'aide du plug-in Importer / Exportateur de paramètres de widget..

Toutefois, si vous avez ajouté de nombreuses configurations sur mesure à l'aide d'écrans de paramètres ou d'options ou du personnalisateur de thème, aucune d'entre elles ne sera copiée. Dans ce cas, vous devrez effectuer un déplacement manuel..

Pour plus de détails sur l'utilisation de ces plugins pour déplacer votre site, consultez mon précédent tutoriel sur l'utilisation des plugins pour déplacer un site WordPress. Le processus est exactement le même pour déplacer un site dans un réseau multisite que pour un site unique..

Migration manuelle d'un site en multisite

Le site que vous allez migrer vers le multisite comportera trois composants que vous devrez copier à partir de l'ancien site:

  • fichiers de thèmes et de plugins - vous pouvez les copier ou les installer sur le réseau s'ils ne sont pas déjà installés
  • uploads-vous les trouverez dans wp-content / uploads dans votre ancien site, alors que dans l'installation Multisite, ils devront entrer dans wp-content / uploads / sites / XX, où XX est l'identifiant de votre nouveau site sur le réseau (dont plusieurs prochainement)
  • tables de base de données

Remarque: si le réseau multisite dans lequel vous déplacez votre site a été créé avant WordPress 3.5, il ne disposera pas de des sites dossier. Au lieu de cela, vous aurez un blogs.dir dossier dans wp-content avec tous les fichiers de téléchargement pour les sous-sites. Cela aura un dossier numéroté pour le site que vous créez, dans lequel vous copiez vos fichiers. Je couvrirai cela plus en détail ci-dessous.

Sauvegarder en premier

Avant de faire quelque chose comme ça, c'est une bonne idée de sauvegarder le site que vous déplacez. et votre installation multisite. Utilisez votre plugin de sauvegarde préféré, ou une combinaison de FTP et de phpMyAdmin si vous préférez travailler manuellement.

Vous utiliserez cette sauvegarde pour copier les fichiers pertinents sur votre nouveau site. Vous aurez également l'esprit tranquille en cas de problème..

Créer un nouveau site dans le réseau

Avant de pouvoir migrer votre ancien site vers Multisite, vous devez créer un nouveau site vide sur le réseau. Plus tard, vous importez tout de votre ancien site dans ce nouveau site.

Créez le site normalement, en allant sur Administrateur réseau> Sites, en cliquant Ajouter un nouveau, et en entrant les détails de votre nouveau site.

Recherche de l'ID de votre nouveau site dans le réseau multisite

Chaque site d'un réseau multisite a son propre identifiant numérique. Ceci est utilisé pour identifier son dossier dans le dossier wp-content / uploads / sites répertoire (ou wp-content / blogs.dir si votre réseau multisite est plus ancien - voir ci-dessus), ainsi que pour identifier les tables de base de données de ce site..

Trouvez ceci en allant à Administrateur réseau> Sites puis en sélectionnant le modifier option pour le site que vous venez de créer. L'URL de WordPress vous amène à vous donner l'identifiant du site. L'URL devrait être sous la forme http://mynetwork.com/wp-admin/network/site-info.php?id=XX.

XX est l'ID de votre site et sera le nom du dossier contenant ses fichiers, ainsi que le préfixe de ses noms de table de base de données.

Téléchargement de fichiers sur le nouveau site

Identifiez les plugins utilisés par votre ancien site et installez-les (s’ils ne le sont pas déjà) dans votre réseau WordPress via le Plugins écran ou les télécharger à wp-content / plugins à partir de la sauvegarde de votre ancien site.

Faites de même pour les thèmes que votre site utilise - copiez-les de votre sauvegarde vers le wp-content / themes répertoire de votre réseau, ou simplement les réinstaller.

Remarque: les thèmes et les plug-ins sont stockés au même endroit pour tous les sites d'un réseau multisite. Vous n'avez pas besoin de les stocker dans un emplacement spécifique pour le nouveau site..

Copiez les téléchargements de votre ancien site sur le nouveau. Les fichiers à copier sont en cours wp-content / uploads dans votre ancien site. Le lieu où vous les chargez dépend de l'âge du réseau:

  • Si le réseau a été créé après WordPress 3.5, il aura un des sites dossier dans wp-content / uploads. Recherchez le sous-dossier avec l'identifiant de votre site et téléchargez le contenu du fichier. wp-content / uploads dossier de votre ancien site à celui.
  • Si le réseau est ancien et possède un blogs.dir dossier, qui contiendra également un dossier avec l'identifiant de votre site. Cela aura alors un sous-dossier appelé des dossiers. Copier le contenu de la wp-content / uploads dossier de votre ancien site à la des dossiers dossier.

Remarque: vous devrez peut-être supprimer les dossiers créés par WordPress pour votre nouveau site dans des sites ou blogs.dir dossier pour éviter les affrontements.

Une fois que tout cela est fait, activez tous les thèmes et plugins dans votre nouveau site..

Exporter les tables de votre ancien site

WordPress Multisite utilise des tables de base de données distinctes pour chaque site du réseau. Au lieu de stocker les messages de votre site dans wp_posts, par exemple, il le stocke dans wp_XX_posts, où XX est l'identifiant de votre site.

Cependant, il n’utilise pas de tables séparées pour les données utilisateur; celles-ci sont stockées dans un fichier. wp_users et wp_usermeta table pour l'ensemble du réseau.

Cela signifie que vous devez copier toutes les tables de votre ancien site, à l'exception des deux tables utilisateur, et modifier les noms des fichiers que vous copiez. Malheureusement, vous devrez créer les utilisateurs manuellement dans le nouveau site à l'aide des écrans d'administration WordPress..

Pour plus d'informations sur les tables multisites et de bases de données, consultez ce didacticiel sur la base de données WordPress et Multisite..

Dans PhpMyAdmin pour votre ancien site, cliquez sur le bouton Structure languette. Puis sélectionnez toutes les tables sauf wp_users et wp_usermeta. Un exemple est montré ci-dessous.

Clique sur le Avec sélectionné: liste déroulante, sélectionnez Exportation et alors Aller. Cela téléchargera un sql déposer sur votre machine avec le contenu de ces tables.

Ajout d'utilisateurs

Comme je l'ai mentionné ci-dessus, vous ne pouvez pas copier le wp_users et wp_usermeta tables car elles seront dupliquées dans le réseau multisite. 

Avant de commencer à importer les tables que vous venez de télécharger, configurez les mêmes utilisateurs dans votre nouveau site que ceux que vous aviez dans votre ancien. Notez qu'ils auront des identifiants différents dans la base de données du réseau multisite par rapport à ceux de l'ancien site, ce qui peut entraîner des imprécisions lors de l'attribution de publications aux auteurs. Vous devrez corriger cela à la fin, ce que je couvrirai plus tard..

Modification des tables de la base de données

Faites une copie du sql fichier qui a été téléchargé sur votre ordinateur et nommez-le de la même manière (par exemple en ajoutant copie à son nom). Ouvrez-le dans un éditeur de code.

Modification des liens

Remplacez toutes les instances du domaine du site du réseau multisite par son nouveau domaine multisite. Par exemple, si votre site était à http://monsite.com, changez le en http://network.com/mysite. Si votre réseau utilise des sous-domaines, vous devrez le changer en http://monsite.network.com. Enregistrez votre fichier.

Modification des références de table

Les tables de base de données de votre nouveau site multisite auront besoin de préfixes pour l'ID de site. Dans ton sql fichier, remplace toutes les instances de wp_ avec wp_XX_, où XX est votre identifiant de site.

Maintenant, enregistrez le sql fichier.

Importation de tables dans la nouvelle base de données

Maintenant que vous avez installé vos thèmes et plug-ins et exporté vos données, vous devez importer les tables de la base de données sur le réseau multisite..

Supprimer les tables existantes

Avant de télécharger les tables à partir de votre ancien site, vous devez supprimer les doublons que WordPress a ajoutés à votre nouveau site..

Dans phpMyAdmin, supprimez toutes les tables préfixées par wp_XX_, où XX est votre identifiant de site. Ceux-ci incluront les éléments suivants, mais peuvent également inclure des tables créées par des plugins:

  • wp_XX_commentmeta
  • wp_XX_comments
  • wp_XX_links
  • wp_XXoptions
  • wp_postmeta
  • wp_posts
  • wp_terms
  • wp_term_relationships
  • wp_term_taxonomy

Sélectionnez ces tables (plus toute wp_XX_ tables créées par les plugins), cliquez sur le bouton Avec sélectionné: menu déroulant, sélectionnez Laissez tomber et alors Oui.

L'exemple ci-dessous inclut une table supplémentaire créée par un plugin:

Important: Si votre ancien site contenait des tables de base de données créées par des plug-ins, vous devez installer ces mêmes plug-ins sur le réseau avant d'importer la nouvelle base de données. L'importation inclura ces tables, qui ne fonctionneront que si le plugin a été installé.

Téléchargement des tables de la base de données

Ensuite, téléchargez la base de données que vous avez modifiée:

  • Clique le Importation languette.
  • Clique le Choisir le fichier bouton.
  • Sélectionnez le fichier SQL que vous avez édité et cliquez sur Choisir ou D'accord.
  • Clique le Aller bouton.
  • Après un certain temps (selon la taille de votre base de données), vous verrez un message vous indiquant que le téléchargement est terminé avec succès.

Étapes finales

Effacez le cache de votre navigateur. Cela évite les problèmes éventuels si le navigateur a mis en cache le contenu de l'ancien site..

Connectez-vous maintenant à l’administrateur WordPress du site distant. Si vous avez déplacé les tables d'utilisateurs, vos informations de connexion seront les mêmes que pour votre ancien site, mais si ce n'est pas le cas, elles correspondront à ce que vous avez spécifié lors de l'installation de WordPress au nouvel emplacement..

Visiter le Liens permanents filtrer votre nouveau site et réactiver les jolis permaliens.

Regarde ta principale Des postes écran et vérifiez quels auteurs leur ont été assignés - il y a de fortes chances que cela soit faux. Vous pouvez changer ceci en gros:

  1. Sélectionner tous les messages qui devraient être attribués à un auteur donné.
  2. Cliquez sur Actions en vrac et modifier.
  3. Cliquez sur Appliquer.
  4. Dans le volet qui apparaît, sélectionnez le bon auteur dans la liste déroulante..
  5. Cliquez sur Mettre à jour.

Le volet d'édition est affiché dans la capture d'écran:

Si votre site comporte des pages et des types de publication personnalisés, répétez la procédure ci-dessus pour ces pages..

Vérifiez que tous vos liens fonctionnent correctement et que les widgets et les plugins se comportent comme ils le devraient. Sinon, vous pouvez soit revenir en arrière dans le processus, en utilisant vos sauvegardes là où vous en avez besoin, soit simplement configurer les plugins et les widgets à partir de votre nouveau site..

Configuration du mappage de domaine

Si vous souhaitez conserver le même nom de domaine que celui que vous utilisiez pour le site lors de l'installation d'un site unique, vous pouvez utiliser le plug-in de mappage de domaine pour le faire. Installez le plug-in, activez-le pour votre réseau, puis suivez les instructions fournies par le plug-in pour le configurer. Cela impliquera de modifier les paramètres DNS de votre domaine..

Résumé

Transférer un site sur un réseau multisite WordPress à partir de sa propre installation n’est pas une chose à faire rapidement ou sans être très minutieux, mais c’est possible et je l’ai fait plusieurs fois. Suivez simplement les étapes indiquées ici et assurez-vous d’avoir des sauvegardes en cas de problème, et vous devriez trouver que cela fonctionne bien pour vous..