Déplacement du site WordPress les-baladins.ch d’un hébergement Infomaniak vers un autre hébergement Infomaniak, avec interruption minimale.
Contexte et principe
- Tu es administrateur des deux hébergements Infomaniak (source et destination).
- Le nom de domaine reste sur le compte des Baladins. Seul le site WordPress est déplacé.
- Migration réalisée avec le plugin WPVIVID.
- Site de destination créé sous un sous-domaine technique
baladins.inforweb.ch(voir Phase 1) ; le vrai domaineles-baladins.chsera rattaché à la bascule.
Principe pour un downtime quasi nul : on prépare et on teste entièrement le nouveau site avant de toucher au domaine public. Comme un domaine ne peut être rattaché qu’à un seul hébergement, la bascule proprement dite (libération du domaine côté source, rattachement côté destination, changement DNS) se fait dans une fenêtre courte au jour J. En abaissant le TTL DNS à l’avance, l’interruption se limite à la propagation (~5–15 min).
Point clé : seul l’enregistrement A du web change. La messagerie n’est pas affectée (MX, SPF, DKIM, DMARC inchangés).
Options actives sur le domaine (compte Baladins)
Le domaine les-baladins.ch a activé : Renewal Warranty, DNS Fast Anycast, Domain Privacy, DNSSEC. Toutes sont attachées au domaine et à sa zone DNS, qui restent sur le compte Baladins. Aucune n’est perturbée tant que tu ne modifies que l’enregistrement A.
- DNSSEC (activé) — Ne casse que si tu changes de serveurs de noms, de registrar, ou si tu déplaces la zone. Ici tu ne fais rien de cela : Infomaniak re-signe automatiquement la zone après édition du
A. Ne désactive pas DNSSEC, ne touche pas aux serveurs de noms. Aucune action requise. - DNS Fast Anycast (activé) — Sans effet sur la procédure ; le TTL reste respecté.
- Domain Privacy / Renewal Warranty — Options registrar, aucun lien avec l’hébergement web.
À éviter absolument : déplacer la zone DNS, changer les serveurs de noms, ou transférer le domaine sur le compte de destination. Le domaine et sa zone restent sur le compte Baladins ; seul l’enregistrement
Aest modifié le jour J.
Ce qu’il faut réunir avant de commencer
- Accès Manager Infomaniak des deux comptes (source et destination).
- Accès admin WordPress du site source.
- Accès FTP/SFTP des deux hébergements (utile en secours).
- L’IP du serveur de destination (FAQ 1500).
- Le TTL actuel de la zone DNS
les-baladins.ch, pour savoir combien de temps à l’avance l’abaisser.
Vue d’ensemble des phases
- J-2 à J-1 : abaisser le TTL DNS + préparer la destination.
- J-1 : créer le site destination (sous-domaine technique) + SSL.
- J-1 : migration WPVIVID (copie complète).
- J-1 : tester la destination via
baladins.inforweb.ch(sans toucher au DNS ni au domaine). - Jour J : bascule (gel + migration finale + libération du domaine source + rattachement destination + search-replace + changement
A). - Jour J : SSL du domaine, inversion du domaine principal, vérifications.
- J+1 à J+14 : période de sécurité, puis nettoyage.
Phase 0 — Préparation DNS (J-2 à J-1)
- Manager du compte Baladins → zone DNS de
les-baladins.ch. - Relève le TTL des enregistrements
Ade@etwww. - Abaisse ce TTL à 300 s (5 min) sur ces enregistrements
A. - Attends au moins la durée de l’ancien TTL avant la bascule (ex. ancien TTL de 24 h → abaisse-le 24–48 h à l’avance).
Abaisser le TTL n’accélère pas la propagation du changement, mais réduit la durée pendant laquelle d’anciennes réponses restent en cache. C’est le seul levier qui influence réellement la fenêtre d’interruption.
Phase 1 — Créer le site sur l’hébergement destination (J-1)
Réf. : Ajouter un site, Lier un domaine à un hébergement, Lier un domaine à un site, Modifier le domaine principal.
Pourquoi un sous-domaine technique
Infomaniak n’autorise pas la création directe d’un site nommé les-baladins.ch sur le compte destination : ce domaine appartient à une autre Organisation (le compte Baladins). Le wizard ne propose qu’un sous-domaine d’un domaine que tu possèdes sur ce compte (baladins.inforweb.ch).
Ce sous-domaine ne sert que de conteneur technique (vhost). Le vrai domaine les-baladins.ch sera rattaché puis défini comme domaine principal au jour J (Phases 4–5).
Étapes
- Manager du compte destination → Hébergement Web → Ajouter.
- Installation vierge (ou WordPress via l’installateur).
- Type de domaine : sous-domaine →
baladins.inforweb.ch. - Valide la création du site.
- Note l’IP du site de destination (FAQ 1500) : valeur qui remplacera l’ancien
Ale jour J. - Installe un WordPress propre si nécessaire, puis WPVIVID.
- Active le SSL Let’s Encrypt sur le sous-domaine
baladins.inforweb.ch: le site doit avoir un certificat valide, sinon l’inversion (définirles-baladins.chcomme domaine principal) ne sera pas proposée le jour J (FAQ 2070). Le certificat sera étendu àles-baladins.chaprès la bascule DNS (Phase 5).
Phase 2 — Migration WPVIVID (J-1)
Deux méthodes. La méthode Auto-Migration (clé) évite tout téléchargement manuel : privilégie-la.
Méthode recommandée — Auto-Migration par clé
- Site source : WPVIVID installé et à jour.
- Site destination : installe/active WPVIVID.
- Destination → onglet Auto-Migration → génère la clé.
- Source → onglet Auto-Migration → colle la clé → push de la sauvegarde (fichiers + base).
- Destination → restaure.
Méthode de secours — Sauvegarde / restauration manuelle
- Source → WPVIVID → sauvegarde complète (fichiers + base).
- Télécharge l’archive (ou stockage distant WPVIVID).
- Destination → WPVIVID → importe → restaure.
Version gratuite de WPVIVID : pas d’incrémental, limites possibles sur la taille d’upload. L’Auto-Migration gère le découpage ; en manuel, surveille
upload_max_filesize/post_max_sizePHP.
Gestion des URL. Par défaut, WPVIVID réécrit les URL vers l’adresse de destination (
baladins.inforweb.ch). C’est la situation de ce projet : le site est testable directement au sous-domaine (Phase 3), au prix d’un search-replace inversebaladins.inforweb.ch→les-baladins.chau jour J (Phase 4). Alternative : si WPVIVID conserve l’URLles-baladins.ch, pas de search-replace au jour J, mais le test au sous-domaine impose un overridewp-config.php.
Phase 3 — Tester la destination via le sous-domaine (J-1)
Objectif : valider le nouveau site alors que le DNS public pointe encore vers l’ancien serveur et que les-baladins.ch est toujours rattaché à la source (site live intact).
Contrainte : un domaine = un seul site
Impossible de rattacher les-baladins.ch à la destination pour le tester : Infomaniak refuse (« Le domaine est déjà lié à un produit du même type »). Le domaine est sur le site source (live). Le libérer maintenant couperait le site live pendant toute la propagation. On ne le libère donc qu’au jour J (Phase 4). D’où le test via le sous-domaine.
Test via le sous-domaine
Les URL sont réécrites en baladins.inforweb.ch et stockées en base (Réglages → Général : Adresse WordPress et Adresse du site), pas dans wp-config.php. Tu testes donc directement :
- Ouvre
https://baladins.inforweb.ch(admin via/wp-admin). - Vérifie en profondeur : accueil, thème actif (
Apparence → Thèmes) et page d’accueil (Réglages → Lecture), articles, médias, menus, formulaires, plugins critiques (Compliianz, Really Simple SSL, Kadence…), permaliens, version PHP. Purge les caches avant de conclure.
Cas alternatif (URL conservée à
les-baladins.ch) : WordPress redirigerait le sous-domaine versles-baladins.ch. Il faudrait alors forcerdefine('WP_HOME',...)/define('WP_SITEURL',...)= sous-domaine danswp-config.phppour tester, puis retirer ces lignes. Ce n’est pas le cas de ce projet.
Phase 4 — Fenêtre de bascule (Jour J)
À planifier sur un creux de trafic. La fenêtre d’interruption commence à la libération du domaine côté source (point 4) et se termine quand le DNS a propagé. Avec le TTL bas : ~5–15 min. Enchaîne les points 4 à 9 sans pause.
-
Sauvegarde de sécurité : télécharge une sauvegarde WPVIVID complète du site source, hors serveur. Filet de rollback.
-
Gel du contenu : plus aucune modification côté source. Optionnel : mode maintenance côté source.
-
Migration finale WPVIVID pour capturer les dernières modifications. Restaure côté destination. Si rien n’a changé depuis la Phase 2, saute cette étape. Ne fais pas encore le search-replace (point 9).
-
Libérer le domaine côté source — deux options :
- Option A (recommandée, rollback instantané) : ne retire pas le site source. Ajoute un sous-domaine temporaire (
old.les-baladins.ch) au site source, définis-le comme domaine principal (FAQ 2070), retire l’aliasles-baladins.ch. Le domaine est libéré, le site source reste intact sousold.les-baladins.ch. - Option B (plus simple) : Retirer le site source (FAQ 2569, menu ⋮ → Retirer le site). Le site source est supprimé ; le rollback passe alors par la restauration de la sauvegarde WPVIVID (point 1).
- Option A (recommandée, rollback instantané) : ne retire pas le site source. Ajoute un sous-domaine temporaire (
-
Vider les records web de la zone (compte Baladins) : dans Zone DNS, supprime les 4 enregistrements de
les-baladins.ch—Ade@,AAAAde@,Adewww,AAAAdewww. Conserve SPF (v=spf1 -all), DMARC et NS. Cette suppression est obligatoire : l’assistant d’ajout du domaine côté destination refuse tant que ces records existent (« entrée DNS en conflit avec l’ajout de ce produit »), et décocher « Mettre à jour automatiquement les DNS » ne contourne pas le blocage (testé). C’est le début de la fenêtre d’interruption (le domaine n’a plus deA). -
Rattacher
les-baladins.chau site destination (FAQ 1946) : côté hébergement destination → Domaines → Ajouter un domaine →les-baladins.ch. Cases : ✅ alias www ; SSL décoché (Phase 5). La case « Mettre à jour automatiquement les DNS » est sans effet ici : la zone étant sur une autre Organisation, le compte destination n’a pas les droits d’écriture dessus (testé — aucun record n’est créé). Valider : le domaine est rattaché au vhost sans conflit (la zone est vide de records web). -
Recréer les records web à la main (compte Baladins → Zone DNS) : le rattachement étant fait, ré-ajoute les
A/AAAAvers la destination — ça ne redéclenche plus le conflit :@ 300 IN A <IPv4_destination> @ 300 IN AAAA <IPv6_destination> www 300 IN A <IPv4_destination> www 300 IN AAAA <IPv6_destination>⚠️ IPv6 : n’oublie pas les
AAAA. Si la destination n’a pas d’IPv6, ne recrée pas deAAAA— sinon les visiteurs IPv6 iraient sur un serveur qui ne répond plus. TTL 300 s → propagation ~5 min. DNSSEC se re-signe seul. Ne touche pas au SPF/DMARC/NS. À ce stade,les-baladins.chrésout vers la destination. -
Accès local immédiat : sur ta machine, ajoute au fichier
hosts:IP_destination les-baladins.chetIP_destination www.les-baladins.ch, pour atteindre le nouveau site sans attendre la propagation. -
Search-replace des URL
baladins.inforweb.ch→les-baladins.chsur toute la base : Better Search Replace (gère les données sérialisées) ou WP-CLI. N’édite pas à la main les champs Adresse WordPress / Adresse du site : le search-replace met à jour ces deux champs et tous les liens du contenu, menus, widgets et réglages de plugins en une passe. Retire la lignehostsdu point 8 une fois la propagation confirmée.
Phase 5 — SSL, inversion du domaine principal et vérifications (Jour J)
Le SSL du nouveau domaine et l’inversion ne sont possibles qu’après que les-baladins.ch résout vers la destination.
- Attends la résolution : vérifie que
les-baladins.chpointe vers la nouvelle IP (outil DNS externe ou réseau mobile hors Wi-Fi). - SSL : tant que le certificat n’est pas généré, le site présente le certificat par défaut d’Infomaniak (
CN = preview.infomaniak.website) → avertissement HTTPS, alors que le HTTP « fonctionne » (il ne fait que rediriger). Génère/mets à jour le certificat Let’s Encrypt (Manager → hébergement → Certificats SSL) pour qu’il inclueles-baladins.chetwww.les-baladins.ch(FAQ 2155). La validation se fait via le DNS public (déjà bon) ; compte quelques minutes. - Inversion (domaine principal) : site destination → Domaines → menu ⋮ en face de
les-baladins.ch→ Définir comme domaine principal (FAQ 2070). Le sous-domainebaladins.inforweb.chredevient un alias — supprime-le ou conserve-le. Enchaîne SSL puis inversion sans attendre. - www / non-www : les deux variantes chargent en HTTPS, sans redirection parasite.
- Contrôle : accueil, articles, médias, recherche, formulaires, back-office, plugins, sitemap,
robots.txt. - Caches : purge (plugin de cache, cache Infomaniak, CDN éventuel).
- Surveille les logs d’erreurs de la destination pendant les premières heures.
L’inversion réinitialise les statistiques Infomaniak du site (FAQ 2070). Sans incidence sur le contenu ni le SEO.
Vérification technique (commandes terminal)
Résolution DNS (autoritatif + résolveurs publics, pour ne pas dépendre du cache local) :
dig +short @nsany1.infomaniak.com les-baladins.ch A
dig +short @1.1.1.1 les-baladins.ch A
dig +short @8.8.8.8 les-baladins.ch A
dig @1.1.1.1 les-baladins.ch A | grep "status:"
Attendu : l’IPv4 de destination (203.0.113.20) et statut NOERROR (pas NXDOMAIN).
Certificat SSL (via l’IP directe + SNI, indépendant du DNS local) :
echo | openssl s_client -servername les-baladins.ch -connect 203.0.113.20:443 2>/dev/null \
| openssl x509 -noout -subject -issuer -dates -ext subjectAltName
Attendu : issuer Let’s Encrypt, et SAN contenant les-baladins.ch + www.les-baladins.ch.
Page HTTPS de bout en bout (certificat vérifié, sans -k) :
curl -sS -o /dev/null -w "code:%{http_code} ssl_verify:%{ssl_verify_result}\n" \
--resolve les-baladins.ch:443:203.0.113.20 https://les-baladins.ch/
Attendu : code:200 ssl_verify:0 (0 = certificat validé).
Résultat de validation — bascule du 2 juillet 2026
Certificat servi :
CN = baladins.inforweb.ch
SAN: baladins.inforweb.ch, les-baladins.ch, www.les-baladins.ch
Issuer: Let's Encrypt (YR1)
Valide: 2 juil. 2026 → 30 sept. 2026
HTTPS :
code HTTP : 200
ssl_verify : 0 (certificat validé, aucun avertissement)
URL : https://les-baladins.ch/ (pas de redirection vers le sous-domaine)
titre : « Les Baladins – Garderie d'enfants »
Migration validée : DNS OK (autoritatif + Cloudflare/Google/Quad9), certificat Let’s Encrypt couvrant le domaine, site servi sous les-baladins.ch sans redirection.
Dépannage — « ça marche partout sauf sur ma machine »
Symptôme : DNS_PROBE_FINISHED_NXDOMAIN / « Adresse introuvable » sur l’ordinateur, alors que le site répond depuis le mobile sur le même WiFi et depuis les résolveurs publics.
Cause : cache DNS négatif local, mémorisé pendant le court instant où les A avaient été supprimés (le SOA garde un cache négatif jusqu’à 86400 s). Si le mobile sur le même WiFi fonctionne, le problème est isolé à l’ordinateur (ni la box, ni le FAI).
Solutions :
- macOS — vider le cache DNS :
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder - Chrome —
chrome://net-internals/#dns→ Clear host cache, puischrome://net-internals/#sockets→ Flush socket pools. Si ça persiste (Chrome utilise le résolveur système), active le DNS sécurisé :chrome://settings/security→ Utiliser un DNS sécurisé → Cloudflare (1.1.1.1). - Firefox —
about:networking#dns→ Vider le cache DNS (Firefox utilise son propre DoH, souvent déjà OK — d’où le fait qu’il fonctionne quand Chrome échoue). - Sinon : basculer le DNS système sur
1.1.1.1/8.8.8.8, redémarrer la box, ou tester en 4G. En dernier recours, redémarrer la machine.
Phase 6 — Nettoyage (J+1 à J+14)
- Conserve le filet de sécurité 1 à 2 semaines. Option A : garde le site source sous
old.les-baladins.ch. Option B : conserve la sauvegarde WPVIVID. Ne résilie rien tant que le nouveau site n’est pas confirmé stable. - Après 1 à 2 semaines sans incident : retire le site source restant / archive la sauvegarde (Retirer un site).
- Remonte le TTL des
Aà une valeur normale (3600 s ou plus). - Documente l’opération (date, IP, captures) dans ce dossier.
Plan de rollback
Selon l’option choisie en Phase 4 (point 4) :
- Option A (site source conservé sous
old.les-baladins.ch) : ré-inverse le domaine principal côté source pour remettreles-baladins.ch, retire-le de la destination, puis repointe leAvers l’ancienne IP. Retour en ~5 min. - Option B (site source retiré) : recrée un site sur l’hébergement source, restaure la sauvegarde WPVIVID, rattache
les-baladins.ch, puis repointe leA. Plus long.
Dans les deux cas, le rollback ne récupère pas les contenus créés sur le nouveau serveur après la bascule : d’où l’importance du gel de contenu et d’une bascule sur creux de trafic.
Points d’attention
- URL en base réécrites au sous-domaine : le search-replace du jour J (Phase 4, point 7) est indispensable ; éditer seulement les deux champs de Réglages généraux laisserait des URL
baladins.inforweb.chdans le contenu, les widgets et les plugins. - Domaine cross-comptes : ne tente pas de créer/rattacher directement
les-baladins.chsur la destination tant qu’il est sur la source. Sous-domaine technique + rattachement + inversion au jour J = voie officielle (FAQ 2025). - Rendu public à vérifier : lors d’un test, la page publique renvoyait un rendu de thème par défaut. Confirme le thème actif et la page d’accueil, purge les caches.
- Emails : inchangés (domaine et zone restent sur le compte Baladins, seuls les
Abougent). Vérifie l’adresse d’expédition du site (plugin SMTP). - Version PHP : aligne la destination sur une version compatible avec le thème/plugins (GeneratePress, GenerateBlocks, Kadence…).
- Sauvegarde de sécurité : conserve une sauvegarde WPVIVID complète hors des deux serveurs avant la bascule.
- Méthodes alternatives (FAQ 2089) : Infomaniak documente All-in-One WP Migration (guide 1643) et Duplicator (guide 2854) comme secours si WPVIVID bute sur une limite.
Checklist condensée
J-2/J-1 : TTL DNS abaissé à 300 s (attendre l’ancien TTL)
Site créé sur destination via sous-domaine technique + IP notée + SSL activé
WordPress + WPVIVID installés sur la destination
Migration WPVIVID (copie complète) restaurée
Test via sous-domaine : thème/page d’accueil OK, plugins OK, caches purgés
Jour J : sauvegarde WPVIVID complète téléchargée (filet rollback)
Jour J : gel du contenu source
Migration WPVIVID finale (si modifs)
Domaine libéré côté source (Option A : renomméold./ Option B : Retirer le site)
Records webA/AAAA(@ et www) supprimés dans Zone DNS (lève le conflit)
les-baladins.chrattaché au site destination (auto-DNS coché → records recréés)
Records vérifiés :A/AAAA(@ et www) → IPv4/IPv6 destination
Lignehostslocale ajoutée (IP_dest les-baladins.ch)
Search-replacebaladins.inforweb.ch→les-baladins.ch(base complète)
Propagation publique confirmée + lignehostsretirée
Résolution publique confirmée (hors Wi-Fi / outil externe)
SSL Let’s Encrypt mis à jour (inclutles-baladins.ch+www)
les-baladins.chdéfini comme domaine principal (inversion) ; sous-domaine démoté
Vérifs www/non-www HTTPS, médias, plugins, caches purgés
J+7 à J+14 : filet de sécurité retiré, TTL remonté
Références Infomaniak
- Transférer un site entre deux hébergements : https://faq.infomaniak.com/2318
- Transférer un site WordPress : https://faq.infomaniak.com/2089
- Ajouter un site à un hébergement : https://faq.infomaniak.com/1988
- Lier un domaine à un hébergement (cas « Organisation différente ») : https://faq.infomaniak.com/2025
- Lier un domaine supplémentaire à un site (alias) : https://faq.infomaniak.com/1946
- Modifier le domaine principal d’un site (inversion) : https://faq.infomaniak.com/2070
- Mettre à jour un certificat SSL Let’s Encrypt : https://faq.infomaniak.com/2155
- Trouver l’adresse IP d’un site : https://faq.infomaniak.com/1500
- Retirer un site d’un hébergement : https://faq.infomaniak.com/2569
- Déplacer un hébergement vers une autre Organisation (alternative) : https://faq.infomaniak.com/2024