Comment migrer un site WordPress volumineux depuis un hébergement mutualisé OVH, sans Shell SSH ?
Réaliser la migration d’un gros site, depuis un hébergement pas cher, cela peut ressembler à un cauchemar !
- Les plugins de migrations s’interrompent au milieu de l’archivage
- Impossible de télécharger l’ensemble des fichiers via FTP
- L’export de la base de données n’aboutit pas ou retourne un fichier SQL corrompu
- Le tableau de bord WordPress est trop lent pour récupérer ses contenus
Et bien sûr, aucun accès à un Shell SSH n’est disponible sur ce petit hébergement et tous les hébergeurs réclament l’accès à un Terminal Linux pour pouvoir réaliser une migration dans les règles de l’art.
Migration complexe, sans SSH
Souvent, cela commence comme ça…
L’utilisateur commence à construire son site sur un hébergement bon marché (donc, a priori, sans accès SSH). Tout va bien, mais progressivement, le site augmente de volume. Le site grossi de plus en plus et finalement, l’utilisateur se retrouve bloqué sur un hébergement inadapté, trop étroit, avec trop peu de fonctionnalités et sans possibilité de récupérer le fruit de son travail…
La migration est impossible !
Lorsque nous sommes face à un tel cas de figure, chez EasyHoster, nous parlons de “Migration complexe”.
Même si de nos jours, beaucoup d’hébergeurs Web offrent un service de migration gratuite (pour récupérer un maximum de nouveaux clients 😊), peu d’hébergeurs se risquent à offrir des migrations complexes, car ce travail est long à réaliser et demande de grandes compétences techniques.
Migration WordPress OVH
Comment migrer un site volumineux depuis un hébergement mutualisé Perso OVH ?
Bien que chaque migration soit unique, dans ce billet, nous vous partageons les grandes lignes d’une procédure que vous pourriez utiliser pour réaliser des migrations complexes. Celle-ci pourrait vous aider à quitter une solution d’hébergement bon marché qui n’inclut aucun accès à un Shell SSH, comme l’hébergement premier prix d’OVHCloud, par exemple.
C’est-à-dire, l’Hébergement Perso d’OVH !
Dans un premier chapitre, nous allons voir :
Ensuite, en fin de billet, nous verrons 2 méthodes distinctes permettant de migrer un site WordPress volumineux, par exemple, depuis un Hébergement Perso OVHCloud :
- 1. La méthode avec le plugin WordPress gratuit Duplicator
- 2. La méthode avec PhpMyAdmin (donc sans Duplicator cette fois-ci)
Comment migrer les fichiers d’un site WordPress volumineux, sans SSH/SFTP ?
Voici tout d’abord les étapes communes, pour la migration des fichiers sans SSH.
1.1 Installer un client Web FTP sur son hébergement cPanel (facultatif)
Pour cette démonstration, nous utiliserons parfois le Web-based FTP Client MonstaFTP, téléchargeable gratuitement sur monstaftp.com.

Pour installer MonstaFTP, il nous suffit de le téléverser dans un sous-domaine préalablement créé via notre compte d’hébergement cPanel. Ici nous le plaçons dans un sous-répertoire /mftp/.

Notre hébergement cPanel doit être passé sur PHP 7.4 pour que MonstaFTP fonctionne.

En nous rendant à l’adresse http://mftp.example.com/mftp/ (comme illustré dans les captures ci-dessus), nous pouvons accéder à un gestionnaire de fichiers FTP comme ceci :

1.2 Notre mission n°1 : créer un zip du répertoire /uploads/ ou /wp-content/
Voici le but du jeu, ou plutôt, le but de notre migration !
En effet, migrer un site WordPress avec le plugin Duplicator n’est pas difficile en soi :
- On se lance dans la création d’un Paquet Duplicator.
- On télécharge l’archive zip avec l’installer.php.
- On renvoie le tout sur le nouvel hébergement.
- On lance l’installer et c’est parti !
Nous voilà migrés avec Duplicator !
Mais malheureusement, cela ne fonctionne pas toujours comme ça…
La bonne nouvelle, c’est que nous allons voir en détail comment remédier à cela et devenir de vrais pros de la migration complexe !
Commençons par les bases…
Nous devons migrer le site WordPress avec Duplicator, sans le répertoire /uploads/ ou /wp-content/
Pourquoi ? Parce que bien souvent, l’hébergement bon marché est limité par des Time out, ce qui interrompt le travail d’archivage de Duplicator, version gratuite.

Les plugins gratuits interrompent souvent la migration dès que le site fait +500 Mo
De même, après un certain nombre de Mega-octets (environ 500), les plugins de migration décident que votre site est assez “important” (gros) pour que vous passiez à la caisse en payant pour la version premium. Notre objectif ici va être de nous éviter ces frais inutiles.
C’est la raison pour laquelle, pour notre migration, le but du jeu sera de migrer manuellement le dossier /uploads/ ou carrément le dossier /wp-content/. Ces répertoires sont remplis de fichiers statiques et ce sont ces dossiers qui occupent le plus d’espace disque sur le serveur.
1.3 Comment archiver un répertoire de site Web (/uploads/ ou /wp-content/) sans accès au shell SSH ?
Créer une archive du site Web avec MonstaFTP
Pour créer une archive .zip de notre répertoire /uploads/ par exemple, nous pouvons utiliser un client Web FTP comme MonstaFTP.
Voici à quoi ressemble la page de connexion FTP et SFTP dans MonstaFTP.

Dans ce type de client SFTP, il est parfois possible de créer directement une archive .zip d’un répertoire, en faisant un clic droit sur le nom du dossier.

Créer une archive avec un plugin de “File Manager” pour WordPress
Pour archiver notre répertoire /uploads/ ou /wp-content/, une autre option serait d’installer temporairement Un plugin de File Manager pour WordPress. Par mesure de sécurité, ce plugin ne devra être installé que pendant le temps de la migration.

Une fois installé, le plugin File Manager pour WordPress permet d’accéder à un gestionnaire de fichiers, comme celui qu’on retrouve dans cPanel. Ce File Manager permet également de créer une archive avec n’importe quel répertoire de l’espace de l’hébergement.


wget
exécutée sur le nouvel espace d’hébergement.Créer une archive avec un File Manager ou un Shell téléchargé sur Github
Un grand nombre de scripts PHP partagés sur Github sont intéressants pour réaliser ce type de migration complexe. Il existe des File Manager, ainsi que des shell (invite de commande) en PHP.
En téléchargeant, par exemple, Tiny File Manager sur Github et en le téléversant sur notre précédent espace d’hébergement, nous pouvons retrouver un Gestionnaire de fichiers très fonctionnel, basé sur du PHP. Il intègre de nombreuses fonctionnalités, telle que l’archivage de répertoire dans un .zip.

Pour installer, par exemple, Tiny File Manager, en tant que gestion de fichiers ou shell issu de Github, rendez-vous sur la fiche Github de Tiny File Manager, cliquez sur Code et ensuite, Download Zip.

Il vous suffit ensuite d’uploader le contenu de cette archive, dans un sous-répertoire du précédent espace d’hébergement Web, pour pouvoir accéder à un Gestionnaire de fichiers léger, qui vous permettra de réaliser une archive de n’importe quel répertoire de votre site Web : /uploads/, /wp-content/, voir même la racine de votre site Internet.
La deuxième étape consiste à modifier le fichier config-sample.php présent dans le répertoire de Tiny File Manager.
// Login user name and password
// Generate secure password hash - https://tinyfilemanager.github.io/docs/pwd.html
$auth_users = array(
'admin' => 'XXXXXXXXXX', // Here, put your own generate Password Hash (same MD5)
'user' => ''
);
Vous allez y renseigner le Password Hash Sécurisé (équivalent MD5 généré par la fonction password_hash()
), puis renommer le fichier « sample » en config.php , afin que votre configuration soit prise en compte..
Une fois installé, votre File Manager PHP téléchargé sur Github vous permettra de sélectionner, par exemple, le répertoire /uploads/, placé lui-même dans votre installation de WordPress et /wp-content/.

Ensuite, en cliquant sur Tar, ou Zip (image ci-dessus), il est possible d’obtenir une archive téléchargeable du répertoire, et même mieux, une URL qui pourra être utilisée pour récupérer l’archive via la ligne de commande wget
.
1.4 Comment récupérer l’archive .zip avec la commande wget ?
Ce tutoriel est particulièrement destiné aux propriétaires de sites volumineux qui ont des difficultés à migrer leurs fichiers d’une manière plus conventionnelle.
Pour récupérer notre archive .zip contenant soit, tout le site Web, soit tout le dossier /wp-content/ ou uniquement le répertoire /uploads/, il convient d’utiliser une méthode de téléchargement rapide, à savoir, la commande wget
.
Comment utiliser wget
sur un hébergement cPanel ?
En guise de démonstration, nous utilisons une interface d’Hébergement cPanel, comme celles qui équipent tous les hébergements EasyHoster. Une fois connectés à cPanel, nous recherchons le Terminal (il s’agit de l’invite de commande shell de cPanel).

La ligne de commande wget

Une fois dans le Terminal de cPanel, vous pouvez exécuter deux lignes de commande comme celles-ci :
cd public_html
Pour rentrer dans le dossier qui hébergera votre site /public_html/.
wget https://example.com/wp-content/uploads-123.zip
Pour télécharger l’URL distante, c’est-à-dire, l’archive .zip du dossier /uploads/ créée précédemment. N’oubliez pas de bien personnaliser l’URL ci-dessus (https://…).

En quelques secondes, les fichiers d’un site Web de plus de 1.5 Go sont téléchargés par WGET. C’est très rapide !

Dans cet exemple, l’archive est ensuite disponible depuis le File Manager du compte cPanel, à la racine du site Web, dans /public_html/. Ce fichier .zip peut être extrait en faisant simplement un Clic droit et en cliquant sur Extraire.

Ce fichier uploads-123.zip sera extrait plus tard ↓ dans notre site WordPress (dossier /wp-content/), dès que nous aurons procédé à l’étape de Migration avec Duplicator (décrite ci-dessous).
1.5 Faire pointer votre nom de domaine (localement) vers le nouvel hébergement
Pour finaliser sereinement toutes ces opérations, il peut être utile de faire pointer localement votre nom de domaine, vers votre nouvel hébergement grâce au fichier hosts de votre ordinateur. Votre nom de domaine fera apparaitre votre site, tel qu’il est hébergé sur le nouvel espace, mais uniquement pour vous !
Pour accomplir cela, nous vous recommandons la lecture de ce guide de notre centre d’aide :
En bref, voici les opérations à réaliser pour pouvoir voir votre site sur le nouveau serveur avant tout le monde.
1. Édition du fichier, sudo nano /etc/hosts
:

2. Ajout dans le fichier /hosts/ de la nouvelle adresse IP suivie du nom de domaine concerné :

De cette manière, vous pourrez être sûr d’être totalement prêt et confiant avant de changer vos NS (serveurs de nom) dans la console DNS de votre registrar.
Transfert du site avec Duplicator (migration assistée)
Nous allons pouvoir procéder à la migration partielle du site avec Duplicator.
Pourquoi partielle ? Parce que nous allons migrer une version légère du site Web. C’est-à-dire, sans les images et tous les fichiers qui prennent beaucoup de place. Nous savons où les trouver, ils sont dans le répertoire /uploads/. Mais comme nous l’avons vu plus haut, ces fichiers ont été migrés manuellement. Ils n’attendent plus qu’un site WordPress pour venir s’y installer.
Rendez-vous dans Extensions > Ajouter et recherchez “Duplicator”.

Une fois installé, dans la barre de gauche, choisissez Duplicator > Packages. Pour lancer la Création d’un paquet Duplicator, sur la droite, cliquez sur le bouton Create New.

2.1.1 N’oubliez pas d’exclure /uploads/ de l’archive Duplicator !
Pendant la configuration de votre Paquet Duplicator, il est impératif d’exclure de l’archive, certains répertoires qu’il est inutile de migrer avec Duplicator.

Comme vous pouvez le voir dans l’exemple ci-dessus, nous pouvons exclure notre dossier /uploads/ bien sûr, puisque grâce aux instructions données précédemment, il a pu être migré manuellement dans une archive .zip. Il n’attend plus qu’à être “décompressé”.
Nous pouvons également exclure le dossier /cache/, car ces centaines de fichiers pourront être regénérés dynamiquement. De même, nous allons exclure le répertoire /updraft/ car il contient des backups locaux qui ne nous sont pas utiles.
Pour réduire encore plus le poids de l’archive Duplicator, vous pourriez même envisager d’exclure tout le répertoire /wp-content/ avec votre thème et vos plugins, mais dans ce cas, il faudra minutieusement le recréer !

Si le scanne parait bon, nous pouvons aller à l’étape de création de l’archive Duplicator.

Cliquer sur Build.

« Download Both Files » permet de télécharger simultanément le fichier installer.php et l’archive.zip qui contient (presque) tout le site.
Après téléchargement de l’Installer et de l’Archive, vous vous retrouvez avec deux fichiers, comme ceux-ci :

Ces 2 fichiers peuvent être téléversés très facilement depuis le Gestionnaire de fichiers de votre Hébergement cPanel EasyHoster

Le bouton “Charger” du File Manager de cPanel permet d’uploader une série de fichiers simultanément.

Une fois téléversés, les fichiers installer.php et l’archive.zip sont disponibles depuis le File Manager de cPanel.

« L’installer » peut être exécuté en visitant l’URL du site Web (example.com, ci-dessus), puis en cliquant sur le lien installer.php (illustration ci-dessus).

La première chose que Duplicator vous demandera, ce sont les coordonnées MySQL d’une nouvelle base de données, prête à accueillir l’importation du nouveau site (illustration ci-dessus).
Pour apprendre à créer une nouvelle base de données, un utilisateur MySQL et un mot de passe, suivez ce guide :
En suivant les instructions du guide précédent, vous disposez maintenant des accès MySQL à renseigner, pour pouvoir venir importer les données dans cette nouvelle base.

Testez la Database et puis cliquez sur Next.
Après avoir décompressé l’archive contenant (presque) tout votre site WordPress, Duplicator va vous inviter à vous connecter à votre Tableau de bord WordPress.
Il reste une étape indispensable à réaliser maintenant. Nous en parlons juste en dessous.

La “case cochée” juste en dessous du bouton Admin Login (voir illustration ci-dessus, “Auto delete installer files after login”), vous informe que les fichiers sensibles ayant été utilisés pour l’installation du site seront supprimés dès connexion à WordPress.
Alors ? Migration terminée ? 🙂
Vous vous dites sûrement « Le site WordPress est à présent migré avec Duplicator, que demander de plus ? »
Mais, ne manque-t-il pas quelque chose… ?
2.1.2 Il reste encore le fichier uploads.zip à décompresser !
Souvenez-vous…
Il est donc temps de déplacer le fichier uploads-123.zip dans le répertoire /wp-content/ pour l’Extraire grâce au File Manager de cPanel.

Nous pouvons ainsi revenir à notre bouton de connexion Amin Login !

À l’étape suivante, la promesse est remplie ! Après connexion au Tableau de bord WordPress, sur le nouvel espace d’hébergement, Duplicator nous confirme que les fichiers d’installation de Duplicator ont bien été supprimés.

À présent, le site WordPress est entièrement migré et pleinement fonctionnel !
🚫 Ça ne fonctionne pas ? — Si vous expérimentez une erreur lors de la création d’une archive avec Duplicator, ne manquez pas notre Guide de dépannage Duplicator, ci-dessous.
🛠 Vous préférez phpMyAdmin ? — Si pour une raison ou une autre, vous ne désirez pas utiliser le plugin Duplicator pour vous assister dans la migration de votre base de données WordPress, continuez votre lecture pour découvrir une procédure entièrement basée sur PhpMyAdmin.
2.1.3 Dépannage en cas d’erreur avec Duplicator
Parfois, tout ne se passe pas toujours bien avec Duplicator, surtout lorsqu’on est sur un petit hébergement bon marché.
Voici un florilège d’erreurs que vous pourriez rencontrer avec Duplicator.
Souvenez-vous de notre erreur du début de ce tutoriel.

Le serveur ne peut pas terminer le processus de compression de l’archive contenant les fichiers du site Web.

Ici, c’est la base de données qui est trop volumineuse pour être migrée avec la version gratuite de Duplicator.
Comment résoudre les erreurs d’interruption et passer au-delà des limites de Duplicator ?
Il existe quelques réglages qui peuvent être testés dans Duplicator.
Par défaut, Duplicator est réglé pour tenter d’exporter vos données et créer une archive avec Mysqldump et ZipArchive.

En fonction de la configuration de votre hébergement, vous pourriez avoir plus de chance avec PHP Code et DupArchive (voir ci-dessous).

Vous pourriez essayer de cocher Attempt Network Keep Alive (mieux adapté aux grosses archives).

Il reste enfin la solution ultime !
Migrer uniquement la base de données du site WordPress, grâce à l’ingénieux système de Duplicator, et migrer l’entièreté des fichiers avec les méthodes que nous avons vus précédemment, dans le début de ce tutoriel.

Seulement la base de données sera archivée, pas les fichiers.
Testez plusieurs réglages et relancez quelques fois la création de nouveaux paquets Duplicator jusqu’aux solutions les plus radicales.
Transfert du site avec PhpMyAdmin (migration manuelle)
2.2.1 La migration de la base de données avec PhpMyAdmin
Rendez-vous sur le phpMyAdmin de votre hébergement Web. Par exemple, si vous êtes hébergé sur une offre Perso d’OVH, vous pourrez y accéder via une URL ressemblant à : https://phpmyadmin.cluster020.hosting.ovh.net/
Comment retrouver ses accès au phpMyAdmin OVH ?
✔️ Pour trouver votre URL de connexion à phpMyAdmin, ainsi que les identifiants Host, User et Password, vous pourriez vous référer aux emails de bienvenue que vous avez reçu de la part d’OVH ?

✔️ En éditant le fichier wp-config.php présent à la racine de votre site WordPress, vous devriez être en mesure de retrouver l’adresse de votre serveur MySQL OVH, ainsi que vos identifiants de connexion à MySQL !
Voici à quoi ressemble le contenu de votre fichier wp-config.php.

Pour en savoir plus sur le fichier wp-config.php, nous vous recommandons cet article :
Vous ne trouvez pas l’URL d’accès à votre phpMyAdmin ?
Saviez-vous que vous pouvez installer phpMyAdmin à la racine de n’importe quel hébergement PHP en seulement quelques minutes. Il vous suffit pour cela de vous rendre sur le site phpMyAdmin.net pour télécharger gratuitement la dernière version de cette interface de gestion MySQL.

Pour télécharger la dernière version de phpMyAdmin, rendez-vous sur phpmyadmin.net/downloads.

Depuis votre client FTP, MonstaFTP ou FileZilla, vous pouvez téléverser (File Upload) le dossier de 52 Mo qui compose phpMyAdmin. Mais sur les hébergements vraiment “bon marché”, il faudra être patient en attendant le transfert des fichiers… 🙂

Une fois terminé, il vous est possible de vous connecter à votre base de données, via phpMyAdmin, en ajoutant simplement /phpMyAdmin/ à l’URL de votre site.

Exporter la base de données avec phpMyAdmin
Une fois connecté à phpMyAdmin, rendez-vous dans votre base de données.

Cliquez sur le nom de votre base de données pour pouvoir ensuite l’exporter.

Dans l’onglet Export, choisissez Custom comme méthode d’exportation. Ensuite, dans les Tables, cliquez sur Sélectionner tout. Finalement, dans la liste déroulante relative à la Compression, choisissez Zipped et cliquez sur Go pour exporter votre base de données MySQL.
Vous retrouvez ainsi votre base de données compressée au format .zip, sur votre ordinateur. Vous pouvez aussi tenter de la décompresser pour voir si la taille semble correspondre à celle indiquée dans phpMyAdmin et détecter une éventuelle corruption de la base de données.

Maintenant que notre base de données est en place, la moitié du chemin a déjà été parcouru !
Il suffit maintenant d’ajouter des fichiers qui vont pouvoir venir se connecter à cette base de données.
2.2.2 La migration des fichiers (rappel des bases)
Rendez-vous dans le File Manager du compte cPanel de votre nouvel hébergement.
C’est là que nous allons reconstruire une installation propre de WordPress.

Installation des fichiers de base de WordPress (le cœur)
Nous pouvons commencer par y téléverser les fichiers du cœur de WordPress. Ils sont téléchargeables gratuitement sur le site WordPress.org.

WordPress peut donc être ainsi décompressé, dans le dossier /public_html/ en toute sérénité.

Les fichiers du répertoire /wordpress/ doivent être cliqués-glissés à la racine de /public_html/.

Installation des fichiers de /wp-content/ migrés au préalable (voir ci-dessus)
Nous allons pouvoir extraire l’archive de /wp-content/ dans notre nouveau site WordPress, mais avant cela, il est nécessaire de supprimer les répertoires qui y sont déjà créés.

Il vous suffit maintenant de téléverser le fichier wp-content.zip dans ce /wp-content/ vide. Cela a été détaillé ci-dessus, en début de tutoriel. L’exemple a été donné avec le répertoire /uploads/.

Après avoir téléchargé l’archive créée au préalable grâce à la commande wget
(vu ci-dessus en début de tutoriel), déplacez le fichier .zip dans le sous-répertoire /wp-content/ et procédez à son extraction.
Nous voici avec un dossier /wp-content/ complet !

Pour apprendre à créer une nouvelle base de données, un utilisateur MySQL et un mot de passe, suivez ce guide :
Connexion à la base de données, depuis les fichiers PHP de WordPress
Les coordonnées de la base de données nouvellement créée (comme vu ci-dessus) doivent être renseignées dans le fichier /public_html/wp-config.php présent à la racine de votre hébergement.
Voici à quoi ressemble le contenu de votre fichier wp-config.php.
Il est nécessaire d’y renseigner le Nom de la base de données (DB_NAME), l’Utilisateur MySQL (DB_USER), le Mot de passe (DB_PASSWORD), le Host, pour EasyHoster, c’est “localhost » (voir ci-dessous).

Pour en savoir plus sur le fichier wp-config.php, nous vous recommandons cet article :
Si ce n’est pas encore fait, reportez-vous à cet article pour Créer une base de données grâce à l’assistant de cPanel.
Et n’oubliez pas d’importer votre base de données via le phpMyAdmin EasyHoster !

Finir le job avec Better Search Replace
A priori, à ce stade, votre migration est opérationnelle ! Mais dans quelques rares cas de figure (les sites WordPress plus complexes), il existe une touche finale à apporter à ce travail.
Mais lorsqu’on utilise la méthode de phpMyAdmin, il se peut que des références au précédent serveur s’éternisent. C’est pourquoi les puristes vous encourageront à passer un dernier coup de Better Search Replace, pour mettre à jour les /path/to/file/ de WordPress dans votre base de données (Cela nécessite de connaître le précédent et le nouveau /path/. Contactez-nous pour toute question à ce sujet).
Cette dernière étape est recommandée, car elle pourrait vous éviter d’expérimenter un bug sur votre site WordPress.

Encore une fois, toute migration de site WordPress est unique !
Migrer rapidement et efficacement n’importe quel site depuis n’importe quel type d’environnement, cela requiert aussi un poile d’expérience.
Nous espérons que ces quelques exercices et études de cas vous auront permis de mieux comprendre la mécanique de WordPress, ainsi que celle des solutions d’hébergement en tout genre.
✅ Si vous ne désirez pas vous embarrasser de travaux complexes de migration, confiez-nous cette mission en devenant simplement client et utilisateur d’EasyHoster 🙂
Découvrez nos points forts, nos services gratuits pour WordPress et n’hésitez pas à nous contacter !