Aller au contenu
Accueil / Migrer WordPress – Tutoriel détaillé

Migrer WordPress – Tutoriel détaillé

Migration Wordpress

La question revient régulièrement sous différentes formes sur les réseaux sociaux consacrés à WordPress : comment migrer mon site?

  • Migrer WordPress d’une version locale à une version en ligne,
  • ou sauvegarder en local une version en ligne,
  • ou passer d’un hébergeur à un autre,

La démarche est en réalité strictement la même.

Sur ces mêmes réseaux sociaux, les réponses se limitent le plus souvent à conseiller tel ou tel plugin. Pourtant, il suffit en fait de bien comprendre ce qu’est un site WordPress :

  • Une arborescence de fichiers
  • Une base de données
  • Un lien entre les deux

Voila, vous avez le plan de l’intervention ! Pour migrer un site WordPress, il faut donc copier les fichiers et la base de données, puis mettre à jour le lien entre les deux.

Au sommaire :

Prérequis : hébergement et nom de domaine

Le point commun entre les trois démarches de migration est en effet d’avoir un abonnement chez un hébergeur. Un hébergeur est une société qui gère des centaines de serveurs, où se trouvent les sites de milliers de clients. Parmi les plus connus, on compte ainsi : OVH , o2switch, 1&1, PlanetHoster, NiHost, et bien d’autres. C’est chez l’un d’eux que vous allez déposer une copie de votre site, pour ainsi le faire connaitre à la face du monde : votre site sera « en ligne ».

Si vous migrez votre site pour la première fois en ligne, il pourra être utile de lui associer un nom de domaine. La plupart des hébergeurs proposent des services de location de noms de domaines. Il suffit donc de se rendre sur le site de l’un d’entre eux (tant qu’à faire, celui que vous avez choisi pour votre hébergement, mais ce n’est pas une obligation). Une fois sur la bonne page, il faut d’abord choisir une adresse et voir si elle est disponible. Puis il faut choisir une extension. Enfin, il ne reste plus qu’à souscrire un contrat de location : le tarif, à l’année, dépend de l’extension.

A titre d’exemple, voici la page à visiter chez OVH.

↑ — Revenir au sommaire

1. L’arborescence de fichiers de WordPress – Filezilla

1.1. Migrer les fichiers de WordPress

Quand on installe un WordPress, que ce soit en local ou à distance, on commence d’abord par décompresser le fichier téléchargé sur le site de WordPress en déposant son contenu à l’endroit prévu :

  • soit en local : alors que Windows ne permet pas par défaut d’installer facilement un environnement Apache/PHP/MySQL, les utilisateurs et développeurs préfèrent se tourner vers des solutions répandues et toutes-en-un telles que WampServeur, Xamp, Mamp, EasyPHP, etc)
  • soit sur le serveur distant en suivant les indications notre l’hébergeur.

On obtient alors l’arborescence suivante :

Arborescence de WordPress 5.4

Puis l’arborescence évolue au fil de la vie du site (thèmes, extensions….). Au bout d’un moment il vous viendra le besoin de migrer votre site, soit pour le faire connaitre à la face du monde, soit pour en faire une sauvegarde en local, soit pour changer d’hébergeur.

↑ — Revenir au sommaire

1.2. Le client FTP Filezilla

Pour migrer WordPress, la première étape consiste donc à transférer notre arborescence de fichiers. Pour ce faire, on va utiliser un client FTP.

Filezilla figure parmi les plus connus. Ils s’agit d’un logiciel qui se décompose en deux moitiés : d’un côté notre disque dur local, de l’autre, l’endroit qui nous est dévolu chez notre hébergeur. Ce dernier nous fournit les trois éléments indispensables pour se connecter à notre espace FTP chez lui.

  • l’adresse de l’hôte FTP
  • un login
  • un mot de passe

Cependant, attention, ne pas confondre avec notre espace client, où seuls un login et un mot de passe sont requis

Ouvrez maintenant Filezilla. Puis placez-vous sur le bon dossier sur votre disque dur (côté gauche dans Filezilla), connectez-vous à votre hébergeur (côté droit). Pour migrer WordPress… faites un simple cliquer-glisser :

  • du disque dur vers le serveur pour une mise en ligne,
  • du serveur vers votre disque dur pour une sauvegarde.
  • Pour un changement d’hébergeur, faites d’abord une sauvegarde depuis votre ancien hébergeur, puis dans un deuxième temps, envoyez cette sauvegarde en ligne chez votre nouvel hébergeur.
A gauche, mon disque dur | A droite, Le serveur de l’hébergeur | En haut les messages de Filezilla | En bas, les fichiers en cours de transfert

Vous en avez maintenant terminé avec vos fichiers.

↑ — Revenir au sommaire

2. Migrer la base de données de WordPress – phpmysql

Souvenez-vous : un site WordPress, ce n’est pas seulement une arborescence de fichiers, c’est aussi une base de données. Une base de données est un système qui stocke vos informations et vos contenus. Dans le cas de WordPress, ces données concernent donc :

  • Articles, pages et autres contenus.
  • Renseignements sur l’organisation tels que les catégories et les étiquettes.
  • Données utilisateur et commentaires.
  • Réglages du site.
  • Données liées au thème et aux extensions
  • etc

En savoir plus : Un guide pour débutant sur la base de données WordPress

Les tables d’un WordPress tout juste installé. Certaines extension peuvent installer des tables en plus

Il va donc vous falloir également récupérer votre base de données sur son ancien emplacement, puis la dupliquer sur son nouvel emplacement, mais pas seulement. Pour ce faire on va utiliser un logiciel de base de données, tel que MySQL, PostgreSQL, Mongo DB… ou autre. La plupart des hébergeurs en fournissent un ou plusieurs. Idem pour les environnements locaux PHP/MySQL.

↑ — Revenir au sommaire

2. 1. Vous connecter à votre base de données

Pour notre exemple, nous allons utiliser phpmyadmin. Pour accéder à votre logiciel de base de données, il vous faudra :

  • L’adresse de votre logiciel (chez OVH, il vous faudra passer par l’onglet base de données sur votre compte client, dans Xampp vous pourrez taper directement http://localhost/phpmyadmin/ , etc)
  • Le nom du serveur de la base de données
  • Votre nom d’utilisateur
  • Le mot de passe pour la base de données
Votre hébergeur doit vous avoir fourni ces informations
  • En local, le lien suffit parfois. Sinon, l’utilisateur est souvent root, le serveur localhost, et il n’y a pas de mot de passe.
  • En ligne, ces informations vous ont été fournies par votre hébergeur. Vous pouvez aussi les retrouver dans votre fichier wp-config.php (voir le point 3) :
wp-config.php

Pour le transfert, vous allez donc devoir vous connecter à vos deux espaces de base données : celui où se trouve votre site, et celui où vous voulez dupliquer ce dernier.

↑ — Revenir au sommaire

2.2. Dupliquer la base de données

Bravo, vous voici maintenant dans votre interface de gestion de base de données.

Dans le phpmyadmin de départ,

  • D’abord n’oubliez pas de sélectionner votre base de données,
  • puis cliquez sur l’onglet « Exporter« .
  • Enfin cliquez sur « Exécuter » sans changer les réglages par défaut.
  • Vous obtenez alors un fichier SQL que vous posez ou vous voulez sur votre disque dur. Il servira dans l’étape suivante.
phpmyadmin Exporter

Dans le phpmyadmin d’arrivée,

  • De nouveau, n’oubliez pas de sélectionner votre base de données,
  • puis cliquez sur l’onglet « Importer« .
  • Ensuite, cliquez sur « Parcourir » et sélectionnez le fichier sql obtenu dans le phpmyadmin de départ
  • Enfin cliquez sur « Exécuter« , là encore sans changer les réglages par défaut.
phpmyadmin Importer

Bravo, votre base de données est maintenant dupliquée sur son emplacement final.

↑ — Revenir au sommaire

2.3. Mettre à jour vos URL dans votre base de données

Il reste en réalité une étape à réaliser avant de quitter phpmyadmin.

Dans WordPress, l’URL de votre site apparaît en effet en clair à de nombreuses reprises dans la base de données. Or, en changeant d’emplacement, vous changez d’URL. Ainsi, votre adresse en local sera du type http://localhost/votresite , tandis qu’elle sera du type https://votresite.com chez votre hébergeur, en l’occurrence sur le modèle du nom de domaine que vous aurez choisi, et selon que vous ayez pris un certificat SSL ou pas. Il faut donc mettre votre base de données à jour avec votre nouvelle URL.

Notons que dans le cas où vous changez d’hébergeur tout en gardant votre nom de domaine, cette étape est superflue.

Cependant, il n’est pas question de faire un rechercher/remplacer à la sauvage. Nous allons plutôt effectuer des requêtes SQL ciblées. Si vous n’êtes pas développeur web, l’idée d’interagir avec votre base de données WordPress peut être intimidante. Mais ne vous inquiétez pas, il s’agit de requêtes-types éprouvées. Elles servent en outre dans de nombreux cas :

  • Migrer d’une version locale à une version en ligne,
  • ou sauvegarder en local une version en ligne,
  • ou passer d’un hébergeur à un autre,
  • Mais aussi quand on passe son site de http à https
  • Ou encore quand on veut se débarrasser d’une adresse à cluster attribuée par l’hébergeur
  • voire quand on change de nom de domaine (mais là, attention aux répercussions sur le référencement)

Pas de panique, je vous fournis les requêtes un peu plus loin.

Donc, dans le phpmyadmin d’arrivée resté ouvert après l’étape précédente,

  • Encore une fois, n’oubliez pas de sélectionner votre base de données,
  • puis cliquez sur l’onglet « SQL« .
  • Ensuite, entrez vos requêtes SQL (voir ci-dessous)
  • Enfin, cliquez sur « Exécuter« . Si tout se passe bien, vous obtiendrez alors une série de lignes sur fond verts, avec le nombre d’occurrences changées pour chaque requête.
phpmyadmin SQL

Quatre requêtes SQL

En réalité, l’URL de votre site n’intervient que dans trois tables.

Tables WordPress SQL

Par conséquent, quatre requêtes suffisent pour adapter votre base de données à son nouvel environnement :

# Changer l'URL du site
UPDATE wp_options
SET option_value = REPLACE(option_value, 'ancienneUrlSite', 'nouvelleUrlSite')
WHERE option_name = 'home'
OR option_name = 'siteurl';

# Changer l'URL des GUID
UPDATE wp_posts
SET guid = REPLACE (guid, 'ancienneUrlSite', 'nouvelleUrlSite');

# Changer l'URL des médias dans les articles et pages
UPDATE wp_posts
SET post_content = REPLACE (post_content, 'ancienneUrlSite', 'nouvelleUrlSite');

# Changer l'URL des données meta
UPDATE wp_postmeta
SET meta_value = REPLACE (meta_value, 'ancienneUrlSite', 'nouvelleUrlSite');

Outre les « ancienneUrlSite / nouvelleUrlSite » , ne faites pas comme moi et n’oubliez pas de transposer aussi les en-têtes de tables, qui ne sont pas nécessairement en « wp- » (il même recommandé qu’ils ne le soient pas, c’est une question de sécurité)

Nous en avons terminé avec phpmyadmin. Votre base de donnée est maintenant d’équerre.

Lisez aussi : Comment changer l’url d’un site WordPress

↑ — Revenir au sommaire

3. Relier le site wordpress à sa base de données – wp-config.php

Votre migration touche presque à sa fin. Néanmoins, si vous lanciez votre site maintenant, il vous retournerait une erreur de base de données introuvable. Pas de panique, c’est qu’il reste en effet une dernière étape.

Pas de panique, c’est seulement qu’il reste une dernière chose à faire

Vos fichiers ne sont plus au même endroit, votre base de données a été déplacée aussi. Ainsi le lien qui les unissait dans l’environnement de départ est rompu. Nous allons donc mettre à jour ce lien.

Pour cela, retournons dans Filezilla (ou sur votre disque dur s’il s’agit d’une sauvegarde). Dans l’arborescence de fichiers de WordPress, vous allez trouver un fichier nommé wp-config.php.

Ouvrez le dans un éditeur de texte (à ne pas confondre avec un traitement de texte comme Word). Même le bloc notes de Windows fera l’affaire.

Souvenez-vous du moment où vous vous êtes connectés à vos bases de données via phpmyadmin : il vous fallait un certain nombre d’éléments. Figurez-vous que ce sont ces même éléments dont a besoin WordPress pour trouver sa base de données. Vous allez donc rentrer ces mêmes éléments dans le fichier wp-config.php (avec l’adresse du gestionnaire de base de données en moins et le nom de la base de données en plus) :

  • Le nom de la base de données (DB_NAME)
  • L’adresse du serveur de votre base de données (DB_HOST)
  • Votre nom d’utilisateur (DB_USER)
  • Le mot de passe pour la base de données (DB_PASSWORD)
wp-config.php

↑ — Revenir au sommaire

La migration est maintenant terminée. Votre site est désormais fonctionnel dans son nouvel environnement.

Conclusion

Pour résumer, vous avez réalisé les trois étapes nécessaires et suffisantes pour migrer un site WordPress :

  • Migration de l’arborescence de fichiers avec Filezilla
  • Duplication et adaptation de la base de données avec phpmyadmin
  • Mise à jour du fichier wp-config.php qui fait le lien entre les deux

Que pensez-vous de cette méthode? Utiliserez-vous encore des plugins pour migrer WordPress maintenant que vous savez concrètement ce qu’ils réalisent?

↑ — Revenir au sommaire

Vous aimerez aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *