Passer à un nouveau domaine

Sur cette page

La Site URL de Settings > General est l’adresse publique du site. Les liens dans les e-mails et les plugins, les sitemaps, robots.txt, les liens hreflang, les URL d’images sociales et les liens canoniques définis dans le panneau SEO l’utilisent. Modifiez-la avec la boîte de dialogue Change domain, qui vérifie que le nouveau domaine sert bien le site avant de basculer.

Seuls les administrateurs peuvent changer le domaine.

Avant de commencer

Faites d’abord pointer le nouveau domaine vers le site. EmDash vérifie le domaine pendant le basculement, il doit donc déjà servir le site en https://.

  • Cloudflare Workers : dans le tableau de bord Cloudflare, ouvrez votre Worker dans Workers & Pages, allez dans l’onglet Domains et ajoutez le domaine. Consultez Domaines personnalisés pour la configuration de Wrangler.
  • Node.js et autres hébergeurs : créez l’enregistrement DNS et le certificat du domaine, puis dirigez-le vers le même serveur que celui qui sert l’adresse actuelle.

Ouvrez https://<nouveau domaine>/_emdash/admin dans un navigateur. Si la page de connexion d’EmDash s’affiche, le domaine est prêt.

Si le site définit siteUrl, EMDASH_SITE_URL ou SITE_URL, les liens dans les e-mails et les plugins utilisent cette adresse à la place de la Site URL, et Settings > General la mentionne. Modifiez la configuration et redéployez pour déplacer ces liens également.

Changer le domaine

  1. Ouvrez Settings > General et sélectionnez Change domain à côté de Site URL.

  2. Saisissez le nouveau domaine, par exemple www.example.com. Une origine complète comme https://www.example.com fonctionne aussi. Les chemins et les ports ne sont pas acceptés.

  3. Sélectionnez Check and switch.

    EmDash demande un code à usage unique à https://www.example.com/_emdash/api/site/domain-proof. Lorsque le code correspond, il enregistre https://www.example.com comme Site URL et ferme la boîte de dialogue.

Les modifications non enregistrées dans Settings > General restent dans le formulaire après le basculement. Enregistrez-les comme d’habitude.

Quand la nouvelle adresse prend effet

  • E-mails : les e-mails de connexion, d’invitation, d’inscription autonome, de récupération et de notification de commentaires renvoient immédiatement vers la nouvelle adresse.
  • Plugins : ctx.site.url change après le redémarrage du serveur ou, sur Cloudflare Workers, au démarrage de nouveaux isolats.
  • Sitemaps et robots.txt : les navigateurs et les caches partagés peuvent conserver les anciennes versions jusqu’à une heure (sitemaps) ou un jour (robots.txt).

L’ancienne adresse continue de servir le site jusqu’à ce que vous la supprimiez chez votre hébergeur. Pour rediriger les visiteurs de l’ancienne adresse vers la nouvelle, ajoutez une redirection chez votre hébergeur ou votre fournisseur DNS.

Se connecter après le déplacement

Une passkey ne fonctionne qu’à l’adresse où elle a été créée. Après le déplacement, les passkeys créées à l’ancienne adresse ne fonctionnent pas à la nouvelle. Transférez votre propre connexion vers la nouvelle adresse tant que vous êtes encore connecté à l’ancienne :

  1. Dans Settings > General, sélectionnez Continue on www.example.com sous Site URL. Le bouton apparaît lorsque vous êtes connecté à une adresse autre que la Site URL. Lorsque siteUrl est configurée, la comparaison se fait avec cette adresse.

  2. Sélectionnez Continue sur la page de connexion qui s’ouvre à la nouvelle adresse. Le lien ne fonctionne qu’une fois et expire après 5 minutes.

  3. Settings > Security s’ouvre avec le formulaire de passkey. Sélectionnez Register Passkey pour créer une passkey pour la nouvelle adresse.

Cela fonctionne sans e-mail. Les autres utilisateurs peuvent se connecter à la nouvelle adresse avec un magic link lorsque l’e-mail est configuré, puis y ajouter une passkey. D’ici là, ils continuent de se connecter à l’ancienne adresse tant qu’elle sert encore le site.

Prévenir les autres utilisateurs

Lorsque l’e-mail est configuré et que les utilisateurs se connectent avec des passkeys, les administrateurs peuvent indiquer à tous les autres utilisateurs où se connecter désormais :

  1. Dans Settings > General, sélectionnez Email users sous Site URL.

  2. Sélectionnez Send emails.

Chaque utilisateur dont le compte n’est pas désactivé, à l’exception de vous, reçoit un e-mail indiquant que le site a été déplacé vers la siteUrl configurée, ou vers la Site URL si aucune n’est définie, avec un bouton vers la page de connexion à cette adresse. L’e-mail ne connecte personne. Il explique que les passkeys de l’ancienne adresse ne fonctionnent pas à la nouvelle et que les utilisateurs se connectent d’abord avec un lien reçu par e-mail. Un message indique ensuite combien d’e-mails ont été envoyés et combien ont été rejetés par le fournisseur d’e-mail. Les e-mails peuvent être envoyés 3 fois par heure et par site.

Si la vérification échoue

La boîte de dialogue indique pourquoi la vérification a échoué :

  • www.example.com does not resolve to a public address : le domaine n’a pas encore d’enregistrement DNS public, ou il pointe vers un réseau privé. Terminez la configuration DNS et réessayez.
  • Could not reach https://www.example.com : la requête a expiré ou la connexion a échoué, par exemple parce que le certificat n’est pas encore prêt. Attendez quelques minutes et réessayez.
  • https://example.com redirects to https://www.example.com. Enter that address instead. : le domaine redirige. Saisissez l’adresse vers laquelle il redirige.
  • https://www.example.com does not serve this site yet : le domaine répond, mais pas avec ce site. Il pointe peut-être encore vers un hébergeur précédent, ou une page de connexion comme Cloudflare Access se trouve devant. Sur Cloudflare, ajoutez le domaine dans l’onglet Domains du Worker en tant que Custom Domain. Une route ne fonctionne pas pour la vérification : Cloudflare n’exécute pas de Worker pour les requêtes que le Worker envoie à sa propre route dans la même zone.

Utiliser une adresse sans vérification

Lorsque la vérification échoue, la boîte de dialogue propose Use … anyway. Cette option enregistre l’adresse sans la vérifier. Utilisez-la lorsque le site n’est pas accessible depuis Internet, par exemple en développement local à http://localhost:4321 ou sur un domaine de préproduction protégé par une connexion.

Les sitemaps et les métadonnées de recherche utilisent l’adresse enregistrée telle que saisie, y compris un chemin comme https://example.com/blog. Les e-mails et les plugins n’utilisent que son origine, et seulement lorsqu’elle utilise https:// ou que l’hôte est localhost, 127.0.0.1 ou [::1]. Sinon, ils continuent d’utiliser l’adresse avec laquelle le site a été configuré.

Vérifiez soigneusement l’adresse avant de la sélectionner. Rien ne confirme qu’elle atteint le site.