Intermédiaire ⏱ 13 min Mis à jour le 29 juillet 2026

Migrer un site web vers un nouvel hébergement sans coupure

Changer d'hébergement fait peur : et si le site tombait ? Avec la bonne méthode — préparer, transférer, tester, puis basculer le DNS — la migration se fait sans coupure visible.

La règle d’or pour migrer un site web sans coupure

Migrer un site web sans interruption visible demande de préparer entièrement le nouvel hébergement avant de modifier le DNS. L’ancien serveur doit rester opérationnel jusqu’à ce que le nouveau ait été transféré, configuré et testé.

L’ordre à respecter est simple :

Inventaire

Sauvegarde complète

Transfert des fichiers et de la base

Configuration du nouvel hébergement

Tests

Synchronisation finale

Bascule DNS

Surveillance

Le DNS doit être modifié en dernier. Ne résiliez jamais l’ancien hébergement avant la fin de la propagation et des vérifications.

Pour un site statique, cette méthode permet généralement une transition très fluide. Pour un site dynamique — boutique, forum, espace membre ou WordPress actif — une courte période de lecture seule ou de maintenance peut être nécessaire afin d’éviter que de nouvelles données soient enregistrées uniquement sur l’ancien serveur.

Une migration « sans coupure » ne signifie pas qu’aucune précaution n’est nécessaire. L’objectif est de maintenir le site accessible tout en évitant les pertes de données pendant la transition.

Préparer la migration

Commencez par établir un inventaire précis de ce qui doit être transféré.

Éléments du site

Notez notamment :

  • le dossier racine du site ;
  • les fichiers envoyés par les utilisateurs ;
  • la base de données ;
  • les fichiers de configuration ;
  • les tâches cron ;
  • les services systemd ;
  • les redirections ;
  • les sous-domaines ;
  • les certificats ;
  • les comptes e-mail ;
  • les règles de pare-feu.

Relevez également les versions utilisées :

CMS et extensions
PHP, Node.js ou Python
MySQL, MariaDB ou PostgreSQL
Nginx ou Apache
Modules et bibliothèques

Une différence de version peut provoquer une erreur même si les fichiers ont été copiés correctement.

Réaliser une sauvegarde complète

Avant toute modification, sauvegardez :

Fichiers du site
Base de données
Configurations
Secrets
Tâches planifiées
Liste des dépendances

Des sauvegardes automatiques sont incluses pour vous aider à restaurer. Conservez aussi vos propres exports réguliers : vous restez responsable de vos données.

Stockez au moins une copie en dehors des deux hébergements concernés. Le guide sur la stratégie de sauvegarde serveur détaille la règle 3-2-1 et les tests de restauration.

Transférer les fichiers vers le nouvel hébergement

Vous pouvez utiliser SFTP, SCP ou rsync selon vos accès.

Avec rsync depuis l’ancien serveur :

rsync -avz \
  --progress \
  /var/www/exemple.fr/ \
  utilisateur@NOUVEAU_SERVEUR:/var/www/exemple.fr/

Avec un port SSH personnalisé :

rsync -avz \
  --progress \
  -e "ssh -p 2222" \
  /var/www/exemple.fr/ \
  utilisateur@NOUVEAU_SERVEUR:/var/www/exemple.fr/

Le / final après le dossier source est important : il demande à rsync de copier son contenu.

Pour un site contenant des caches ou dépendances régénérables, vous pouvez exclure certains dossiers :

rsync -avz \
  --exclude=".git/" \
  --exclude="node_modules/" \
  --exclude="cache/" \
  /var/www/exemple.fr/ \
  utilisateur@NOUVEAU_SERVEUR:/var/www/exemple.fr/

Après le transfert, vérifiez le propriétaire et les permissions :

sudo chown -R utilisateur:www-data /var/www/exemple.fr

find /var/www/exemple.fr \
  -type d \
  -exec chmod 755 {} \;

find /var/www/exemple.fr \
  -type f \
  -exec chmod 644 {} \;

Ces valeurs sont des bases courantes, à adapter à l’application et à l’utilisateur qui exécute le service.

Le guide pour transférer des fichiers vers un VPS présente également SCP, SFTP et rsync.

Migrer la base de données

Exporter une base MySQL ou MariaDB

Depuis l’ancien hébergement :

mysqldump \
  --single-transaction \
  --routines \
  --triggers \
  -u ancien_user \
  -p \
  ancienne_base \
  | gzip > site.sql.gz

Le mot de passe est demandé de manière interactive. Ne l’ajoutez pas directement dans la commande.

Transférez ensuite l’archive :

scp site.sql.gz \
  utilisateur@NOUVEAU_SERVEUR:/tmp/

Créer la base sur le nouveau serveur

Connectez-vous au moteur :

sudo mysql

Créez la base et un utilisateur dédié :

CREATE DATABASE nouvelle_base
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

CREATE USER 'nouveau_user'@'localhost'
  IDENTIFIED BY 'REMPLACEZ_PAR_UN_SECRET_FORT';

GRANT ALL PRIVILEGES
  ON nouvelle_base.*
  TO 'nouveau_user'@'localhost';

FLUSH PRIVILEGES;
EXIT;

Importez les données :

gunzip -c /tmp/site.sql.gz \
  | mysql \
      -u nouveau_user \
      -p \
      nouvelle_base

Vérifiez que les tables existent :

mysql \
  -u nouveau_user \
  -p \
  -e "SHOW TABLES;" \
  nouvelle_base

Ne placez jamais les identifiants de base de données dans un script public, l’historique Git, une capture d’écran ou un ticket de support non sécurisé.

Reconfigurer le site

Le nouvel environnement possède généralement de nouveaux identifiants, chemins ou ports.

Pour WordPress, adaptez wp-config.php :

define( 'DB_NAME', 'nouvelle_base' );
define( 'DB_USER', 'nouveau_user' );
define( 'DB_PASSWORD', 'REMPLACEZ_PAR_LE_SECRET' );
define( 'DB_HOST', 'localhost' );

Protégez ensuite le fichier :

chmod 640 /var/www/exemple.fr/wp-config.php

Vérifiez aussi :

  • le chemin du dossier public ;
  • les variables du fichier .env ;
  • les clés API ;
  • le serveur SMTP ;
  • les tâches cron ;
  • les permissions d’écriture ;
  • les fichiers envoyés par les utilisateurs ;
  • les connexions à des services externes.

Attention aux URL WordPress

Si le nom de domaine ne change pas, évitez de remplacer inutilement les URL dans la base.

S’il change, utilisez un outil compatible avec les données sérialisées de WordPress, comme WP-CLI :

wp search-replace \
  'https://ancien-domaine.fr' \
  'https://nouveau-domaine.fr' \
  --all-tables-with-prefix \
  --skip-columns=guid \
  --dry-run

Exécutez d’abord --dry-run. Si le résultat est correct, relancez sans cette option.

Une recherche-remplacement SQL classique peut endommager certaines données sérialisées.

Pour préparer un nouveau WordPress, consultez le guide pour héberger un site WordPress.

Tester avant de basculer le DNS

Le nouvel hébergement doit être testé avec le véritable nom de domaine avant la modification publique du DNS.

Utiliser le fichier hosts

Ajoutez temporairement sur votre ordinateur :

203.0.113.10 exemple.fr www.exemple.fr

Remplacez l’adresse fictive par l’IP du nouveau serveur.

Emplacements courants :

Windows : C:\Windows\System32\drivers\etc\hosts
Linux   : /etc/hosts
macOS   : /etc/hosts

Cette modification ne concerne que votre ordinateur. Le reste des visiteurs continue d’utiliser l’ancien hébergement.

Testez ensuite :

  • la page d’accueil ;
  • les pages internes ;
  • les images ;
  • les formulaires ;
  • la connexion ;
  • l’administration ;
  • la recherche ;
  • les envois d’e-mails ;
  • les tâches programmées ;
  • les écritures en base ;
  • les téléchargements.

Retirez l’entrée du fichier hosts après la migration.

Basculer le DNS proprement

Lorsque cela est possible, réduisez le TTL avant la migration. Cette modification doit être faite suffisamment en amont pour que l’ancien TTL ait le temps d’expirer.

Le guide pour relier un domaine à un VPS explique les enregistrements A, AAAA, CNAME et les serveurs de noms.

Juste avant la bascule d’un site dynamique :

  1. activez une courte maintenance ou un mode lecture seule ;
  2. effectuez un dernier export de la base ;
  3. synchronisez les fichiers récemment modifiés ;
  4. importez les dernières données ;
  5. réalisez un test final ;
  6. modifiez le DNS ;
  7. rouvrez les écritures sur le nouveau serveur.

Modifiez ensuite l’enregistrement concerné :

Type : A
Nom  : @
Valeur : NOUVELLE_ADRESSE_IP

Vérifiez aussi www et les éventuels enregistrements AAAA.

La propagation n’est pas instantanée et aucun délai exact ne peut être garanti. Pendant cette période, certains visiteurs peuvent encore atteindre l’ancien serveur.

Conservez l’ancien serveur actif et fonctionnel pendant toute la période de cohabitation DNS.

Vérifier la migration après la bascule

Contrôlez la résolution :

dig +short exemple.fr
dig +short www.exemple.fr

Surveillez les logs Nginx :

sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log

Vérifiez également :

Erreurs HTTP
Formulaires
E-mails transactionnels
Tâches cron
Charge du serveur
Connexions à la base
Certificat HTTPS

Le certificat présent sur l’ancien hébergement ne suit pas automatiquement les fichiers. Installez ou renouvelez un certificat sur le nouveau serveur après que le domaine est correctement accessible.

Consultez le guide pour activer HTTPS avec Let’s Encrypt.

Ne résiliez pas immédiatement l’ancien hébergement. Conservez-le quelques jours, ou davantage selon les contraintes du projet, puis vérifiez qu’il ne reçoit plus de trafic utile avant sa suppression.

En résumé

  • Pour migrer un site web, préparez le nouvel hébergement avant de toucher au DNS.
  • Ne coupez jamais l’ancien serveur tant que le nouveau n’est pas validé.
  • Inventoriez les fichiers, bases, versions, e-mails, tâches cron et configurations.
  • Réalisez une sauvegarde complète indépendante avant la migration.
  • Transférez les fichiers avec SFTP, SCP ou rsync.
  • Vérifiez les propriétaires et permissions après la copie.
  • Exportez et importez la base avec les outils du moteur.
  • Ne placez jamais un mot de passe de base de données directement dans une commande ou un dépôt.
  • Reconfigurez les chemins, variables, accès SMTP et identifiants.
  • Pour WordPress, utilisez une méthode compatible avec les données sérialisées.
  • Testez le nouveau serveur via un domaine temporaire ou le fichier hosts.
  • Synchronisez une dernière fois les données dynamiques avant la bascule.
  • Modifiez le DNS uniquement lorsque le nouveau site fonctionne.
  • Gardez les deux serveurs actifs pendant la propagation.
  • Vérifiez HTTPS, les logs, les formulaires et les tâches planifiées.
  • Pour migrer un site web vers un hébergement en France conforme au RGPD, avec stockage NVMe, Anti-DDoS L3/L4/L7 inclus, panel de gestion et support francophone, découvrez l’offre hébergement web TalCloud.