Comment migrer un site WordPress vers un nouveau VPS
Migrer un site WordPress, c'est déplacer trois choses : les fichiers (surtout le dossier wp-content), la base de données et l'enregistrement DNS de votre domaine. Le plus simple est un plugin de migration. À la main, vous copiez les fichiers, exportez la base de données, la chargez sur le nouveau serveur et corrigez les adresses si elles ont changé.
L'ordre est le même quelle que soit la méthode : sauvegarder, tester sur le nouveau serveur et garder le DNS pour la fin. N'éteignez pas l'ancien serveur tant que le nouveau site ne fonctionne pas.
Avant de commencer
- Faites une sauvegarde complète. Gardez une copie des fichiers et de la base de données sur votre propre ordinateur. Le guide officiel de migration de WordPress recommande aussi de sauvegarder avant toute modification de la base de données.
- Relevez la taille. Combien de Mo font le dossier
wp-contentet la base de données ? Cela détermine la méthode qui vous convient. - Comparez les versions. La version de PHP du nouveau serveur fonctionne-t-elle avec vos anciens plugins ? Mettez à jour un plugin incompatible avant de le déplacer.
- Abaissez le TTL. Un jour ou deux avant la bascule, réglez le TTL des enregistrements DNS de votre domaine sur 300 secondes. Ainsi, l'ancienne adresse ne reste pas longtemps dans les caches.
- Vérifiez où se trouve votre messagerie. Modifier l'enregistrement A ne touche pas vos enregistrements MX. Si votre messagerie tourne sur le serveur du site, elle doit être déplacée séparément.
Méthode 1 : migrer avec un plugin
Les plugins de migration regroupent les fichiers et la base de données dans un seul paquet et le déballent sur le nouveau site, et la plupart corrigent aussi les adresses. Il existe trois approches courantes :
- Téléverser un paquet dans le navigateur. Vous construisez le paquet sur l'ancien site, installez le même plugin sur le nouveau WordPress et téléversez le paquet (All-in-One WP Migration fonctionne ainsi, par exemple). Cette approche se heurte à la limite de taille de téléversement du serveur.
- Déposer le paquet par SFTP. Des plugins comme Duplicator vous demandent de copier l'archive et un fichier
installer.phpdans un dossier vide du nouveau serveur, puis d'ouvririnstaller.phpdans un navigateur. Vous devez créer au préalable la base de données et son utilisateur. Une fois terminé, supprimezinstaller.phpet l'archive, car quiconque connaît l'adresse pourrait relancer l'installateur. - Restaurer depuis un stockage distant. Avec un plugin de sauvegarde comme UpdraftPlus, vous connectez le même stockage cloud sur le nouveau site et retrouvez la sauvegarde avec le lien « Rescan remote storage ». Vous ne téléversez jamais le gros fichier par le navigateur.
La limite de 64 Mo du serveur WordPress prêt à l'emploi
Sur le serveur WordPress prêt à l'emploi de Seturack, vous pouvez téléverser au plus 64 Mo d'un coup. Les plugins qui prennent un paquet via le navigateur atteignent cette limite. Si votre paquet est plus gros, utilisez la restauration depuis un stockage distant ou déplacez le site à la main. Comme l'application prête à l'emploi tourne dans Docker, les fichiers ne se trouvent pas là où ils seraient sur une installation classique. Pour un gros site que vous déplacerez à la main, un serveur Ubuntu vierge avec Apache ou Nginx installé est plus prévisible.
Méthode 2 : migrer à la main
Ces étapes concernent une installation classique où les fichiers se trouvent dans /var/www/html. Si vous exécutez WP-CLI en root, ajoutez --allow-root à ses commandes. Sur l'ancien serveur, dans le dossier WordPress :
- Exportez la base de données en dehors du dossier web, car un dump laissé dedans peut être téléchargé par quiconque connaît l'adresse :
wp db export ~/site.sql. Sans WP-CLI, utilisezmysqldump -u USER -p DATABASE > ~/site.sql. - Archivez les fichiers avec
tar -czf ~/files.tar.gz . - Copiez les deux vers le nouveau serveur avec
scp ~/site.sql ~/files.tar.gz user@NEW_IP:~/
Sur le nouveau serveur :
- Créez une base de données vide et un utilisateur pour elle.
- Décompressez les fichiers dans le dossier web avec
tar -xzf ~/files.tar.gz -C /var/www/html - Mettez à jour le nom de la base, l'utilisateur et le mot de passe dans
wp-config.phpavec les nouvelles valeurs. Donnez la propriété à l'utilisateur du serveur web (www-datasous Debian et Ubuntu). - Importez la base de données avec
wp db import ~/site.sql. La commande lit ses réglages danswp-config.phpet ne crée pas la base de données à votre place.
Si le domaine reste le même, aucune correction d'adresse n'est nécessaire. S'il change, remplacez l'ancienne adresse par la nouvelle. Essayez d'abord avec --dry-run et laissez la colonne guid tranquille :
wp search-replace 'https://old.com' 'https://new.com' --skip-columns=guid --dry-run
Si le résultat semble correct, relancez la commande sans --dry-run. Ne faites pas de simple recherche-remplacement dans la base de données, car les données sérialisées peuvent être cassées. WP-CLI gère correctement ces données.
Tester sur le nouveau serveur avant de basculer le DNS
Ajoutez l'adresse IP du nouveau serveur et votre domaine au fichier hosts de votre ordinateur. Le fichier se trouve dans C:\Windows\System32\drivers\etc\hosts sous Windows et dans /etc/hosts sous macOS et Linux :
203.0.113.10 example.com www.example.com
Dès lors, seul votre navigateur ouvre le nouveau serveur, tandis que tous les autres voient toujours l'ancien. Essayez la connexion, les pages, les images et les formulaires, puis supprimez la ligne. Un certificat HTTPS est généralement émis une fois que le DNS pointe vers le nouveau serveur.
La bascule DNS
- Si le site reçoit des écritures en permanence (boutique, abonnements, commentaires), mettez l'ancien site en mode maintenance, prenez la base de données une dernière fois et transférez-la. Sinon, les commandes passées pendant la bascule sont perdues.
- Dans votre panneau DNS, faites pointer l'enregistrement A vers la nouvelle adresse IP, et faites de même pour www. L'article sur le raccordement de votre propre domaine montre les étapes.
- Avec un TTL bas, le changement se propage vite. Certains réseaux peuvent garder l'ancien enregistrement plus longtemps.
- Vérifiez que HTTPS fonctionne sur le nouveau serveur.
- Quand tout va bien, remettez le TTL à son ancienne valeur. Gardez l'ancien serveur quelques jours, puis éteignez-le.
Liste de contrôle après la migration
- Ouvrez Settings > Permalinks et cliquez sur Save pour actualiser les règles de réécriture.
- Ouvrez la page d'accueil, un article, une image et le formulaire de contact.
- Cherchez les avertissements de contenu mixte. Corriger les adresses en résout la plupart.
- Testez l'envoi d'e-mails et vérifiez les réglages de votre plugin SMTP.
- Videz le cache de votre plugin de cache.
- Supprimez
~/site.sqlet~/files.tar.gzsur les deux serveurs. Les deux contiennent des données sensibles. - Sous Settings > Reading, vérifiez que la case qui décourage les moteurs de recherche n'est pas cochée.
Si vous migrez avec un plugin, partir d'un WordPress vide est plus simple. Un serveur avec WordPress préinstallé est prêt en 3,5 à 4 minutes environ. Jetez un œil à la page du serveur WordPress.
Commentaires0
Pas encore de commentaire
Soyez le premier à partager votre avis.
Veuillez vous connecter ou vous inscrire pour laisser un commentaire.