> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anymorph.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 도메인 연결하기

> 생성된 페이지가 우리 회사 도메인에서 게시되도록 도메인을 연결하는 방법

Anymorph가 만든 페이지는 어딘가에서 서비스돼야 합니다. 도메인을 연결하기 전까지는 Anymorph가 제공하는 미리보기 주소에 머물러 있고, 이 주소는 검토용일 뿐 우리 도메인의 신뢰도를 쌓아주지 않습니다. 도메인을 연결해야 페이지가 우리 도메인에서 게시되고, AI 엔진과 검색엔진이 우리 브랜드의 콘텐츠로 인식합니다.

<Note>
  페이지 **Publish**(게시)는 활성화된 커스텀 도메인이 있어야 동작합니다. 도메인이 없으면 게시 시 "No active custom domain configured" 안내가 나옵니다.
</Note>

<Frame>
  <img src="https://mintcdn.com/opactor/ueicEUgPZ5iGb5FG/images/settings/settings-domain-wizard.png?fit=max&auto=format&n=ueicEUgPZ5iGb5FG&q=85&s=d9d601872d090faf3d2be4adfa67c257" alt="도메인 연결 마법사에서 도메인 주소를 입력하는 화면" width="1600" height="1000" data-path="images/settings/settings-domain-wizard.png" />
</Frame>

***

## 세 가지 연결 방식 중 하나를 고르세요

| 방식                             | 페이지 주소                   | 무엇이 필요한가                         | 이런 경우에 적합                             |
| ------------------------------ | ------------------------ | -------------------------------- | ------------------------------------- |
| **Subpath Routing**(서브패스) — 권장 | `yourdomain.com/a/페이지이름` | DNS 변경 없음. 호스팅 플랫폼에 전달 규칙 한 줄    | 플랫폼이 rewrite를 지원할 때. 가장 빠르고 되돌리기 쉽습니다 |
| **Subdomain Routing**(서브도메인)   | `pages.yourdomain.com`   | CNAME 레코드 1개 + 인증서용 TXT 레코드 1개   | 루트 도메인은 건드리고 싶지 않을 때                  |
| **Domain Routing**(루트 도메인)     | `yourdomain.com/페이지이름`   | 같은 레코드 + CNAME 플래트닝을 지원하는 DNS 업체 | 루트 도메인에서 바로 서비스해야 할 때                 |

<Warning>
  루트 도메인(`example.com`)은 CNAME 플래트닝을 지원하는 DNS 업체에서만 연결됩니다. Anymorph는 네임서버를 보고 업체를 판별하며, **Cloudflare**와 **Namecheap**만 지원 업체로 인정합니다. Vercel DNS, Route 53, Google Domains, GoDaddy, Netlify DNS, Azure DNS, DigitalOcean을 쓰신다면 루트 대신 `pages.example.com` 같은 서브도메인을 쓰세요.
</Warning>

DNS는 도메인 주소를 어느 서버로 보낼지 정하는 주소록입니다. CNAME은 "이 주소는 저 주소를 따라가라"는 레코드이고, TXT는 소유 확인용 메모 레코드입니다.

### 누가 무엇을 하나요

| 단계                 | 마케터      | 개발자 / IT        |
| ------------------ | -------- | --------------- |
| 마법사 진행, 플랫폼·방식 선택  | 직접       | —               |
| CNAME·TXT 레코드 추가   | —        | DNS 업체에서 추가     |
| 서브패스 전달 규칙 반영      | 설정 문구 복사 | 사이트에 반영         |
| 인증서(SSL) 발급, 상태 확인 | —        | Anymorph가 자동 처리 |

***

## 연결 절차

<Steps>
  <Step title="도메인 입력">
    **Settings** → **Domain** → **Connect Domain** 카드의 *Enter your domain*에 주소를 입력합니다(예: `example.com`). 루트 도메인과 서브도메인 모두 됩니다. **Continue**를 누르면 Anymorph가 먼저 이 주소가 다른 곳으로 리다이렉트되는지 확인합니다. \*"This domain redirects"\*가 뜨면 **Use \[제안된 주소]** 버튼으로 제안을 받아들이세요. 리다이렉트되는 주소를 그대로 연결하면 설정이 깨집니다.
  </Step>

  <Step title="플랫폼과 방식 선택">
    \*What platform hosts your site?\*에서 사이트를 호스팅하는 플랫폼을 고릅니다(Vercel, Netlify, Cloudflare Pages, Cloudflare Workers, AWS CloudFront, GCP Cloud CDN, Azure CDN, Framer, Webflow, Wix, Shopify, Squarespace, Other / Self-hosted). 이어서 **Subpath Routing** / **Domain Routing** / **Subdomain Routing** 중 하나를 고릅니다. 플랫폼이 지원하면 서브패스에 **Recommended** 배지가 붙고, 지원하지 않으면 \*"Not supported by \[플랫폼]"\*으로 비활성화됩니다. 서브도메인을 고르면 **Subdomain prefix**(예: `pages`)를 입력합니다.
  </Step>

  <Step title="Origin URL 입력 (도메인·서브도메인 방식)">
    **Origin URL**은 지금 우리 사이트가 실제로 서비스되고 있는 주소입니다. Anymorph는 이 주소로 Anymorph 페이지가 아닌 요청을 그대로 넘겨줍니다. 비워 두면 요청이 자기 자신으로 계속 되돌아오는 무한 리다이렉트가 생깁니다. 플랫폼별 예시가 화면에 표시됩니다(Framer `your-site.framer.app`, Wix `username.wixsite.com/mysite`, Squarespace `your-site.squarespace.com`, Vercel `your-project.vercel.app`). Webflow와 Shopify는 Anymorph가 숨은 주소(`wf.yourdomain.com` / `sp.yourdomain.com`)를 대신 만들고, 그 주소를 먼저 연결하는 절차를 안내합니다.
  </Step>

  <Step title="DNS 레코드 추가 (도메인·서브도메인 방식)">
    **Add Domain**을 누르면 **Configure DNS Records** 표가 나옵니다. Type / Name / Value 세 열이고 각 칸에 복사 버튼이 있습니다. 이 표를 그대로 DNS를 관리하는 담당자에게 전달하세요.

    | Type                           | 의미                                      |
    | ------------------------------ | --------------------------------------- |
    | `CNAME` → `proxy.anymorph.app` | 이 도메인으로 온 요청을 Anymorph가 받도록 연결합니다       |
    | `TXT` (`_acme-challenge.…`)    | 도메인 소유를 확인해 보안 인증서(SSL)를 자동 발급받는 데 쓰입니다 |

    <Tip>Cloudflare를 쓰신다면 이 CNAME은 반드시 **DNS only**(회색 구름)로 두세요. 주황색 구름(Proxied) 상태면 연결이 완료되지 않습니다.</Tip>
  </Step>

  <Step title="서브패스 방식: 전달 규칙 반영 후 확인">
    서브패스를 고르면 **Configure Your Proxy** 화면에 우리 워크스페이스 전용 주소(`https://p-…anymorph.app`)와 **Route prefix**(기본 `a`), 플랫폼별 복사용 설정이 나옵니다. Vercel은 `vercel.json`의 rewrites, Netlify는 `netlify.toml`의 redirects, Cloudflare Pages는 `_redirects` 한 줄, Cloudflare Workers는 경로 전달 코드, AWS CloudFront는 `/a/*` 경로 패턴입니다. 개발자가 이 설정을 사이트에 반영한 뒤, Anymorph로 돌아와 **Verify Connection**을 누르세요.
  </Step>
</Steps>

**Verify Connection** 결과 문구:

* *"Connection verified successfully!"* — 완료. 도메인이 **Active**로 바뀝니다.
* *"Domain is already connected"* — 이미 연결돼 있습니다.
* *"Proxy returned \[코드]. Make sure your rewrite is configured correctly."* — 전달 규칙이 잘못됐습니다.
* *"Failed to connect: \[사유]. Make sure your rewrite is configured and deployed."* — 규칙이 아직 사이트에 반영되지 않았습니다.

***

## 얼마나 걸리나요

화면 안내는 보통 **5\~30분**입니다. Anymorph는 설정이 끝날 때까지 15초마다 도메인 상태를, 5초마다 CNAME 레코드를 스스로 다시 확인합니다. 다만 DNS가 전 세계에 퍼지는 시간은 Anymorph가 제어할 수 없는 부분이라, 기존 레코드의 유효 기간이 길었다면 하루까지 걸릴 수도 있습니다.

**상태 배지 읽는 법**

* **Active** — 연결 완료. 이제 페이지를 게시할 수 있습니다.
* **Pending** — 레코드를 기다리는 중입니다. *"Waiting for CNAME & SSL"*, *"SSL certificate will be issued automatically after CNAME propagation"*, *"SSL certificate issued! Waiting for CNAME propagation…"* 같은 문구가 함께 나옵니다.
* **Error** — 입력이나 레코드에 문제가 있습니다. 아래 문제 해결을 보세요.
* **SSL \[상태]** — 보안 인증서를 발급하는 중입니다. 따로 구매하거나 설치할 필요는 없습니다.
* **CNAME Routing** / **Subpath Routing** — 현재 연결 방식입니다.

<Frame>
  <img src="https://mintcdn.com/opactor/ueicEUgPZ5iGb5FG/images/settings/settings-domain.png?fit=max&auto=format&n=ueicEUgPZ5iGb5FG&q=85&s=686c81c5dafb5cd017be70cd225abaf1" alt="도메인이 연결된 상태와 상태 배지, 체크리스트가 보이는 Domain 화면" width="1600" height="1000" data-path="images/settings/settings-domain.png" />
</Frame>

<Note>
  **Shopify는 마지막 단계가 하나 더 있습니다.** 도메인이 **Active**가 된 뒤 카드에 \*\*Complete Setup (Zero-Downtime Cutover)\*\*가 나타납니다. 초기 설정 중에는 *"Do not set as primary domain yet!"* 경고가 표시되니, 반드시 **Active**를 확인한 뒤에 Shopify에서 기본 도메인을 전환하세요.
</Note>

***

## 문제 해결

<AccordionGroup>
  <Accordion title="&#x22;This domain redirects&#x22;가 나옵니다">
    입력한 주소가 다른 주소로 넘어가고 있습니다. 화면에 표시된 **Use \[제안된 주소]** 버튼을 눌러 최종 주소로 연결하세요. 리다이렉트되는 주소를 그대로 연결하면 설정이 완성되지 않습니다.
  </Accordion>

  <Accordion title="&#x22;Couldn't connect domain&#x22; 토스트가 뜹니다">
    주소 형식이 거부된 경우입니다(`Invalid domain format`, `Invalid hostname format`, `hostname is required`). `https://`나 경로, 공백 없이 도메인 이름만 입력했는지 확인하세요.
  </Accordion>

  <Accordion title="&#x22;CNAME record not found yet. Please wait for DNS propagation.&#x22;">
    레코드가 아직 조회되지 않습니다. DNS 업체에서 Name과 Value가 표와 정확히 같은지 확인하고, Cloudflare라면 회색 구름(DNS only)인지 보세요. 맞다면 몇 분 더 기다린 뒤 **Refresh** 또는 **Check**를 누르면 됩니다.
  </Accordion>

  <Accordion title="Pending에서 SSL 배지가 계속 남아 있습니다">
    `_acme-challenge`로 시작하는 TXT 레코드가 아직 조회되지 않은 것입니다. 레코드 이름까지 표에 나온 그대로 입력됐는지 확인하세요. 조회되는 순간 인증서는 자동으로 발급됩니다.
  </Accordion>

  <Accordion title="루트 도메인이 CNAME을 받아주지 않습니다">
    루트 도메인에 CNAME을 두려면 DNS 업체가 CNAME 플래트닝을 지원해야 합니다(Cloudflare, Namecheap). 지원하지 않는다면 `pages.example.com` 같은 서브도메인으로 연결하세요.
  </Accordion>

  <Accordion title="연결 후 Anymorph가 만들지 않은 페이지가 404가 납니다">
    **Origin URL**이 잘못됐습니다. 지금 사이트가 실제로 서비스되는 주소여야 합니다. Webflow는 `cdn.webflow.com`을 Origin으로 두면 안 되고, 마법사가 안내한 숨은 주소를 사용해야 합니다.
  </Accordion>

  <Accordion title="&#x22;Proxy returned [코드]&#x22; — 서브패스 확인이 실패합니다">
    전달 규칙이 아직 사이트에 반영되지 않았거나 경로가 다릅니다. 개발자에게 `https://우리도메인.com/[prefix]/__check__` 주소를 직접 열어 보게 하세요. 이 주소가 Anymorph에 닿아야 **Verify Connection**이 성공합니다.
  </Accordion>

  <Accordion title="도메인을 떼고 싶습니다">
    도메인 행의 케밥 메뉴 → **Remove domain** → \*"Remove this domain?"\*에서 **Remove**를 누릅니다. *"Domain disconnected"* 토스트가 뜨며, 나중에 다시 연결할 수 있습니다.
  </Accordion>
</AccordionGroup>

***

## 활성화 후 체크리스트

도메인이 **Active**가 되면 카드 아래에 **Checklist**(문제가 있으면 **Action Required**)가 나타납니다. 서브패스 방식일 때 특히 중요합니다. 해당 파일들이 Anymorph가 아니라 우리 사이트에 있기 때문입니다.

* **robots.txt exists** — 검색·AI 크롤러에게 접근 규칙을 알려주는 파일입니다. 복사용 내용이 함께 제공됩니다.
* **Sitemap URL added to robots.txt** — 생성된 페이지 목록의 위치를 알려주는 한 줄입니다.
* **IndexNow instant indexing** — Bing 등에 새 페이지를 즉시 알리는 기능입니다. 키를 입력하거나 **Generate**로 만들고 저장합니다.
* **Google Search Console connected** — **GSC Integrations** 링크로 이동해 연결합니다. 자세한 절차는 [Search Console과 색인](/ko/guides/search-console-indexing)에 있습니다.

모두 통과하면 \*"All done! You're ready to publish pages."\*가 표시됩니다. CNAME·서브도메인 방식에서는 robots.txt, 사이트맵, IndexNow를 Anymorph가 알아서 처리하므로 이 항목들은 나타나지 않습니다.

<Tip>
  생성된 페이지는 Anymorph가 서비스하기 때문에 우리 사이트의 기존 추적 태그가 자동으로 붙지 않습니다. [Custom scripts](/ko/settings/custom-scripts)에서 GA4 측정 ID나 GTM 컨테이너 ID를 넣어 두세요.
</Tip>

***

## 함께 보면 좋은 페이지

<CardGroup cols={2}>
  <Card title="Domain 설정" icon="globe" href="/ko/settings/domain">
    도메인 화면의 모든 항목과 상태를 자세히 설명합니다.
  </Card>

  <Card title="Search Console과 색인" icon="magnifying-glass" href="/ko/guides/search-console-indexing">
    연결 후 페이지를 구글에 색인시키는 방법입니다.
  </Card>

  <Card title="On-site" icon="file-lines" href="/ko/dashboard/on-site">
    도메인이 연결되면 여기서 페이지를 게시합니다.
  </Card>

  <Card title="Custom scripts" icon="code" href="/ko/settings/custom-scripts">
    생성된 페이지에 추적 태그를 넣습니다.
  </Card>
</CardGroup>
