새 도메인으로 이전하기

이 페이지

Settings > General의 Site URL은 사이트의 공개 주소입니다. 이메일과 플러그인의 링크, 사이트맵, robots.txt, hreflang 링크, 소셜 이미지 URL, SEO 패널에서 설정한 canonical 링크가 이 값을 사용합니다. Change domain 대화상자로 변경하세요. 대화상자는 전환하기 전에 새 도메인이 사이트를 제공하는지 확인합니다.

도메인은 관리자만 변경할 수 있습니다.

시작하기 전에

먼저 새 도메인이 사이트를 가리키도록 설정하세요. EmDash는 전환하는 동안 도메인을 확인하므로, 해당 도메인이 이미 https://로 사이트를 제공하고 있어야 합니다.

  • Cloudflare Workers: Cloudflare 대시보드의 Workers & Pages에서 Worker를 열고 Domains 탭으로 이동해 도메인을 추가하세요. Wrangler 설정은 커스텀 도메인을 참고하세요.
  • Node.js 및 기타 호스트: 도메인의 DNS 레코드와 인증서를 만들고, 현재 주소를 제공하는 서버와 같은 서버로 연결하세요.

브라우저에서 https://<새 도메인>/_emdash/admin을 여세요. EmDash 로그인 페이지가 보이면 도메인이 준비된 것입니다.

사이트가 siteUrl, EMDASH_SITE_URL, 또는 SITE_URL을 설정한 경우, 이메일과 플러그인의 링크는 Site URL 대신 해당 주소를 사용하며 Settings > General에도 그 사실이 표시됩니다. 해당 링크도 옮기려면 설정을 변경하고 다시 배포하세요.

도메인 변경하기

  1. Settings > General을 열고 Site URL 옆의 Change domain을 선택합니다.

  2. 새 도메인을 입력합니다. 예: www.example.com. https://www.example.com 같은 전체 오리진도 사용할 수 있습니다. 경로와 포트는 허용되지 않습니다.

  3. Check and switch를 선택합니다.

    EmDash가 https://www.example.com/_emdash/api/site/domain-proof에 일회용 코드를 요청합니다. 코드가 일치하면 https://www.example.com을 Site URL로 저장하고 대화상자를 닫습니다.

Settings > General에서 저장하지 않은 변경 사항은 전환 후에도 폼에 남아 있습니다. 평소처럼 저장하세요.

새 주소가 적용되는 시점

  • 이메일: 로그인, 초대, 직접 가입, 복구, 댓글 알림 이메일은 즉시 새 주소로 연결됩니다.
  • 플러그인: ctx.site.url은 서버를 재시작한 후, 또는 Cloudflare Workers에서는 새 isolate가 시작될 때 바뀝니다.
  • 사이트맵과 robots.txt: 브라우저와 공유 캐시는 이전 버전을 최대 1시간(사이트맵) 또는 1일(robots.txt) 동안 유지할 수 있습니다.

이전 주소는 호스트에서 제거할 때까지 계속 사이트를 제공합니다. 이전 주소의 방문자를 새 주소로 보내려면 호스트 또는 DNS 제공업체에서 리디렉션을 추가하세요.

이전 후 로그인하기

패스키는 만들어진 주소에서만 작동합니다. 이전 후에는 이전 주소에서 만든 패스키가 새 주소에서 작동하지 않습니다. 아직 이전 주소에 로그인되어 있을 때 본인의 로그인을 새 주소로 옮기세요.

  1. Settings > General에서 Site URL 아래의 **Continue on www.example.com**을 선택합니다. 이 버튼은 Site URL이 아닌 다른 주소에 로그인해 있을 때 나타납니다. siteUrl이 설정되어 있으면 해당 주소와 비교합니다.

  2. 새 주소에서 열리는 로그인 페이지에서 Continue를 선택합니다. 이 링크는 한 번만 작동하며 5분 후에 만료됩니다.

  3. 패스키 폼과 함께 Settings > Security가 열립니다. Register Passkey를 선택해 새 주소용 패스키를 만드세요.

이 과정은 이메일 없이도 작동합니다. 다른 사용자는 이메일이 설정되어 있으면 새 주소에서 매직 링크로 로그인한 뒤, 거기서 패스키를 추가할 수 있습니다. 그때까지는 이전 주소가 여전히 사이트를 제공하는 동안 이전 주소에서 계속 로그인합니다.

다른 사용자에게 알리기

이메일이 설정되어 있고 사용자가 패스키로 로그인하는 경우, 관리자는 다른 모든 사용자에게 이제 어디에서 로그인해야 하는지 알릴 수 있습니다.

  1. Settings > General에서 Site URL 아래의 Email users를 선택합니다.

  2. Send emails를 선택합니다.

계정이 비활성화되지 않은 모든 사용자(본인 제외)는 사이트가 설정된 siteUrl(설정된 값이 없으면 Site URL)로 이전했다는 이메일을 받으며, 이메일에는 해당 주소의 로그인 페이지로 가는 버튼이 포함됩니다. 이 이메일은 누구도 로그인시키지 않습니다. 이전 주소의 패스키는 새 주소에서 작동하지 않으며, 사용자는 먼저 이메일 링크로 로그인한다고 안내합니다. 이후 메시지에 발송된 이메일 수와 이메일 제공업체가 거부한 수가 표시됩니다. 이메일은 사이트당 시간당 3번 보낼 수 있습니다.

확인에 실패하는 경우

대화상자에 확인에 실패한 이유가 표시됩니다.

  • www.example.com does not resolve to a public address: 도메인에 아직 공개 DNS 레코드가 없거나 사설 네트워크를 가리킵니다. DNS 설정을 마친 뒤 다시 시도하세요.
  • Could not reach https://www.example.com: 요청이 시간 초과되었거나 연결에 실패했습니다. 예를 들어 인증서가 아직 준비되지 않았을 수 있습니다. 몇 분 기다린 뒤 다시 시도하세요.
  • https://example.com redirects to https://www.example.com. Enter that address instead.: 도메인이 리디렉션됩니다. 리디렉션되는 주소를 입력하세요.
  • https://www.example.com does not serve this site yet: 도메인이 응답하지만 이 사이트가 아닙니다. 아직 이전 호스트를 가리키고 있거나, 앞단에 Cloudflare Access 같은 로그인 페이지가 있을 수 있습니다. Cloudflare에서는 Worker의 Domains 탭에서 도메인을 Custom Domain으로 추가하세요. 확인에는 라우트를 사용할 수 없습니다. Cloudflare는 Worker가 같은 존의 자신의 라우트로 보내는 요청에 대해서는 Worker를 실행하지 않습니다.

확인 없이 주소 사용하기

확인에 실패하면 대화상자에 Use … anyway가 표시됩니다. 이 버튼은 주소를 확인하지 않고 저장합니다. http://localhost:4321에서의 로컬 개발이나 로그인 뒤에 있는 스테이징 도메인처럼, 인터넷에서 사이트에 접근할 수 없을 때 사용하세요.

사이트맵과 검색 메타데이터는 저장된 주소를 입력한 그대로 사용하며, https://example.com/blog 같은 경로도 포함됩니다. 이메일과 플러그인은 오리진만 사용하며, 그것도 https://를 사용하거나 호스트가 localhost, 127.0.0.1, [::1]일 때만 사용합니다. 그렇지 않으면 사이트를 설정했던 주소를 계속 사용합니다.

선택하기 전에 주소를 꼼꼼히 확인하세요. 그 주소가 사이트에 연결되는지 확인해 주는 것은 없습니다.