Migrer un site WordPress
Migrer un site WordPress revient à déplacer deux objets liés : les fichiers et la base. La difficulté ne vient pas de la copie, mais des URLs enregistrées dans la base et du moment où vous basculez le DNS. Prévoyez une fenêtre calme et gardez l'ancien site intact jusqu'à la vérification finale.
Préparer, exporter et réduire le TTL
Relevez d'abord l'inventaire : version de WordPress et de PHP, extensions actives, taille de la base, espace utilisé par les médias, certificat en place.
Abaissez le TTL des enregistrements A et AAAA à 300 secondes au moins 24 heures avant la bascule. Le jour J, les résolveurs oublieront l'ancienne adresse en quelques minutes au lieu de plusieurs heures.
Si vous changez d'hébergement, vérifiez la version de PHP disponible et les extensions nécessaires (par exemple gd, curl, mbstring, intl). Une extension manquante provoque des erreurs silencieuses.
Exportez la base en SQL, en utf8mb4, et téléchargez wp-content, wp-config.php et .htaccess s'il existe. Notez le préfixe des tables : il n'est pas toujours wp_.
Les extensions de migration en un fichier (Duplicator, All-in-One WP Migration) simplifient l'opération, mais vérifiez la limite de taille d'import de l'hébergement cible et testez l'archive avant de compter dessus.
Importer sur NeoHeberg
- Ajoutez le domaine dans KeyHelp et créez une base MySQL avec un utilisateur dédié.
- Envoyez les fichiers à la racine documentaire en SFTP.
- Importez le SQL depuis phpMyAdmin. Si l'import échoue, augmentez temporairement la limite d'exécution ou importez par tables.
- Mettez à jour
DB_NAME,DB_USER,DB_PASSWORDetDB_HOSTdanswp-config.php. - Générez de nouvelles clés de sécurité : l'ancienne base peut contenir des sessions.
Réécrire les URLs
Les URLs absolues sont stockées dans la table wp_options et dans les contenus. Utilisez une extension comme Better Search Replace, en mode simulation, pour remplacer https://ancien-domaine.fr par https://nouveau-domaine.fr.
Attention aux données sérialisées : un simple UPDATE SQL casse la longueur des chaînes et corrompt les réglages. Un outil qui gère la sérialisation est indispensable. Si vous disposez de WP-CLI sur un VPS, wp search-replace avec --precise et --dry-run fait le travail proprement.
Basculer le DNS et le SSL
Avant de toucher au DNS, testez le nouveau serveur sans changer la résolution, depuis votre poste :
curl -sI --resolve votre-domaine.fr:443:[VOTRE_IPV6] https://votre-domaine.fr/ | head -n 5Remplacez VOTRE_IPV6 par l'adresse réelle du service. Si la page répond, changez les enregistrements A et AAAA, puis attendez l'expiration du TTL.
Émettez le certificat Let's Encrypt après la bascule : la validation HTTP exige que le domaine pointe déjà vers l'hébergement. Forcez ensuite HTTPS et vérifiez l'absence de contenu mixte.
Vérifier et garder un retour arrière
- Page d'accueil, articles, médias et menu s'affichent correctement.
- L'administration accepte la connexion et les permaliens fonctionnent.
- Les formulaires envoient et les e-mails arrivent (SMTP,
SPF,DKIM). - Le certificat est valide, sans avertissement dans la console du navigateur.
- Les redirections de l'ancien domaine, si vous le conservez, pointent vers le nouveau.
Conservez l'ancien hébergement et son DNS pendant au moins une semaine. Le retour arrière consiste à remettre les anciens serveurs DNS ou l'ancienne adresse : il doit rester possible jusqu'à ce que tout soit validé.
Pannes fréquentes : une page blanche vient souvent d'une extension incompatible ou d'un fichier manquant. Un média cassé indique une URL non remplacée. Une boucle de connexion vient d'un cookie de domaine différent : videz les cookies ou changez les clés.
Publicité
Cet article vous a-t-il aidé ?
À lire aussi
- Sauvegarder WordPressFichiers et base forment un tout : méthode manuelle, plugin, copie hors site et restauration testée.
- Optimiser les performances de WordPressCache, images, base et PHP 8.4 : les réglages WordPress qui changent réellement le temps de chargement.
- Sécuriser WordPressMises à jour, comptes, configuration et extensions : réduire la surface d'attaque sans casser le site.